diff --git a/README.md b/README.md index acfd000..2d656b1 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.35.0 +- Package version: 4.36.0 - Generator version: 7.9.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen @@ -137,9 +137,16 @@ Class | Method | HTTP request | Description *EXTERNALApi* | [**get_hardware_presets_hardware_instances_presets_get**](docs/EXTERNALApi.md#get_hardware_presets_hardware_instances_presets_get) | **GET** /hardware-instances/presets | Get Hardware Presets *EXTERNALApi* | [**get_inference_deployment_deployments_inference_deployment_id_get**](docs/EXTERNALApi.md#get_inference_deployment_deployments_inference_deployment_id_get) | **GET** /deployments/inference/{deployment_id} | Get Inference Deployment *EXTERNALApi* | [**get_inference_v3_deployment_deployments_inference_v3_deployment_id_get**](docs/EXTERNALApi.md#get_inference_v3_deployment_deployments_inference_v3_deployment_id_get) | **GET** /deployments/inference_v3/{deployment_id} | Get Inference V3 Deployment +*EXTERNALApi* | [**get_insight_insights_insight_id_get**](docs/EXTERNALApi.md#get_insight_insights_insight_id_get) | **GET** /insights/{insight_id} | Get Insight *EXTERNALApi* | [**get_job_deployment_deployments_job_deployment_id_get**](docs/EXTERNALApi.md#get_job_deployment_deployments_job_deployment_id_get) | **GET** /deployments/job/{deployment_id} | Get Job Deployment *EXTERNALApi* | [**get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get**](docs/EXTERNALApi.md#get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get) | **GET** /clusters/{cluster_id}/organizations/{organization_id}/gpu-quota | Get Org Gpu Quota On Cluster *EXTERNALApi* | [**get_prebuilt_images_prebuilt_images_get**](docs/EXTERNALApi.md#get_prebuilt_images_prebuilt_images_get) | **GET** /prebuilt-images | Get Prebuilt Images +*EXTERNALApi* | [**get_unified_deployment_deployments_deployment_id_get**](docs/EXTERNALApi.md#get_unified_deployment_deployments_deployment_id_get) | **GET** /deployments/{deployment_id} | Get Unified Deployment +*EXTERNALApi* | [**get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get**](docs/EXTERNALApi.md#get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number}/logs | Get Unified Deployment Logs +*EXTERNALApi* | [**get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get**](docs/EXTERNALApi.md#get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number}/pods | Get Unified Deployment Pods +*EXTERNALApi* | [**get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get**](docs/EXTERNALApi.md#get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number} | Get Unified Deployment Revision +*EXTERNALApi* | [**get_unified_deployment_rollout_deployments_deployment_id_rollout_get**](docs/EXTERNALApi.md#get_unified_deployment_rollout_deployments_deployment_id_rollout_get) | **GET** /deployments/{deployment_id}/rollout | Get Unified Deployment Rollout +*EXTERNALApi* | [**get_unified_deployment_usage_deployments_deployment_id_usage_get**](docs/EXTERNALApi.md#get_unified_deployment_usage_deployments_deployment_id_usage_get) | **GET** /deployments/{deployment_id}/usage | Get Unified Deployment Usage *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_user_vault_item_by_id_endpoint_user_vault_secret_id_get**](docs/EXTERNALApi.md#get_user_vault_item_by_id_endpoint_user_vault_secret_id_get) | **GET** /user_vault/{secret_id} | Get User Vault Item By Id Endpoint @@ -148,9 +155,12 @@ Class | Method | HTTP request | Description *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_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get**](docs/EXTERNALApi.md#list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get) | **GET** /clusters/{cluster_id}/gpu-quota/organizations | List Cluster Org Gpu Quotas +*EXTERNALApi* | [**list_insights_insights_get**](docs/EXTERNALApi.md#list_insights_insights_get) | **GET** /insights | List Insights *EXTERNALApi* | [**list_service_accounts_service_accounts_get**](docs/EXTERNALApi.md#list_service_accounts_service_accounts_get) | **GET** /service-accounts | List Service Accounts +*EXTERNALApi* | [**list_unified_deployment_revisions_deployments_deployment_id_revisions_get**](docs/EXTERNALApi.md#list_unified_deployment_revisions_deployments_deployment_id_revisions_get) | **GET** /deployments/{deployment_id}/revisions | List Unified Deployment Revisions *EXTERNALApi* | [**put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put**](docs/EXTERNALApi.md#put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put) | **PUT** /clusters/{cluster_id}/organizations/{organization_id}/gpu-quota | Put Org Gpu Quota On Cluster *EXTERNALApi* | [**rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put**](docs/EXTERNALApi.md#rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put) | **PUT** /deployments/revisions/{deployment_id}/{revision_number} | Rollout Existing Revision +*EXTERNALApi* | [**rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put**](docs/EXTERNALApi.md#rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put) | **PUT** /deployments/{deployment_id}/revisions/{revision_number} | Rollout Unified Deployment Revision *EXTERNALApi* | [**setup_stripe_customer_payments_setup_post**](docs/EXTERNALApi.md#setup_stripe_customer_payments_setup_post) | **POST** /payments/setup | Setup Stripe Customer *EXTERNALApi* | [**update_cluster_clusters_cluster_id_put**](docs/EXTERNALApi.md#update_cluster_clusters_cluster_id_put) | **PUT** /clusters/{cluster_id} | Update Cluster *EXTERNALApi* | [**update_cluster_metadata_clusters_cluster_id_metadata_put**](docs/EXTERNALApi.md#update_cluster_metadata_clusters_cluster_id_metadata_put) | **PUT** /clusters/{cluster_id}/metadata | Update Cluster Metadata @@ -162,8 +172,10 @@ Class | Method | HTTP request | Description *EXTERNALApi* | [**update_dynamo_deployment_deployments_dynamo_put**](docs/EXTERNALApi.md#update_dynamo_deployment_deployments_dynamo_put) | **PUT** /deployments/dynamo | Update Dynamo Deployment *EXTERNALApi* | [**update_inference_deployment_deployments_inference_put**](docs/EXTERNALApi.md#update_inference_deployment_deployments_inference_put) | **PUT** /deployments/inference | Update Inference Deployment *EXTERNALApi* | [**update_inference_v3_deployment_deployments_inference_v3_put**](docs/EXTERNALApi.md#update_inference_v3_deployment_deployments_inference_v3_put) | **PUT** /deployments/inference_v3 | Update Inference V3 Deployment +*EXTERNALApi* | [**update_insight_status_insights_insight_id_status_patch**](docs/EXTERNALApi.md#update_insight_status_insights_insight_id_status_patch) | **PATCH** /insights/{insight_id}/status | Update Insight Status *EXTERNALApi* | [**update_service_account_service_accounts_workos_id_put**](docs/EXTERNALApi.md#update_service_account_service_accounts_workos_id_put) | **PUT** /service-accounts/{workos_id} | Update Service Account *EXTERNALApi* | [**update_unified_deployment_deployments_deployment_id_put**](docs/EXTERNALApi.md#update_unified_deployment_deployments_deployment_id_put) | **PUT** /deployments/{deployment_id} | Update Unified Deployment +*EXTERNALApi* | [**update_unified_deployment_rollout_deployments_deployment_id_rollout_put**](docs/EXTERNALApi.md#update_unified_deployment_rollout_deployments_deployment_id_rollout_put) | **PUT** /deployments/{deployment_id}/rollout | Update Unified Deployment Rollout *EXTERNALApi* | [**update_unified_deployment_status_deployments_deployment_id_status_put**](docs/EXTERNALApi.md#update_unified_deployment_status_deployments_deployment_id_status_put) | **PUT** /deployments/{deployment_id}/status | Update Unified Deployment Status *EXTERNALApi* | [**update_user_vault_item_endpoint_user_vault_put**](docs/EXTERNALApi.md#update_user_vault_item_endpoint_user_vault_put) | **PUT** /user_vault | Update User Vault Item Endpoint @@ -173,6 +185,8 @@ Class | Method | HTTP request | Description - [ArgoRollouts](docs/ArgoRollouts.md) - [BackendProtocol](docs/BackendProtocol.md) - [CServeV2Recipe](docs/CServeV2Recipe.md) + - [CclDynamoPools](docs/CclDynamoPools.md) + - [CclMainPools](docs/CclMainPools.md) - [CertManager](docs/CertManager.md) - [CloudProvider](docs/CloudProvider.md) - [ClusterCapacityResponse](docs/ClusterCapacityResponse.md) @@ -216,11 +230,13 @@ Class | Method | HTTP request | Description - [DeploymentUsageValue](docs/DeploymentUsageValue.md) - [DynamoCommunicationsInput](docs/DynamoCommunicationsInput.md) - [DynamoCommunicationsOutput](docs/DynamoCommunicationsOutput.md) + - [DynamoImage](docs/DynamoImage.md) - [DynamoKvTransferConfiguration](docs/DynamoKvTransferConfiguration.md) - [DynamoKvTransferPolicy](docs/DynamoKvTransferPolicy.md) - [DynamoServingMode](docs/DynamoServingMode.md) - [DynamoWorkerPoolConfig](docs/DynamoWorkerPoolConfig.md) - [DynamoWorkerPools](docs/DynamoWorkerPools.md) + - [Env](docs/Env.md) - [ExternalDns](docs/ExternalDns.md) - [FinalStack](docs/FinalStack.md) - [FluentBit](docs/FluentBit.md) @@ -247,8 +263,17 @@ Class | Method | HTTP request | Description - [HTTPValidationError](docs/HTTPValidationError.md) - [HardwareInstanceResponse](docs/HardwareInstanceResponse.md) - [HardwarePresetResponse](docs/HardwarePresetResponse.md) + - [Image](docs/Image.md) - [ImagePullSecretCredentials](docs/ImagePullSecretCredentials.md) + - [Ingress](docs/Ingress.md) - [IngressNginx](docs/IngressNginx.md) + - [InsightListItemResponse](docs/InsightListItemResponse.md) + - [InsightResource](docs/InsightResource.md) + - [InsightResourceType](docs/InsightResourceType.md) + - [InsightResponse](docs/InsightResponse.md) + - [InsightSeverity](docs/InsightSeverity.md) + - [InsightStatus](docs/InsightStatus.md) + - [InsightStatusChangeResponse](docs/InsightStatusChangeResponse.md) - [InviteUserRequest](docs/InviteUserRequest.md) - [Istio](docs/Istio.md) - [IstioCniOverrides](docs/IstioCniOverrides.md) @@ -263,6 +288,7 @@ Class | Method | HTTP request | Description - [ListGetDeploymentResponse](docs/ListGetDeploymentResponse.md) - [ListHardwareInstanceResponse](docs/ListHardwareInstanceResponse.md) - [ListHardwarePresetResponse](docs/ListHardwarePresetResponse.md) + - [ListInsightsResponse](docs/ListInsightsResponse.md) - [ListOrganizationGpuQuotaResponse](docs/ListOrganizationGpuQuotaResponse.md) - [ListPrebuiltImageResponse](docs/ListPrebuiltImageResponse.md) - [ListServiceAccountsResponse](docs/ListServiceAccountsResponse.md) @@ -279,6 +305,7 @@ Class | Method | HTTP request | Description - [OrganizationGpuQuotaResponse](docs/OrganizationGpuQuotaResponse.md) - [PodDetails](docs/PodDetails.md) - [PodStatus](docs/PodStatus.md) + - [Pool](docs/Pool.md) - [PrebuiltImageResponse](docs/PrebuiltImageResponse.md) - [PrometheusAdapter](docs/PrometheusAdapter.md) - [RevisionPodDetails](docs/RevisionPodDetails.md) @@ -289,6 +316,18 @@ Class | Method | HTTP request | Description - [Spire](docs/Spire.md) - [SpireCrds](docs/SpireCrds.md) - [TeleportKubeAgent](docs/TeleportKubeAgent.md) + - [UnifiedGetComputeDeploymentResponse](docs/UnifiedGetComputeDeploymentResponse.md) + - [UnifiedGetDeploymentLogsResponse](docs/UnifiedGetDeploymentLogsResponse.md) + - [UnifiedGetDeploymentPodsResponse](docs/UnifiedGetDeploymentPodsResponse.md) + - [UnifiedGetDeploymentResponse](docs/UnifiedGetDeploymentResponse.md) + - [UnifiedGetDeploymentRevisionResponse](docs/UnifiedGetDeploymentRevisionResponse.md) + - [UnifiedGetDeploymentRolloutResponse](docs/UnifiedGetDeploymentRolloutResponse.md) + - [UnifiedGetDeploymentUsageResponse](docs/UnifiedGetDeploymentUsageResponse.md) + - [UnifiedGetDynamoDeploymentResponse](docs/UnifiedGetDynamoDeploymentResponse.md) + - [UnifiedGetInferenceV3DeploymentResponse](docs/UnifiedGetInferenceV3DeploymentResponse.md) + - [UnifiedGetJobDeploymentResponse](docs/UnifiedGetJobDeploymentResponse.md) + - [UnifiedListDeploymentRevisionsResponse](docs/UnifiedListDeploymentRevisionsResponse.md) + - [UnifiedUpdateDeploymentRolloutRequest](docs/UnifiedUpdateDeploymentRolloutRequest.md) - [UnifiedWriteComputeDeploymentRequest](docs/UnifiedWriteComputeDeploymentRequest.md) - [UnifiedWriteDeploymentRequest](docs/UnifiedWriteDeploymentRequest.md) - [UnifiedWriteDeploymentResponse](docs/UnifiedWriteDeploymentResponse.md) @@ -298,6 +337,7 @@ Class | Method | HTTP request | Description - [UpdateClusterMetadataRequest](docs/UpdateClusterMetadataRequest.md) - [UpdateDeploymentResponse](docs/UpdateDeploymentResponse.md) - [UpdateDeploymentStatusV3Request](docs/UpdateDeploymentStatusV3Request.md) + - [UpdateInsightStatusRequest](docs/UpdateInsightStatusRequest.md) - [UpdateServiceAccountRequest](docs/UpdateServiceAccountRequest.md) - [UpsertUserVaultItemRequest](docs/UpsertUserVaultItemRequest.md) - [UsageAvailability](docs/UsageAvailability.md) diff --git a/docs/CclDynamoPools.md b/docs/CclDynamoPools.md new file mode 100644 index 0000000..412f96d --- /dev/null +++ b/docs/CclDynamoPools.md @@ -0,0 +1,32 @@ +# CclDynamoPools + +Hardware and scaling per worker role. Aggregated mode uses exactly `worker`; disaggregated mode uses exactly `prefill` and `decode`. Unused roles are null. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**worker** | [**Pool**](Pool.md) | | [optional] +**prefill** | [**Pool**](Pool.md) | | [optional] +**decode** | [**Pool**](Pool.md) | | [optional] + +## Example + +```python +from platform_api_python_client.models.ccl_dynamo_pools import CclDynamoPools + +# TODO update the JSON string below +json = "{}" +# create an instance of CclDynamoPools from a JSON string +ccl_dynamo_pools_instance = CclDynamoPools.from_json(json) +# print the JSON string representation of the object +print(CclDynamoPools.to_json()) + +# convert the object into a dict +ccl_dynamo_pools_dict = ccl_dynamo_pools_instance.to_dict() +# create an instance of CclDynamoPools from a dict +ccl_dynamo_pools_from_dict = CclDynamoPools.from_dict(ccl_dynamo_pools_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/CclMainPools.md b/docs/CclMainPools.md new file mode 100644 index 0000000..5564c0c --- /dev/null +++ b/docs/CclMainPools.md @@ -0,0 +1,29 @@ +# CclMainPools + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**main** | [**Pool**](Pool.md) | | + +## Example + +```python +from platform_api_python_client.models.ccl_main_pools import CclMainPools + +# TODO update the JSON string below +json = "{}" +# create an instance of CclMainPools from a JSON string +ccl_main_pools_instance = CclMainPools.from_json(json) +# print the JSON string representation of the object +print(CclMainPools.to_json()) + +# convert the object into a dict +ccl_main_pools_dict = ccl_main_pools_instance.to_dict() +# create an instance of CclMainPools from a dict +ccl_main_pools_from_dict = CclMainPools.from_dict(ccl_main_pools_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/DynamoImage.md b/docs/DynamoImage.md new file mode 100644 index 0000000..3171e7e --- /dev/null +++ b/docs/DynamoImage.md @@ -0,0 +1,30 @@ +# DynamoImage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**runtime_version** | **str** | Dynamo runtime image tag (for example 1.4.0). Defaults to the platform's current release; GET /prebuilt-images?type=dynamo lists the versions the platform has validated, but any tag may be requested. require_gpu_direct_rdma needs an EFA-capable image. Changing it restarts every component of a running deployment. | [optional] +**pull_ref** | **int** | | [optional] + +## Example + +```python +from platform_api_python_client.models.dynamo_image import DynamoImage + +# TODO update the JSON string below +json = "{}" +# create an instance of DynamoImage from a JSON string +dynamo_image_instance = DynamoImage.from_json(json) +# print the JSON string representation of the object +print(DynamoImage.to_json()) + +# convert the object into a dict +dynamo_image_dict = dynamo_image_instance.to_dict() +# create an instance of DynamoImage from a dict +dynamo_image_from_dict = DynamoImage.from_dict(dynamo_image_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 848965e..2780840 100644 --- a/docs/EXTERNALApi.md +++ b/docs/EXTERNALApi.md @@ -47,9 +47,16 @@ Method | HTTP request | Description [**get_hardware_presets_hardware_instances_presets_get**](EXTERNALApi.md#get_hardware_presets_hardware_instances_presets_get) | **GET** /hardware-instances/presets | Get Hardware Presets [**get_inference_deployment_deployments_inference_deployment_id_get**](EXTERNALApi.md#get_inference_deployment_deployments_inference_deployment_id_get) | **GET** /deployments/inference/{deployment_id} | Get Inference Deployment [**get_inference_v3_deployment_deployments_inference_v3_deployment_id_get**](EXTERNALApi.md#get_inference_v3_deployment_deployments_inference_v3_deployment_id_get) | **GET** /deployments/inference_v3/{deployment_id} | Get Inference V3 Deployment +[**get_insight_insights_insight_id_get**](EXTERNALApi.md#get_insight_insights_insight_id_get) | **GET** /insights/{insight_id} | Get Insight [**get_job_deployment_deployments_job_deployment_id_get**](EXTERNALApi.md#get_job_deployment_deployments_job_deployment_id_get) | **GET** /deployments/job/{deployment_id} | Get Job Deployment [**get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get**](EXTERNALApi.md#get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get) | **GET** /clusters/{cluster_id}/organizations/{organization_id}/gpu-quota | Get Org Gpu Quota On Cluster [**get_prebuilt_images_prebuilt_images_get**](EXTERNALApi.md#get_prebuilt_images_prebuilt_images_get) | **GET** /prebuilt-images | Get Prebuilt Images +[**get_unified_deployment_deployments_deployment_id_get**](EXTERNALApi.md#get_unified_deployment_deployments_deployment_id_get) | **GET** /deployments/{deployment_id} | Get Unified Deployment +[**get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get**](EXTERNALApi.md#get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number}/logs | Get Unified Deployment Logs +[**get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get**](EXTERNALApi.md#get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number}/pods | Get Unified Deployment Pods +[**get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get**](EXTERNALApi.md#get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get) | **GET** /deployments/{deployment_id}/revisions/{revision_number} | Get Unified Deployment Revision +[**get_unified_deployment_rollout_deployments_deployment_id_rollout_get**](EXTERNALApi.md#get_unified_deployment_rollout_deployments_deployment_id_rollout_get) | **GET** /deployments/{deployment_id}/rollout | Get Unified Deployment Rollout +[**get_unified_deployment_usage_deployments_deployment_id_usage_get**](EXTERNALApi.md#get_unified_deployment_usage_deployments_deployment_id_usage_get) | **GET** /deployments/{deployment_id}/usage | Get Unified Deployment Usage [**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_user_vault_item_by_id_endpoint_user_vault_secret_id_get**](EXTERNALApi.md#get_user_vault_item_by_id_endpoint_user_vault_secret_id_get) | **GET** /user_vault/{secret_id} | Get User Vault Item By Id Endpoint @@ -58,9 +65,12 @@ Method | HTTP request | Description [**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_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get**](EXTERNALApi.md#list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get) | **GET** /clusters/{cluster_id}/gpu-quota/organizations | List Cluster Org Gpu Quotas +[**list_insights_insights_get**](EXTERNALApi.md#list_insights_insights_get) | **GET** /insights | List Insights [**list_service_accounts_service_accounts_get**](EXTERNALApi.md#list_service_accounts_service_accounts_get) | **GET** /service-accounts | List Service Accounts +[**list_unified_deployment_revisions_deployments_deployment_id_revisions_get**](EXTERNALApi.md#list_unified_deployment_revisions_deployments_deployment_id_revisions_get) | **GET** /deployments/{deployment_id}/revisions | List Unified Deployment Revisions [**put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put**](EXTERNALApi.md#put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put) | **PUT** /clusters/{cluster_id}/organizations/{organization_id}/gpu-quota | Put Org Gpu Quota On Cluster [**rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put**](EXTERNALApi.md#rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put) | **PUT** /deployments/revisions/{deployment_id}/{revision_number} | Rollout Existing Revision +[**rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put**](EXTERNALApi.md#rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put) | **PUT** /deployments/{deployment_id}/revisions/{revision_number} | Rollout Unified Deployment Revision [**setup_stripe_customer_payments_setup_post**](EXTERNALApi.md#setup_stripe_customer_payments_setup_post) | **POST** /payments/setup | Setup Stripe Customer [**update_cluster_clusters_cluster_id_put**](EXTERNALApi.md#update_cluster_clusters_cluster_id_put) | **PUT** /clusters/{cluster_id} | Update Cluster [**update_cluster_metadata_clusters_cluster_id_metadata_put**](EXTERNALApi.md#update_cluster_metadata_clusters_cluster_id_metadata_put) | **PUT** /clusters/{cluster_id}/metadata | Update Cluster Metadata @@ -72,8 +82,10 @@ Method | HTTP request | Description [**update_dynamo_deployment_deployments_dynamo_put**](EXTERNALApi.md#update_dynamo_deployment_deployments_dynamo_put) | **PUT** /deployments/dynamo | Update Dynamo Deployment [**update_inference_deployment_deployments_inference_put**](EXTERNALApi.md#update_inference_deployment_deployments_inference_put) | **PUT** /deployments/inference | Update Inference Deployment [**update_inference_v3_deployment_deployments_inference_v3_put**](EXTERNALApi.md#update_inference_v3_deployment_deployments_inference_v3_put) | **PUT** /deployments/inference_v3 | Update Inference V3 Deployment +[**update_insight_status_insights_insight_id_status_patch**](EXTERNALApi.md#update_insight_status_insights_insight_id_status_patch) | **PATCH** /insights/{insight_id}/status | Update Insight Status [**update_service_account_service_accounts_workos_id_put**](EXTERNALApi.md#update_service_account_service_accounts_workos_id_put) | **PUT** /service-accounts/{workos_id} | Update Service Account [**update_unified_deployment_deployments_deployment_id_put**](EXTERNALApi.md#update_unified_deployment_deployments_deployment_id_put) | **PUT** /deployments/{deployment_id} | Update Unified Deployment +[**update_unified_deployment_rollout_deployments_deployment_id_rollout_put**](EXTERNALApi.md#update_unified_deployment_rollout_deployments_deployment_id_rollout_put) | **PUT** /deployments/{deployment_id}/rollout | Update Unified Deployment Rollout [**update_unified_deployment_status_deployments_deployment_id_status_put**](EXTERNALApi.md#update_unified_deployment_status_deployments_deployment_id_status_put) | **PUT** /deployments/{deployment_id}/status | Update Unified Deployment Status [**update_user_vault_item_endpoint_user_vault_put**](EXTERNALApi.md#update_user_vault_item_endpoint_user_vault_put) | **PUT** /user_vault | Update User Vault Item Endpoint @@ -911,6 +923,8 @@ Name | Type | Description | Notes Create Unified Deployment +Create a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment through ccluster. + ### Example * Bearer Authentication (HTTPBearer): @@ -3400,10 +3414,10 @@ 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_job_deployment_deployments_job_deployment_id_get** -> GetJobDeploymentResponse get_job_deployment_deployments_job_deployment_id_get(deployment_id) +# **get_insight_insights_insight_id_get** +> InsightResponse get_insight_insights_insight_id_get(insight_id) -Get Job Deployment +Get Insight ### Example @@ -3411,7 +3425,7 @@ Get Job Deployment ```python import platform_api_python_client -from platform_api_python_client.models.get_job_deployment_response import GetJobDeploymentResponse +from platform_api_python_client.models.insight_response import InsightResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3435,15 +3449,15 @@ configuration = platform_api_python_client.Configuration( 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) - deployment_id = 56 # int | + insight_id = 56 # int | try: - # Get Job Deployment - api_response = api_instance.get_job_deployment_deployments_job_deployment_id_get(deployment_id) - print("The response of EXTERNALApi->get_job_deployment_deployments_job_deployment_id_get:\n") + # Get Insight + api_response = api_instance.get_insight_insights_insight_id_get(insight_id) + print("The response of EXTERNALApi->get_insight_insights_insight_id_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_job_deployment_deployments_job_deployment_id_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_insight_insights_insight_id_get: %s\n" % e) ``` @@ -3453,11 +3467,11 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **deployment_id** | **int**| | + **insight_id** | **int**| | ### Return type -[**GetJobDeploymentResponse**](GetJobDeploymentResponse.md) +[**InsightResponse**](InsightResponse.md) ### Authorization @@ -3477,10 +3491,10 @@ 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_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get** -> OrganizationGpuQuotaResponse get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get(cluster_id, organization_id) +# **get_job_deployment_deployments_job_deployment_id_get** +> GetJobDeploymentResponse get_job_deployment_deployments_job_deployment_id_get(deployment_id) -Get Org Gpu Quota On Cluster +Get Job Deployment ### Example @@ -3488,7 +3502,7 @@ Get Org Gpu Quota On Cluster ```python import platform_api_python_client -from platform_api_python_client.models.organization_gpu_quota_response import OrganizationGpuQuotaResponse +from platform_api_python_client.models.get_job_deployment_response import GetJobDeploymentResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3512,16 +3526,15 @@ configuration = platform_api_python_client.Configuration( 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) - cluster_id = 56 # int | - organization_id = 56 # int | + deployment_id = 56 # int | try: - # Get Org Gpu Quota On Cluster - api_response = api_instance.get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get(cluster_id, organization_id) - print("The response of EXTERNALApi->get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get:\n") + # Get Job Deployment + api_response = api_instance.get_job_deployment_deployments_job_deployment_id_get(deployment_id) + print("The response of EXTERNALApi->get_job_deployment_deployments_job_deployment_id_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_job_deployment_deployments_job_deployment_id_get: %s\n" % e) ``` @@ -3531,12 +3544,11 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **cluster_id** | **int**| | - **organization_id** | **int**| | + **deployment_id** | **int**| | ### Return type -[**OrganizationGpuQuotaResponse**](OrganizationGpuQuotaResponse.md) +[**GetJobDeploymentResponse**](GetJobDeploymentResponse.md) ### Authorization @@ -3556,10 +3568,10 @@ 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_prebuilt_images_prebuilt_images_get** -> ListPrebuiltImageResponse get_prebuilt_images_prebuilt_images_get(type=type) +# **get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get** +> OrganizationGpuQuotaResponse get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get(cluster_id, organization_id) -Get Prebuilt Images +Get Org Gpu Quota On Cluster ### Example @@ -3567,8 +3579,7 @@ Get Prebuilt Images ```python import platform_api_python_client -from platform_api_python_client.models.deployment_type import DeploymentType -from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse +from platform_api_python_client.models.organization_gpu_quota_response import OrganizationGpuQuotaResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3592,15 +3603,16 @@ configuration = platform_api_python_client.Configuration( 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) - type = platform_api_python_client.DeploymentType() # DeploymentType | (optional) + cluster_id = 56 # int | + organization_id = 56 # int | try: - # Get Prebuilt Images - api_response = api_instance.get_prebuilt_images_prebuilt_images_get(type=type) - print("The response of EXTERNALApi->get_prebuilt_images_prebuilt_images_get:\n") + # Get Org Gpu Quota On Cluster + api_response = api_instance.get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get(cluster_id, organization_id) + print("The response of EXTERNALApi->get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_prebuilt_images_prebuilt_images_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get: %s\n" % e) ``` @@ -3610,11 +3622,12 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **type** | [**DeploymentType**](.md)| | [optional] + **cluster_id** | **int**| | + **organization_id** | **int**| | ### Return type -[**ListPrebuiltImageResponse**](ListPrebuiltImageResponse.md) +[**OrganizationGpuQuotaResponse**](OrganizationGpuQuotaResponse.md) ### Authorization @@ -3634,17 +3647,19 @@ 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_usage_daily_bills_get** -> ListDailyBillResponse get_usage_daily_bills_get() +# **get_prebuilt_images_prebuilt_images_get** +> ListPrebuiltImageResponse get_prebuilt_images_prebuilt_images_get(type=type) -Get Usage +Get Prebuilt Images ### Example +* Bearer Authentication (HTTPBearer): ```python import platform_api_python_client -from platform_api_python_client.models.list_daily_bill_response import ListDailyBillResponse +from platform_api_python_client.models.deployment_type import DeploymentType +from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3654,34 +3669,47 @@ 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) + type = platform_api_python_client.DeploymentType() # DeploymentType | (optional) try: - # Get Usage - api_response = api_instance.get_usage_daily_bills_get() - print("The response of EXTERNALApi->get_usage_daily_bills_get:\n") + # Get Prebuilt Images + api_response = api_instance.get_prebuilt_images_prebuilt_images_get(type=type) + print("The response of EXTERNALApi->get_prebuilt_images_prebuilt_images_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_usage_daily_bills_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_prebuilt_images_prebuilt_images_get: %s\n" % e) ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **type** | [**DeploymentType**](.md)| | [optional] ### Return type -[**ListDailyBillResponse**](ListDailyBillResponse.md) +[**ListPrebuiltImageResponse**](ListPrebuiltImageResponse.md) ### Authorization -No authorization required +[HTTPBearer](../README.md#HTTPBearer) ### HTTP request headers @@ -3693,13 +3721,16 @@ No authorization required | 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) -# **get_usage_deployments_usage_deployment_id_get** -> GetDeploymentUsageResponse get_usage_deployments_usage_deployment_id_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) +# **get_unified_deployment_deployments_deployment_id_get** +> UnifiedGetDeploymentResponse get_unified_deployment_deployments_deployment_id_get(deployment_id) -Get Usage +Get Unified Deployment + +Get a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment: its request and its read-only fields. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. ### Example @@ -3707,9 +3738,7 @@ Get Usage ```python import platform_api_python_client -from platform_api_python_client.models.get_deployment_usage_response import GetDeploymentUsageResponse -from platform_api_python_client.models.metric import Metric -from platform_api_python_client.models.usage_component import UsageComponent +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3734,21 +3763,14 @@ 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) deployment_id = 56 # int | - metric = platform_api_python_client.Metric() # Metric | - start_time_in_seconds = 56 # int | - end_time_in_seconds = 56 # int | - step = 15 # int | (optional) (default to 15) - revision_number = 56 # int | (optional) - component = platform_api_python_client.UsageComponent() # UsageComponent | (optional) - pod = 'pod_example' # str | (optional) try: - # Get Usage - api_response = api_instance.get_usage_deployments_usage_deployment_id_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) - print("The response of EXTERNALApi->get_usage_deployments_usage_deployment_id_get:\n") + # Get Unified Deployment + api_response = api_instance.get_unified_deployment_deployments_deployment_id_get(deployment_id) + print("The response of EXTERNALApi->get_unified_deployment_deployments_deployment_id_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_usage_deployments_usage_deployment_id_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_deployments_deployment_id_get: %s\n" % e) ``` @@ -3759,17 +3781,10 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **deployment_id** | **int**| | - **metric** | [**Metric**](.md)| | - **start_time_in_seconds** | **int**| | - **end_time_in_seconds** | **int**| | - **step** | **int**| | [optional] [default to 15] - **revision_number** | **int**| | [optional] - **component** | [**UsageComponent**](.md)| | [optional] - **pod** | **str**| | [optional] ### Return type -[**GetDeploymentUsageResponse**](GetDeploymentUsageResponse.md) +[**UnifiedGetDeploymentResponse**](UnifiedGetDeploymentResponse.md) ### Authorization @@ -3789,12 +3804,12 @@ 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_user_vault_item_by_id_endpoint_user_vault_secret_id_get** -> UserVaultItem get_user_vault_item_by_id_endpoint_user_vault_secret_id_get(secret_id) +# **get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get** +> UnifiedGetDeploymentLogsResponse get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get(deployment_id, revision_number, pod, fetch_newer=fetch_newer, timestamp=timestamp, max_lines=max_lines) -Get User Vault Item By Id Endpoint +Get Unified Deployment Logs -Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. +Read one page of a pod's logs from Loki, with the paging of GET /logs/{deployment_id}/{revision_number}. Take the pod from GET /deployments/{deployment_id}/revisions/{revision_number}/pods. ### Example @@ -3802,7 +3817,7 @@ Resolve a single secret's value. This is the only endpoint that returns a vault ```python import platform_api_python_client -from platform_api_python_client.models.user_vault_item import UserVaultItem +from platform_api_python_client.models.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3826,15 +3841,20 @@ configuration = platform_api_python_client.Configuration( 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) - secret_id = 56 # int | + deployment_id = 56 # int | + revision_number = 56 # int | + pod = 'pod_example' # str | + fetch_newer = False # bool | (optional) (default to False) + timestamp = 56 # int | (optional) + max_lines = 100 # int | (optional) (default to 100) try: - # Get User Vault Item By Id Endpoint - api_response = api_instance.get_user_vault_item_by_id_endpoint_user_vault_secret_id_get(secret_id) - print("The response of EXTERNALApi->get_user_vault_item_by_id_endpoint_user_vault_secret_id_get:\n") + # Get Unified Deployment Logs + api_response = api_instance.get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get(deployment_id, revision_number, pod, fetch_newer=fetch_newer, timestamp=timestamp, max_lines=max_lines) + print("The response of EXTERNALApi->get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_user_vault_item_by_id_endpoint_user_vault_secret_id_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get: %s\n" % e) ``` @@ -3844,11 +3864,16 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **secret_id** | **int**| | + **deployment_id** | **int**| | + **revision_number** | **int**| | + **pod** | **str**| | + **fetch_newer** | **bool**| | [optional] [default to False] + **timestamp** | **int**| | [optional] + **max_lines** | **int**| | [optional] [default to 100] ### Return type -[**UserVaultItem**](UserVaultItem.md) +[**UnifiedGetDeploymentLogsResponse**](UnifiedGetDeploymentLogsResponse.md) ### Authorization @@ -3868,12 +3893,12 @@ 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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get** +> UnifiedGetDeploymentPodsResponse get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get(deployment_id, revision_number) -Get Volume Endpoint +Get Unified Deployment Pods -Retrieve a single volume by id. +List the pods that logged under one revision, recently terminated pods included. The log store's retention bounds the history, so the list can differ from the running pods. ### Example @@ -3881,7 +3906,7 @@ Retrieve a single volume by id. ```python import platform_api_python_client -from platform_api_python_client.models.get_volume_response import GetVolumeResponse +from platform_api_python_client.models.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3905,15 +3930,16 @@ configuration = platform_api_python_client.Configuration( 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 | + deployment_id = 56 # int | + revision_number = 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") + # Get Unified Deployment Pods + api_response = api_instance.get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get(deployment_id, revision_number) + print("The response of EXTERNALApi->get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_volume_endpoint_volumes_volume_id_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get: %s\n" % e) ``` @@ -3923,11 +3949,12 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **volume_id** | **int**| | + **deployment_id** | **int**| | + **revision_number** | **int**| | ### Return type -[**GetVolumeResponse**](GetVolumeResponse.md) +[**UnifiedGetDeploymentPodsResponse**](UnifiedGetDeploymentPodsResponse.md) ### Authorization @@ -3947,12 +3974,12 @@ 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_status_endpoint_volumes_status_volume_id_get** -> VolumeStatusResponse get_volume_status_endpoint_volumes_status_volume_id_get(volume_id) +# **get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get** +> UnifiedGetDeploymentRevisionResponse get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get(deployment_id, revision_number) -Get Volume Status Endpoint +Get Unified Deployment Revision -Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. +Get one revision of a deployment, read as GET /deployments/{deployment_id} reads the selected one. ### Example @@ -3960,7 +3987,7 @@ Live volume status: status is the stored intent, service_status is computed from ```python import platform_api_python_client -from platform_api_python_client.models.volume_status_response import VolumeStatusResponse +from platform_api_python_client.models.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -3984,15 +4011,16 @@ configuration = platform_api_python_client.Configuration( 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 | + deployment_id = 56 # int | + revision_number = 56 # int | try: - # Get Volume Status Endpoint - api_response = api_instance.get_volume_status_endpoint_volumes_status_volume_id_get(volume_id) - print("The response of EXTERNALApi->get_volume_status_endpoint_volumes_status_volume_id_get:\n") + # Get Unified Deployment Revision + api_response = api_instance.get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get(deployment_id, revision_number) + print("The response of EXTERNALApi->get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->get_volume_status_endpoint_volumes_status_volume_id_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get: %s\n" % e) ``` @@ -4002,11 +4030,12 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **volume_id** | **int**| | + **deployment_id** | **int**| | + **revision_number** | **int**| | ### Return type -[**VolumeStatusResponse**](VolumeStatusResponse.md) +[**UnifiedGetDeploymentRevisionResponse**](UnifiedGetDeploymentRevisionResponse.md) ### Authorization @@ -4026,10 +4055,12 @@ 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) -# **invite_user_organizations_invite_post** -> object invite_user_organizations_invite_post(invite_user_request) +# **get_unified_deployment_rollout_deployments_deployment_id_rollout_get** +> UnifiedGetDeploymentRolloutResponse get_unified_deployment_rollout_deployments_deployment_id_rollout_get(deployment_id) -Invite User +Get Unified Deployment Rollout + +Get whether the in-flight rollout is paused, and its status. Not implemented yet. ### Example @@ -4037,7 +4068,7 @@ Invite User ```python import platform_api_python_client -from platform_api_python_client.models.invite_user_request import InviteUserRequest +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -4061,15 +4092,15 @@ configuration = platform_api_python_client.Configuration( 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) - invite_user_request = platform_api_python_client.InviteUserRequest() # InviteUserRequest | + deployment_id = 56 # int | try: - # Invite User - api_response = api_instance.invite_user_organizations_invite_post(invite_user_request) - print("The response of EXTERNALApi->invite_user_organizations_invite_post:\n") + # Get Unified Deployment Rollout + api_response = api_instance.get_unified_deployment_rollout_deployments_deployment_id_rollout_get(deployment_id) + print("The response of EXTERNALApi->get_unified_deployment_rollout_deployments_deployment_id_rollout_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->invite_user_organizations_invite_post: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_rollout_deployments_deployment_id_rollout_get: %s\n" % e) ``` @@ -4079,11 +4110,11 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **invite_user_request** | [**InviteUserRequest**](InviteUserRequest.md)| | + **deployment_id** | **int**| | ### Return type -**object** +[**UnifiedGetDeploymentRolloutResponse**](UnifiedGetDeploymentRolloutResponse.md) ### Authorization @@ -4091,7 +4122,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -4103,12 +4134,12 @@ 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) -# **list_cluster_capacity_capacity_get** -> ListClusterCapacityResponse list_cluster_capacity_capacity_get(cluster_id=cluster_id) +# **get_unified_deployment_usage_deployments_deployment_id_usage_get** +> UnifiedGetDeploymentUsageResponse get_unified_deployment_usage_deployments_deployment_id_usage_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) -List Cluster Capacity +Get Unified Deployment Usage -Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. +Read a deployment's usage metrics, as GET /deployments/usage/{deployment_id} does. ccl_dynamo takes cpu, memory, gpu and gpu_memory with the component, revision_number and pod filters, as dynamo does; its dynamo_* metrics are not supported yet. ### Example @@ -4116,7 +4147,9 @@ Return GPU capacity breakdown for accessible clusters. When *cluster_id* is sup ```python import platform_api_python_client -from platform_api_python_client.models.list_cluster_capacity_response import ListClusterCapacityResponse +from platform_api_python_client.models.metric import Metric +from platform_api_python_client.models.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse +from platform_api_python_client.models.usage_component import UsageComponent from platform_api_python_client.rest import ApiException from pprint import pprint @@ -4140,15 +4173,22 @@ configuration = platform_api_python_client.Configuration( 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) - cluster_id = 56 # int | (optional) + deployment_id = 56 # int | + metric = platform_api_python_client.Metric() # Metric | + start_time_in_seconds = 56 # int | + end_time_in_seconds = 56 # int | + step = 15 # int | (optional) (default to 15) + revision_number = 56 # int | (optional) + component = platform_api_python_client.UsageComponent() # UsageComponent | (optional) + pod = 'pod_example' # str | (optional) try: - # List Cluster Capacity - api_response = api_instance.list_cluster_capacity_capacity_get(cluster_id=cluster_id) - print("The response of EXTERNALApi->list_cluster_capacity_capacity_get:\n") + # Get Unified Deployment Usage + api_response = api_instance.get_unified_deployment_usage_deployments_deployment_id_usage_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) + print("The response of EXTERNALApi->get_unified_deployment_usage_deployments_deployment_id_usage_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->list_cluster_capacity_capacity_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_unified_deployment_usage_deployments_deployment_id_usage_get: %s\n" % e) ``` @@ -4158,11 +4198,18 @@ with platform_api_python_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **cluster_id** | **int**| | [optional] + **deployment_id** | **int**| | + **metric** | [**Metric**](.md)| | + **start_time_in_seconds** | **int**| | + **end_time_in_seconds** | **int**| | + **step** | **int**| | [optional] [default to 15] + **revision_number** | **int**| | [optional] + **component** | [**UsageComponent**](.md)| | [optional] + **pod** | **str**| | [optional] ### Return type -[**ListClusterCapacityResponse**](ListClusterCapacityResponse.md) +[**UnifiedGetDeploymentUsageResponse**](UnifiedGetDeploymentUsageResponse.md) ### Authorization @@ -4182,18 +4229,17 @@ 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) -# **list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get** -> ListOrganizationGpuQuotaResponse list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get(cluster_id) +# **get_usage_daily_bills_get** +> ListDailyBillResponse get_usage_daily_bills_get() -List Cluster Org Gpu Quotas +Get Usage ### Example -* Bearer Authentication (HTTPBearer): ```python import platform_api_python_client -from platform_api_python_client.models.list_organization_gpu_quota_response import ListOrganizationGpuQuotaResponse +from platform_api_python_client.models.list_daily_bill_response import ListDailyBillResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -4203,43 +4249,759 @@ 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) - cluster_id = 56 # int | try: - # List Cluster Org Gpu Quotas - api_response = api_instance.list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get(cluster_id) - print("The response of EXTERNALApi->list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get:\n") + # Get Usage + api_response = api_instance.get_usage_daily_bills_get() + print("The response of EXTERNALApi->get_usage_daily_bills_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get: %s\n" % e) + print("Exception when calling EXTERNALApi->get_usage_daily_bills_get: %s\n" % e) ``` ### Parameters +This endpoint does not need any parameter. -Name | Type | Description | Notes +### Return type + +[**ListDailyBillResponse**](ListDailyBillResponse.md) + +### Authorization + +No authorization required + +### 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_usage_deployments_usage_deployment_id_get** +> GetDeploymentUsageResponse get_usage_deployments_usage_deployment_id_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) + +Get Usage + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.get_deployment_usage_response import GetDeploymentUsageResponse +from platform_api_python_client.models.metric import Metric +from platform_api_python_client.models.usage_component import UsageComponent +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) + deployment_id = 56 # int | + metric = platform_api_python_client.Metric() # Metric | + start_time_in_seconds = 56 # int | + end_time_in_seconds = 56 # int | + step = 15 # int | (optional) (default to 15) + revision_number = 56 # int | (optional) + component = platform_api_python_client.UsageComponent() # UsageComponent | (optional) + pod = 'pod_example' # str | (optional) + + try: + # Get Usage + api_response = api_instance.get_usage_deployments_usage_deployment_id_get(deployment_id, metric, start_time_in_seconds, end_time_in_seconds, step=step, revision_number=revision_number, component=component, pod=pod) + print("The response of EXTERNALApi->get_usage_deployments_usage_deployment_id_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->get_usage_deployments_usage_deployment_id_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **int**| | + **metric** | [**Metric**](.md)| | + **start_time_in_seconds** | **int**| | + **end_time_in_seconds** | **int**| | + **step** | **int**| | [optional] [default to 15] + **revision_number** | **int**| | [optional] + **component** | [**UsageComponent**](.md)| | [optional] + **pod** | **str**| | [optional] + +### Return type + +[**GetDeploymentUsageResponse**](GetDeploymentUsageResponse.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) + +# **get_user_vault_item_by_id_endpoint_user_vault_secret_id_get** +> UserVaultItem get_user_vault_item_by_id_endpoint_user_vault_secret_id_get(secret_id) + +Get User Vault Item By Id Endpoint + +Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.user_vault_item import UserVaultItem +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) + secret_id = 56 # int | + + try: + # Get User Vault Item By Id Endpoint + api_response = api_instance.get_user_vault_item_by_id_endpoint_user_vault_secret_id_get(secret_id) + print("The response of EXTERNALApi->get_user_vault_item_by_id_endpoint_user_vault_secret_id_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->get_user_vault_item_by_id_endpoint_user_vault_secret_id_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **secret_id** | **int**| | + +### Return type + +[**UserVaultItem**](UserVaultItem.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) + +# **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) + +# **get_volume_status_endpoint_volumes_status_volume_id_get** +> VolumeStatusResponse get_volume_status_endpoint_volumes_status_volume_id_get(volume_id) + +Get Volume Status Endpoint + +Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.volume_status_response import VolumeStatusResponse +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 Status Endpoint + api_response = api_instance.get_volume_status_endpoint_volumes_status_volume_id_get(volume_id) + print("The response of EXTERNALApi->get_volume_status_endpoint_volumes_status_volume_id_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->get_volume_status_endpoint_volumes_status_volume_id_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **volume_id** | **int**| | + +### Return type + +[**VolumeStatusResponse**](VolumeStatusResponse.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) + +Invite User + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.invite_user_request import InviteUserRequest +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) + invite_user_request = platform_api_python_client.InviteUserRequest() # InviteUserRequest | + + try: + # Invite User + api_response = api_instance.invite_user_organizations_invite_post(invite_user_request) + print("The response of EXTERNALApi->invite_user_organizations_invite_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->invite_user_organizations_invite_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **invite_user_request** | [**InviteUserRequest**](InviteUserRequest.md)| | + +### Return type + +**object** + +### 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) + +# **list_cluster_capacity_capacity_get** +> ListClusterCapacityResponse list_cluster_capacity_capacity_get(cluster_id=cluster_id) + +List Cluster Capacity + +Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.list_cluster_capacity_response import ListClusterCapacityResponse +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) + cluster_id = 56 # int | (optional) + + try: + # List Cluster Capacity + api_response = api_instance.list_cluster_capacity_capacity_get(cluster_id=cluster_id) + print("The response of EXTERNALApi->list_cluster_capacity_capacity_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->list_cluster_capacity_capacity_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **cluster_id** | **int**| | [optional] + +### Return type + +[**ListClusterCapacityResponse**](ListClusterCapacityResponse.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) + +# **list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get** +> ListOrganizationGpuQuotaResponse list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get(cluster_id) + +List Cluster Org Gpu Quotas + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.list_organization_gpu_quota_response import ListOrganizationGpuQuotaResponse +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) + cluster_id = 56 # int | + + try: + # List Cluster Org Gpu Quotas + api_response = api_instance.list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get(cluster_id) + print("The response of EXTERNALApi->list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **cluster_id** | **int**| | ### Return type -[**ListOrganizationGpuQuotaResponse**](ListOrganizationGpuQuotaResponse.md) +[**ListOrganizationGpuQuotaResponse**](ListOrganizationGpuQuotaResponse.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) + +# **list_insights_insights_get** +> ListInsightsResponse list_insights_insights_get(status=status, severity=severity, cluster_id=cluster_id, deployment_id=deployment_id, resource_type=resource_type, observed_after=observed_after, limit=limit, before_id=before_id) + +List Insights + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.insight_resource_type import InsightResourceType +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus +from platform_api_python_client.models.list_insights_response import ListInsightsResponse +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) + status = ["new"] # List[InsightStatus] | Repeat to list several statuses (optional) (default to ["new"]) + severity = platform_api_python_client.InsightSeverity() # InsightSeverity | (optional) + cluster_id = 56 # int | (optional) + deployment_id = 56 # int | (optional) + resource_type = platform_api_python_client.InsightResourceType() # InsightResourceType | (optional) + observed_after = '2013-10-20T19:20:30+01:00' # datetime | (optional) + limit = 50 # int | (optional) (default to 50) + before_id = 56 # int | (optional) + + try: + # List Insights + api_response = api_instance.list_insights_insights_get(status=status, severity=severity, cluster_id=cluster_id, deployment_id=deployment_id, resource_type=resource_type, observed_after=observed_after, limit=limit, before_id=before_id) + print("The response of EXTERNALApi->list_insights_insights_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->list_insights_insights_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **status** | [**List[InsightStatus]**](InsightStatus.md)| Repeat to list several statuses | [optional] [default to ["new"]] + **severity** | [**InsightSeverity**](.md)| | [optional] + **cluster_id** | **int**| | [optional] + **deployment_id** | **int**| | [optional] + **resource_type** | [**InsightResourceType**](.md)| | [optional] + **observed_after** | **datetime**| | [optional] + **limit** | **int**| | [optional] [default to 50] + **before_id** | **int**| | [optional] + +### Return type + +[**ListInsightsResponse**](ListInsightsResponse.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) + +# **list_service_accounts_service_accounts_get** +> ListServiceAccountsResponse list_service_accounts_service_accounts_get() + +List Service Accounts + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse +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: + # List Service Accounts + api_response = api_instance.list_service_accounts_service_accounts_get() + print("The response of EXTERNALApi->list_service_accounts_service_accounts_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->list_service_accounts_service_accounts_get: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ListServiceAccountsResponse**](ListServiceAccountsResponse.md) ### Authorization @@ -4255,14 +5017,15 @@ Name | Type | Description | Notes | 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) -# **list_service_accounts_service_accounts_get** -> ListServiceAccountsResponse list_service_accounts_service_accounts_get() +# **list_unified_deployment_revisions_deployments_deployment_id_revisions_get** +> UnifiedListDeploymentRevisionsResponse list_unified_deployment_revisions_deployments_deployment_id_revisions_get(deployment_id) -List Service Accounts +List Unified Deployment Revisions + +List a deployment's revisions, newest first, each read as GET /deployments/{deployment_id} reads the selected one. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. ### Example @@ -4270,7 +5033,7 @@ List Service Accounts ```python import platform_api_python_client -from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse +from platform_api_python_client.models.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse from platform_api_python_client.rest import ApiException from pprint import pprint @@ -4294,25 +5057,29 @@ configuration = platform_api_python_client.Configuration( 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) + deployment_id = 56 # int | try: - # List Service Accounts - api_response = api_instance.list_service_accounts_service_accounts_get() - print("The response of EXTERNALApi->list_service_accounts_service_accounts_get:\n") + # List Unified Deployment Revisions + api_response = api_instance.list_unified_deployment_revisions_deployments_deployment_id_revisions_get(deployment_id) + print("The response of EXTERNALApi->list_unified_deployment_revisions_deployments_deployment_id_revisions_get:\n") pprint(api_response) except Exception as e: - print("Exception when calling EXTERNALApi->list_service_accounts_service_accounts_get: %s\n" % e) + print("Exception when calling EXTERNALApi->list_unified_deployment_revisions_deployments_deployment_id_revisions_get: %s\n" % e) ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **int**| | ### Return type -[**ListServiceAccountsResponse**](ListServiceAccountsResponse.md) +[**UnifiedListDeploymentRevisionsResponse**](UnifiedListDeploymentRevisionsResponse.md) ### Authorization @@ -4328,6 +5095,7 @@ This endpoint does not need any parameter. | 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) @@ -4499,6 +5267,91 @@ 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) +# **rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put** +> UnifiedWriteDeploymentResponse rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put(deployment_id, revision_number, max_surge=max_surge, max_unavailable=max_unavailable) + +Rollout Unified Deployment Revision + +Select a revision and roll the deployment out at it; ccl_job deployments cannot roll out a revision. An ACTIVE deployment applies the revision. A PAUSED deployment only selects it, and a resume applies it. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.unified_write_deployment_response import UnifiedWriteDeploymentResponse +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) + deployment_id = 56 # int | + revision_number = 56 # int | + max_surge = 56 # int | (optional) + max_unavailable = 56 # int | (optional) + + try: + # Rollout Unified Deployment Revision + api_response = api_instance.rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put(deployment_id, revision_number, max_surge=max_surge, max_unavailable=max_unavailable) + print("The response of EXTERNALApi->rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **int**| | + **revision_number** | **int**| | + **max_surge** | **int**| | [optional] + **max_unavailable** | **int**| | [optional] + +### Return type + +[**UnifiedWriteDeploymentResponse**](UnifiedWriteDeploymentResponse.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) + # **setup_stripe_customer_payments_setup_post** > object setup_stripe_customer_payments_setup_post() @@ -5337,6 +6190,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) +# **update_insight_status_insights_insight_id_status_patch** +> InsightResponse update_insight_status_insights_insight_id_status_patch(insight_id, update_insight_status_request) + +Update Insight Status + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.insight_response import InsightResponse +from platform_api_python_client.models.update_insight_status_request import UpdateInsightStatusRequest +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) + insight_id = 56 # int | + update_insight_status_request = platform_api_python_client.UpdateInsightStatusRequest() # UpdateInsightStatusRequest | + + try: + # Update Insight Status + api_response = api_instance.update_insight_status_insights_insight_id_status_patch(insight_id, update_insight_status_request) + print("The response of EXTERNALApi->update_insight_status_insights_insight_id_status_patch:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->update_insight_status_insights_insight_id_status_patch: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **insight_id** | **int**| | + **update_insight_status_request** | [**UpdateInsightStatusRequest**](UpdateInsightStatusRequest.md)| | + +### Return type + +[**InsightResponse**](InsightResponse.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) + # **update_service_account_service_accounts_workos_id_put** > ServiceAccountResponse update_service_account_service_accounts_workos_id_put(workos_id, update_service_account_request) @@ -5418,11 +6351,11 @@ 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) # **update_unified_deployment_deployments_deployment_id_put** -> UnifiedWriteDeploymentResponse update_unified_deployment_deployments_deployment_id_put(deployment_id, unified_write_deployment_request) +> UnifiedWriteDeploymentResponse update_unified_deployment_deployments_deployment_id_put(deployment_id, unified_write_deployment_request, max_surge=max_surge, max_unavailable=max_unavailable) Update Unified Deployment -Replace a deployment's request, as the per-type PUT routes do. Updates ACTIVE ccl_compute, ccl_inference and ccl_dynamo deployments through ccluster. Every refusal comes before any write. +Replace a deployment's request and roll it out; ccl_job deployments cannot be updated. A PAUSED deployment stores the request without a rollout; a resume applies it. type, name, cluster_id and the pools keys cannot change. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. ### Example @@ -5457,10 +6390,12 @@ with platform_api_python_client.ApiClient(configuration) as api_client: api_instance = platform_api_python_client.EXTERNALApi(api_client) deployment_id = 56 # int | unified_write_deployment_request = platform_api_python_client.UnifiedWriteDeploymentRequest() # UnifiedWriteDeploymentRequest | + max_surge = 56 # int | (optional) + max_unavailable = 56 # int | (optional) try: # Update Unified Deployment - api_response = api_instance.update_unified_deployment_deployments_deployment_id_put(deployment_id, unified_write_deployment_request) + api_response = api_instance.update_unified_deployment_deployments_deployment_id_put(deployment_id, unified_write_deployment_request, max_surge=max_surge, max_unavailable=max_unavailable) print("The response of EXTERNALApi->update_unified_deployment_deployments_deployment_id_put:\n") pprint(api_response) except Exception as e: @@ -5476,6 +6411,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **deployment_id** | **int**| | **unified_write_deployment_request** | [**UnifiedWriteDeploymentRequest**](UnifiedWriteDeploymentRequest.md)| | + **max_surge** | **int**| | [optional] + **max_unavailable** | **int**| | [optional] ### Return type @@ -5499,6 +6436,88 @@ 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) +# **update_unified_deployment_rollout_deployments_deployment_id_rollout_put** +> UnifiedGetDeploymentRolloutResponse update_unified_deployment_rollout_deployments_deployment_id_rollout_put(deployment_id, unified_update_deployment_rollout_request) + +Update Unified Deployment Rollout + +Pause or resume the in-flight rollout; not stored. Not implemented yet. + +### Example + +* Bearer Authentication (HTTPBearer): + +```python +import platform_api_python_client +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse +from platform_api_python_client.models.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest +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) + deployment_id = 56 # int | + unified_update_deployment_rollout_request = platform_api_python_client.UnifiedUpdateDeploymentRolloutRequest() # UnifiedUpdateDeploymentRolloutRequest | + + try: + # Update Unified Deployment Rollout + api_response = api_instance.update_unified_deployment_rollout_deployments_deployment_id_rollout_put(deployment_id, unified_update_deployment_rollout_request) + print("The response of EXTERNALApi->update_unified_deployment_rollout_deployments_deployment_id_rollout_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EXTERNALApi->update_unified_deployment_rollout_deployments_deployment_id_rollout_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **int**| | + **unified_update_deployment_rollout_request** | [**UnifiedUpdateDeploymentRolloutRequest**](UnifiedUpdateDeploymentRolloutRequest.md)| | + +### Return type + +[**UnifiedGetDeploymentRolloutResponse**](UnifiedGetDeploymentRolloutResponse.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) + # **update_unified_deployment_status_deployments_deployment_id_status_put** > DeploymentStatusResponse update_unified_deployment_status_deployments_deployment_id_status_put(deployment_id, deployment_status_request) diff --git a/docs/Env.md b/docs/Env.md new file mode 100644 index 0000000..f9765c3 --- /dev/null +++ b/docs/Env.md @@ -0,0 +1,30 @@ +# Env + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vars** | **Dict[str, str]** | | [optional] +**refs** | **object** | | [optional] + +## Example + +```python +from platform_api_python_client.models.env import Env + +# TODO update the JSON string below +json = "{}" +# create an instance of Env from a JSON string +env_instance = Env.from_json(json) +# print the JSON string representation of the object +print(Env.to_json()) + +# convert the object into a dict +env_dict = env_instance.to_dict() +# create an instance of Env from a dict +env_from_dict = Env.from_dict(env_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/Image.md b/docs/Image.md new file mode 100644 index 0000000..6e4bd82 --- /dev/null +++ b/docs/Image.md @@ -0,0 +1,31 @@ +# Image + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | | +**pull_ref** | **int** | | [optional] +**pull_secret_name** | **str** | Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it. | [optional] + +## Example + +```python +from platform_api_python_client.models.image import Image + +# TODO update the JSON string below +json = "{}" +# create an instance of Image from a JSON string +image_instance = Image.from_json(json) +# print the JSON string representation of the object +print(Image.to_json()) + +# convert the object into a dict +image_dict = image_instance.to_dict() +# create an instance of Image from a dict +image_from_dict = Image.from_dict(image_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/Ingress.md b/docs/Ingress.md new file mode 100644 index 0000000..6945242 --- /dev/null +++ b/docs/Ingress.md @@ -0,0 +1,31 @@ +# Ingress + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**backend_protocol** | [**BackendProtocol**](BackendProtocol.md) | | [optional] +**bearer_token_ref** | **int** | | [optional] +**certificate_authority** | **str** | | [optional] + +## Example + +```python +from platform_api_python_client.models.ingress import Ingress + +# TODO update the JSON string below +json = "{}" +# create an instance of Ingress from a JSON string +ingress_instance = Ingress.from_json(json) +# print the JSON string representation of the object +print(Ingress.to_json()) + +# convert the object into a dict +ingress_dict = ingress_instance.to_dict() +# create an instance of Ingress from a dict +ingress_from_dict = Ingress.from_dict(ingress_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/InsightListItemResponse.md b/docs/InsightListItemResponse.md new file mode 100644 index 0000000..97e0e72 --- /dev/null +++ b/docs/InsightListItemResponse.md @@ -0,0 +1,36 @@ +# InsightListItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**identity** | **str** | Human-readable identifier, e.g. INSIGHT-42 | +**severity** | [**InsightSeverity**](InsightSeverity.md) | | +**status** | [**InsightStatus**](InsightStatus.md) | | +**title** | **str** | | +**observed_at** | **datetime** | | +**created_at** | **datetime** | | +**resource** | [**InsightResource**](InsightResource.md) | | + +## Example + +```python +from platform_api_python_client.models.insight_list_item_response import InsightListItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of InsightListItemResponse from a JSON string +insight_list_item_response_instance = InsightListItemResponse.from_json(json) +# print the JSON string representation of the object +print(InsightListItemResponse.to_json()) + +# convert the object into a dict +insight_list_item_response_dict = insight_list_item_response_instance.to_dict() +# create an instance of InsightListItemResponse from a dict +insight_list_item_response_from_dict = InsightListItemResponse.from_dict(insight_list_item_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/InsightResource.md b/docs/InsightResource.md new file mode 100644 index 0000000..e3f1813 --- /dev/null +++ b/docs/InsightResource.md @@ -0,0 +1,31 @@ +# InsightResource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**InsightResourceType**](InsightResourceType.md) | | +**id** | **int** | | +**name** | **str** | | [optional] + +## Example + +```python +from platform_api_python_client.models.insight_resource import InsightResource + +# TODO update the JSON string below +json = "{}" +# create an instance of InsightResource from a JSON string +insight_resource_instance = InsightResource.from_json(json) +# print the JSON string representation of the object +print(InsightResource.to_json()) + +# convert the object into a dict +insight_resource_dict = insight_resource_instance.to_dict() +# create an instance of InsightResource from a dict +insight_resource_from_dict = InsightResource.from_dict(insight_resource_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/InsightResourceType.md b/docs/InsightResourceType.md new file mode 100644 index 0000000..2f3011d --- /dev/null +++ b/docs/InsightResourceType.md @@ -0,0 +1,12 @@ +# InsightResourceType + + +## Enum + +* `CLUSTER` (value: `'cluster'`) + +* `DEPLOYMENT` (value: `'deployment'`) + +[[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/InsightResponse.md b/docs/InsightResponse.md new file mode 100644 index 0000000..0830400 --- /dev/null +++ b/docs/InsightResponse.md @@ -0,0 +1,42 @@ +# InsightResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**identity** | **str** | Human-readable identifier, e.g. INSIGHT-42 | +**severity** | [**InsightSeverity**](InsightSeverity.md) | | +**status** | [**InsightStatus**](InsightStatus.md) | | +**title** | **str** | | +**observed_at** | **datetime** | | +**created_at** | **datetime** | | +**resource** | [**InsightResource**](InsightResource.md) | | +**observed_summary** | **str** | | +**recommended_steps** | **str** | | +**content** | **str** | | [optional] +**reported_by** | **str** | Name of the user that reported it; a service account shows its creator | +**updated_at** | **datetime** | | +**history** | [**List[InsightStatusChangeResponse]**](InsightStatusChangeResponse.md) | Status changes, newest first | + +## Example + +```python +from platform_api_python_client.models.insight_response import InsightResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of InsightResponse from a JSON string +insight_response_instance = InsightResponse.from_json(json) +# print the JSON string representation of the object +print(InsightResponse.to_json()) + +# convert the object into a dict +insight_response_dict = insight_response_instance.to_dict() +# create an instance of InsightResponse from a dict +insight_response_from_dict = InsightResponse.from_dict(insight_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/InsightSeverity.md b/docs/InsightSeverity.md new file mode 100644 index 0000000..29a5219 --- /dev/null +++ b/docs/InsightSeverity.md @@ -0,0 +1,18 @@ +# InsightSeverity + + +## Enum + +* `CRITICAL` (value: `'critical'`) + +* `HIGH` (value: `'high'`) + +* `MEDIUM` (value: `'medium'`) + +* `LOW` (value: `'low'`) + +* `INFO` (value: `'info'`) + +[[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/InsightStatus.md b/docs/InsightStatus.md new file mode 100644 index 0000000..65da135 --- /dev/null +++ b/docs/InsightStatus.md @@ -0,0 +1,16 @@ +# InsightStatus + + +## Enum + +* `NEW` (value: `'new'`) + +* `ACKNOWLEDGED` (value: `'acknowledged'`) + +* `RESOLVED` (value: `'resolved'`) + +* `NOT_RELEVANT` (value: `'not_relevant'`) + +[[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/InsightStatusChangeResponse.md b/docs/InsightStatusChangeResponse.md new file mode 100644 index 0000000..64b91ad --- /dev/null +++ b/docs/InsightStatusChangeResponse.md @@ -0,0 +1,33 @@ +# InsightStatusChangeResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**from_status** | [**InsightStatus**](InsightStatus.md) | | +**to_status** | [**InsightStatus**](InsightStatus.md) | | +**actor_name** | **str** | | [optional] +**created_at** | **datetime** | | +**comment** | **str** | | [optional] + +## Example + +```python +from platform_api_python_client.models.insight_status_change_response import InsightStatusChangeResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of InsightStatusChangeResponse from a JSON string +insight_status_change_response_instance = InsightStatusChangeResponse.from_json(json) +# print the JSON string representation of the object +print(InsightStatusChangeResponse.to_json()) + +# convert the object into a dict +insight_status_change_response_dict = insight_status_change_response_instance.to_dict() +# create an instance of InsightStatusChangeResponse from a dict +insight_status_change_response_from_dict = InsightStatusChangeResponse.from_dict(insight_status_change_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/ListInsightsResponse.md b/docs/ListInsightsResponse.md new file mode 100644 index 0000000..928f68e --- /dev/null +++ b/docs/ListInsightsResponse.md @@ -0,0 +1,29 @@ +# ListInsightsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[InsightListItemResponse]**](InsightListItemResponse.md) | Newest first. A page shorter than the requested limit is the last one; pass the last id as before_id for the next page. | + +## Example + +```python +from platform_api_python_client.models.list_insights_response import ListInsightsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ListInsightsResponse from a JSON string +list_insights_response_instance = ListInsightsResponse.from_json(json) +# print the JSON string representation of the object +print(ListInsightsResponse.to_json()) + +# convert the object into a dict +list_insights_response_dict = list_insights_response_instance.to_dict() +# create an instance of ListInsightsResponse from a dict +list_insights_response_from_dict = ListInsightsResponse.from_dict(list_insights_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/Pool.md b/docs/Pool.md new file mode 100644 index 0000000..0e07baf --- /dev/null +++ b/docs/Pool.md @@ -0,0 +1,33 @@ +# Pool + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**hardware_instance_id** | **int** | | +**min_replicas** | **int** | | [optional] +**max_replicas** | **int** | | [optional] +**concurrency** | **int** | | [optional] +**cooldown_period** | **int** | | [optional] + +## Example + +```python +from platform_api_python_client.models.pool import Pool + +# TODO update the JSON string below +json = "{}" +# create an instance of Pool from a JSON string +pool_instance = Pool.from_json(json) +# print the JSON string representation of the object +print(Pool.to_json()) + +# convert the object into a dict +pool_dict = pool_instance.to_dict() +# create an instance of Pool from a dict +pool_from_dict = Pool.from_dict(pool_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/UnifiedGetComputeDeploymentResponse.md b/docs/UnifiedGetComputeDeploymentResponse.md new file mode 100644 index 0000000..d0de4b3 --- /dev/null +++ b/docs/UnifiedGetComputeDeploymentResponse.md @@ -0,0 +1,48 @@ +# UnifiedGetComputeDeploymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | +**creator_email** | **str** | | +**created_at** | **datetime** | | +**updated_at** | **datetime** | | +**revision_number** | **int** | | +**endpoint_url** | **str** | | +**type** | **str** | | +**name** | **str** | | +**cluster_id** | **int** | | +**user_annotations** | **Dict[str, str]** | | [optional] +**chart_revision** | **str** | | [optional] +**volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] +**priority** | **str** | | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | +**ssh_public_key** | **str** | | +**enable_logging** | **bool** | | [optional] [default to False] +**exposed_port** | **int** | | + +## Example + +```python +from platform_api_python_client.models.unified_get_compute_deployment_response import UnifiedGetComputeDeploymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetComputeDeploymentResponse from a JSON string +unified_get_compute_deployment_response_instance = UnifiedGetComputeDeploymentResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetComputeDeploymentResponse.to_json()) + +# convert the object into a dict +unified_get_compute_deployment_response_dict = unified_get_compute_deployment_response_instance.to_dict() +# create an instance of UnifiedGetComputeDeploymentResponse from a dict +unified_get_compute_deployment_response_from_dict = UnifiedGetComputeDeploymentResponse.from_dict(unified_get_compute_deployment_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/UnifiedGetDeploymentLogsResponse.md b/docs/UnifiedGetDeploymentLogsResponse.md new file mode 100644 index 0000000..7c685c0 --- /dev/null +++ b/docs/UnifiedGetDeploymentLogsResponse.md @@ -0,0 +1,29 @@ +# UnifiedGetDeploymentLogsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[DeploymentLogEventV4]**](DeploymentLogEventV4.md) | Log events, oldest first. Page boundaries are minted client-side from the events' timestamp field (see the endpoint description): an empty fetch_newer=false page means history is exhausted; an empty fetch_newer=true page means nothing new yet. | + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentLogsResponse from a JSON string +unified_get_deployment_logs_response_instance = UnifiedGetDeploymentLogsResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentLogsResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_logs_response_dict = unified_get_deployment_logs_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentLogsResponse from a dict +unified_get_deployment_logs_response_from_dict = UnifiedGetDeploymentLogsResponse.from_dict(unified_get_deployment_logs_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/UnifiedGetDeploymentPodsResponse.md b/docs/UnifiedGetDeploymentPodsResponse.md new file mode 100644 index 0000000..c62efd4 --- /dev/null +++ b/docs/UnifiedGetDeploymentPodsResponse.md @@ -0,0 +1,29 @@ +# UnifiedGetDeploymentPodsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pods** | **List[str]** | | + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentPodsResponse from a JSON string +unified_get_deployment_pods_response_instance = UnifiedGetDeploymentPodsResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentPodsResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_pods_response_dict = unified_get_deployment_pods_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentPodsResponse from a dict +unified_get_deployment_pods_response_from_dict = UnifiedGetDeploymentPodsResponse.from_dict(unified_get_deployment_pods_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/UnifiedGetDeploymentResponse.md b/docs/UnifiedGetDeploymentResponse.md new file mode 100644 index 0000000..9c4d925 --- /dev/null +++ b/docs/UnifiedGetDeploymentResponse.md @@ -0,0 +1,66 @@ +# UnifiedGetDeploymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | +**creator_email** | **str** | | +**created_at** | **datetime** | | +**updated_at** | **datetime** | | +**revision_number** | **int** | | +**endpoint_url** | **str** | | +**type** | **str** | | +**name** | **str** | | +**cluster_id** | **int** | | +**user_annotations** | **Dict[str, str]** | | [optional] +**chart_revision** | **str** | | [optional] +**volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] +**priority** | **str** | | [optional] +**pools** | [**CclDynamoPools**](CclDynamoPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**DynamoImage**](DynamoImage.md) | | +**ssh_public_key** | **str** | | +**enable_logging** | **bool** | | [optional] [default to True] +**exposed_port** | **int** | | +**ingress** | [**Ingress**](Ingress.md) | | +**port** | **int** | | +**healthcheck** | **str** | | [optional] +**command** | **str** | | [optional] +**config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] +**hf_token_ref** | **int** | | [optional] +**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] +**metrics** | [**MetricsConfig**](MetricsConfig.md) | | [optional] +**enable_node_model_cache** | **bool** | | [optional] [default to False] +**completions** | **int** | | [optional] [default to 1] +**parallelism** | **int** | | [optional] [default to 1] +**backoff_limit** | **int** | | [optional] [default to 3] +**active_deadline_seconds** | **int** | | [optional] +**serving_mode** | [**DynamoServingMode**](DynamoServingMode.md) | | [optional] +**communications** | [**DynamoCommunicationsOutput**](DynamoCommunicationsOutput.md) | | [optional] +**model** | **str** | | +**served_model_name** | **str** | | [optional] +**extra_args** | **str** | | [optional] + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentResponse from a JSON string +unified_get_deployment_response_instance = UnifiedGetDeploymentResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_response_dict = unified_get_deployment_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentResponse from a dict +unified_get_deployment_response_from_dict = UnifiedGetDeploymentResponse.from_dict(unified_get_deployment_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/UnifiedGetDeploymentRevisionResponse.md b/docs/UnifiedGetDeploymentRevisionResponse.md new file mode 100644 index 0000000..8a34f46 --- /dev/null +++ b/docs/UnifiedGetDeploymentRevisionResponse.md @@ -0,0 +1,35 @@ +# UnifiedGetDeploymentRevisionResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**revision_number** | **int** | | +**deployment_id** | **int** | | +**deployment_response** | [**UnifiedGetDeploymentResponse**](UnifiedGetDeploymentResponse.md) | | +**notes** | **str** | | [optional] +**created_at** | **datetime** | | +**updated_at** | **datetime** | | + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentRevisionResponse from a JSON string +unified_get_deployment_revision_response_instance = UnifiedGetDeploymentRevisionResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentRevisionResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_revision_response_dict = unified_get_deployment_revision_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentRevisionResponse from a dict +unified_get_deployment_revision_response_from_dict = UnifiedGetDeploymentRevisionResponse.from_dict(unified_get_deployment_revision_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/UnifiedGetDeploymentRolloutResponse.md b/docs/UnifiedGetDeploymentRolloutResponse.md new file mode 100644 index 0000000..0b6c491 --- /dev/null +++ b/docs/UnifiedGetDeploymentRolloutResponse.md @@ -0,0 +1,30 @@ +# UnifiedGetDeploymentRolloutResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**paused** | **bool** | | +**status** | [**RolloutStatus**](RolloutStatus.md) | | + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentRolloutResponse from a JSON string +unified_get_deployment_rollout_response_instance = UnifiedGetDeploymentRolloutResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentRolloutResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_rollout_response_dict = unified_get_deployment_rollout_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentRolloutResponse from a dict +unified_get_deployment_rollout_response_from_dict = UnifiedGetDeploymentRolloutResponse.from_dict(unified_get_deployment_rollout_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/UnifiedGetDeploymentUsageResponse.md b/docs/UnifiedGetDeploymentUsageResponse.md new file mode 100644 index 0000000..4ac5e32 --- /dev/null +++ b/docs/UnifiedGetDeploymentUsageResponse.md @@ -0,0 +1,31 @@ +# UnifiedGetDeploymentUsageResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**values** | [**List[DeploymentUsage]**](DeploymentUsage.md) | | +**availability** | [**UsageAvailability**](UsageAvailability.md) | | [optional] +**last_sample_at** | **int** | | [optional] + +## Example + +```python +from platform_api_python_client.models.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDeploymentUsageResponse from a JSON string +unified_get_deployment_usage_response_instance = UnifiedGetDeploymentUsageResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDeploymentUsageResponse.to_json()) + +# convert the object into a dict +unified_get_deployment_usage_response_dict = unified_get_deployment_usage_response_instance.to_dict() +# create an instance of UnifiedGetDeploymentUsageResponse from a dict +unified_get_deployment_usage_response_from_dict = UnifiedGetDeploymentUsageResponse.from_dict(unified_get_deployment_usage_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/UnifiedGetDynamoDeploymentResponse.md b/docs/UnifiedGetDynamoDeploymentResponse.md new file mode 100644 index 0000000..1066237 --- /dev/null +++ b/docs/UnifiedGetDynamoDeploymentResponse.md @@ -0,0 +1,54 @@ +# UnifiedGetDynamoDeploymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | +**creator_email** | **str** | | +**created_at** | **datetime** | | +**updated_at** | **datetime** | | +**revision_number** | **int** | | +**endpoint_url** | **str** | | +**type** | **str** | | +**name** | **str** | | +**cluster_id** | **int** | | +**user_annotations** | **Dict[str, str]** | | [optional] +**chart_revision** | **str** | | [optional] +**volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] +**priority** | **str** | | [optional] +**pools** | [**CclDynamoPools**](CclDynamoPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**DynamoImage**](DynamoImage.md) | | [optional] +**ingress** | [**Ingress**](Ingress.md) | | +**serving_mode** | [**DynamoServingMode**](DynamoServingMode.md) | | [optional] +**communications** | [**DynamoCommunicationsOutput**](DynamoCommunicationsOutput.md) | | [optional] +**model** | **str** | | +**served_model_name** | **str** | | [optional] +**extra_args** | **str** | | [optional] +**hf_token_ref** | **int** | | [optional] +**enable_logging** | **bool** | | [optional] [default to True] +**enable_node_model_cache** | **bool** | | [optional] [default to False] + +## Example + +```python +from platform_api_python_client.models.unified_get_dynamo_deployment_response import UnifiedGetDynamoDeploymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetDynamoDeploymentResponse from a JSON string +unified_get_dynamo_deployment_response_instance = UnifiedGetDynamoDeploymentResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetDynamoDeploymentResponse.to_json()) + +# convert the object into a dict +unified_get_dynamo_deployment_response_dict = unified_get_dynamo_deployment_response_instance.to_dict() +# create an instance of UnifiedGetDynamoDeploymentResponse from a dict +unified_get_dynamo_deployment_response_from_dict = UnifiedGetDynamoDeploymentResponse.from_dict(unified_get_dynamo_deployment_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/UnifiedGetInferenceV3DeploymentResponse.md b/docs/UnifiedGetInferenceV3DeploymentResponse.md new file mode 100644 index 0000000..6b57507 --- /dev/null +++ b/docs/UnifiedGetInferenceV3DeploymentResponse.md @@ -0,0 +1,55 @@ +# UnifiedGetInferenceV3DeploymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | +**creator_email** | **str** | | +**created_at** | **datetime** | | +**updated_at** | **datetime** | | +**revision_number** | **int** | | +**endpoint_url** | **str** | | +**type** | **str** | | +**name** | **str** | | +**cluster_id** | **int** | | +**user_annotations** | **Dict[str, str]** | | [optional] +**chart_revision** | **str** | | [optional] +**volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] +**priority** | **str** | | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | +**ingress** | [**Ingress**](Ingress.md) | | +**port** | **int** | | +**healthcheck** | **str** | | [optional] +**command** | **str** | | [optional] +**config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] +**hf_token_ref** | **int** | | [optional] +**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] +**metrics** | [**MetricsConfig**](MetricsConfig.md) | | [optional] +**enable_logging** | **bool** | | [optional] [default to False] +**enable_node_model_cache** | **bool** | | [optional] [default to False] + +## Example + +```python +from platform_api_python_client.models.unified_get_inference_v3_deployment_response import UnifiedGetInferenceV3DeploymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetInferenceV3DeploymentResponse from a JSON string +unified_get_inference_v3_deployment_response_instance = UnifiedGetInferenceV3DeploymentResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetInferenceV3DeploymentResponse.to_json()) + +# convert the object into a dict +unified_get_inference_v3_deployment_response_dict = unified_get_inference_v3_deployment_response_instance.to_dict() +# create an instance of UnifiedGetInferenceV3DeploymentResponse from a dict +unified_get_inference_v3_deployment_response_from_dict = UnifiedGetInferenceV3DeploymentResponse.from_dict(unified_get_inference_v3_deployment_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/UnifiedGetJobDeploymentResponse.md b/docs/UnifiedGetJobDeploymentResponse.md new file mode 100644 index 0000000..5ea2824 --- /dev/null +++ b/docs/UnifiedGetJobDeploymentResponse.md @@ -0,0 +1,52 @@ +# UnifiedGetJobDeploymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | +**creator_email** | **str** | | +**created_at** | **datetime** | | +**updated_at** | **datetime** | | +**revision_number** | **int** | | +**endpoint_url** | **str** | | +**type** | **str** | | +**name** | **str** | | +**cluster_id** | **int** | | +**user_annotations** | **Dict[str, str]** | | [optional] +**chart_revision** | **str** | | [optional] +**volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] +**priority** | **str** | | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | +**command** | **str** | | [optional] +**config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] +**completions** | **int** | | [optional] [default to 1] +**parallelism** | **int** | | [optional] [default to 1] +**backoff_limit** | **int** | | [optional] [default to 3] +**active_deadline_seconds** | **int** | | [optional] +**enable_logging** | **bool** | | [optional] [default to True] + +## Example + +```python +from platform_api_python_client.models.unified_get_job_deployment_response import UnifiedGetJobDeploymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedGetJobDeploymentResponse from a JSON string +unified_get_job_deployment_response_instance = UnifiedGetJobDeploymentResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedGetJobDeploymentResponse.to_json()) + +# convert the object into a dict +unified_get_job_deployment_response_dict = unified_get_job_deployment_response_instance.to_dict() +# create an instance of UnifiedGetJobDeploymentResponse from a dict +unified_get_job_deployment_response_from_dict = UnifiedGetJobDeploymentResponse.from_dict(unified_get_job_deployment_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/UnifiedListDeploymentRevisionsResponse.md b/docs/UnifiedListDeploymentRevisionsResponse.md new file mode 100644 index 0000000..66b241f --- /dev/null +++ b/docs/UnifiedListDeploymentRevisionsResponse.md @@ -0,0 +1,29 @@ +# UnifiedListDeploymentRevisionsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[UnifiedGetDeploymentRevisionResponse]**](UnifiedGetDeploymentRevisionResponse.md) | | + +## Example + +```python +from platform_api_python_client.models.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedListDeploymentRevisionsResponse from a JSON string +unified_list_deployment_revisions_response_instance = UnifiedListDeploymentRevisionsResponse.from_json(json) +# print the JSON string representation of the object +print(UnifiedListDeploymentRevisionsResponse.to_json()) + +# convert the object into a dict +unified_list_deployment_revisions_response_dict = unified_list_deployment_revisions_response_instance.to_dict() +# create an instance of UnifiedListDeploymentRevisionsResponse from a dict +unified_list_deployment_revisions_response_from_dict = UnifiedListDeploymentRevisionsResponse.from_dict(unified_list_deployment_revisions_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/UnifiedUpdateDeploymentRolloutRequest.md b/docs/UnifiedUpdateDeploymentRolloutRequest.md new file mode 100644 index 0000000..89a20cb --- /dev/null +++ b/docs/UnifiedUpdateDeploymentRolloutRequest.md @@ -0,0 +1,29 @@ +# UnifiedUpdateDeploymentRolloutRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**paused** | **bool** | | + +## Example + +```python +from platform_api_python_client.models.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UnifiedUpdateDeploymentRolloutRequest from a JSON string +unified_update_deployment_rollout_request_instance = UnifiedUpdateDeploymentRolloutRequest.from_json(json) +# print the JSON string representation of the object +print(UnifiedUpdateDeploymentRolloutRequest.to_json()) + +# convert the object into a dict +unified_update_deployment_rollout_request_dict = unified_update_deployment_rollout_request_instance.to_dict() +# create an instance of UnifiedUpdateDeploymentRolloutRequest from a dict +unified_update_deployment_rollout_request_from_dict = UnifiedUpdateDeploymentRolloutRequest.from_dict(unified_update_deployment_rollout_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/UnifiedWriteComputeDeploymentRequest.md b/docs/UnifiedWriteComputeDeploymentRequest.md index a73b06b..a29a11d 100644 --- a/docs/UnifiedWriteComputeDeploymentRequest.md +++ b/docs/UnifiedWriteComputeDeploymentRequest.md @@ -5,21 +5,18 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**type** | **str** | | **name** | **str** | | **cluster_id** | **int** | | -**hardware_instance_id** | **int** | | **user_annotations** | **Dict[str, str]** | | [optional] **chart_revision** | **str** | | [optional] **volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] **priority** | **str** | | [optional] -**image_url** | **str** | | -**image_pull_secret_credentials** | [**ImagePullSecretCredentials**](ImagePullSecretCredentials.md) | | [optional] -**image_pull_ref** | **int** | | [optional] -**image_pull_secret_name** | **str** | Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it. | [optional] -**env_vars_refs** | **object** | | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | **ssh_public_key** | **str** | | **enable_logging** | **bool** | | [optional] [default to False] -**type** | **str** | | ## Example diff --git a/docs/UnifiedWriteDeploymentRequest.md b/docs/UnifiedWriteDeploymentRequest.md index 6ad9b7e..39e6491 100644 --- a/docs/UnifiedWriteDeploymentRequest.md +++ b/docs/UnifiedWriteDeploymentRequest.md @@ -5,52 +5,36 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**type** | **str** | | **name** | **str** | | **cluster_id** | **int** | | -**hardware_instance_id** | **int** | | **user_annotations** | **Dict[str, str]** | | [optional] **chart_revision** | **str** | | [optional] **volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] **priority** | **str** | | [optional] -**image_url** | **str** | | -**image_pull_secret_credentials** | [**ImagePullSecretCredentials**](ImagePullSecretCredentials.md) | | [optional] -**image_pull_ref** | **int** | | [optional] -**image_pull_secret_name** | **str** | Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it. | [optional] -**env_vars_refs** | **object** | | [optional] +**pools** | [**CclDynamoPools**](CclDynamoPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**DynamoImage**](DynamoImage.md) | | **ssh_public_key** | **str** | | **enable_logging** | **bool** | | [optional] [default to True] -**type** | **str** | | -**max_surge** | **int** | | [optional] -**max_unavailable** | **int** | | [optional] -**hf_token_ref** | **int** | | [optional] +**ingress** | [**Ingress**](Ingress.md) | | **port** | **int** | | -**min_replicas** | **int** | | -**max_replicas** | **int** | | -**concurrency** | **int** | | [optional] -**cooldown_period** | **int** | | [optional] **healthcheck** | **str** | | [optional] -**env_vars** | **Dict[str, str]** | | [optional] **command** | **str** | | [optional] -**endpoint_bearer_token** | **str** | | [optional] -**bearer_token_ref** | **int** | | [optional] -**endpoint_certificate_authority** | **str** | | [optional] -**hf_token** | **str** | | [optional] -**backend_protocol** | [**BackendProtocol**](BackendProtocol.md) | | [optional] -**enable_node_model_cache** | **bool** | | [optional] [default to False] -**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] **config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] +**hf_token_ref** | **int** | | [optional] +**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] **metrics** | [**MetricsConfig**](MetricsConfig.md) | | [optional] +**enable_node_model_cache** | **bool** | | [optional] [default to False] +**completions** | **int** | | [optional] [default to 1] +**parallelism** | **int** | | [optional] [default to 1] +**backoff_limit** | **int** | | [optional] [default to 3] +**active_deadline_seconds** | **int** | | [optional] **serving_mode** | [**DynamoServingMode**](DynamoServingMode.md) | | [optional] -**worker_pools** | [**DynamoWorkerPools**](DynamoWorkerPools.md) | | [optional] **communications** | [**DynamoCommunicationsInput**](DynamoCommunicationsInput.md) | | [optional] **model** | **str** | | **served_model_name** | **str** | | [optional] -**runtime_version** | **str** | Dynamo runtime image tag (for example 1.4.0). Defaults to the platform's current release; GET /prebuilt-images?type=dynamo lists the versions the platform has validated, but any tag may be requested. require_gpu_direct_rdma needs an EFA-capable image. Changing it restarts every component of a running deployment. | [optional] **extra_args** | **str** | | [optional] -**completions** | **int** | | [optional] [default to 1] -**parallelism** | **int** | | [optional] [default to 1] -**backoff_limit** | **int** | | [optional] [default to 3] -**active_deadline_seconds** | **int** | | [optional] ## Example diff --git a/docs/UnifiedWriteDynamoDeploymentRequest.md b/docs/UnifiedWriteDynamoDeploymentRequest.md index 9255278..d247a21 100644 --- a/docs/UnifiedWriteDynamoDeploymentRequest.md +++ b/docs/UnifiedWriteDynamoDeploymentRequest.md @@ -5,38 +5,25 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**max_surge** | **int** | | [optional] -**max_unavailable** | **int** | | [optional] +**type** | **str** | | **name** | **str** | | **cluster_id** | **int** | | -**hardware_instance_id** | **int** | | [optional] **user_annotations** | **Dict[str, str]** | | [optional] **chart_revision** | **str** | | [optional] **volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] **priority** | **str** | | [optional] +**pools** | [**CclDynamoPools**](CclDynamoPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**DynamoImage**](DynamoImage.md) | | [optional] +**ingress** | [**Ingress**](Ingress.md) | | **serving_mode** | [**DynamoServingMode**](DynamoServingMode.md) | | [optional] -**worker_pools** | [**DynamoWorkerPools**](DynamoWorkerPools.md) | | [optional] **communications** | [**DynamoCommunicationsInput**](DynamoCommunicationsInput.md) | | [optional] **model** | **str** | | **served_model_name** | **str** | | [optional] -**runtime_version** | **str** | Dynamo runtime image tag (for example 1.4.0). Defaults to the platform's current release; GET /prebuilt-images?type=dynamo lists the versions the platform has validated, but any tag may be requested. require_gpu_direct_rdma needs an EFA-capable image. Changing it restarts every component of a running deployment. | [optional] -**min_replicas** | **int** | | [optional] -**max_replicas** | **int** | | [optional] -**concurrency** | **int** | | [optional] -**cooldown_period** | **int** | | [optional] **extra_args** | **str** | | [optional] -**hf_token** | **str** | | [optional] **hf_token_ref** | **int** | | [optional] -**env_vars** | **Dict[str, str]** | | [optional] -**env_vars_refs** | **object** | | [optional] -**endpoint_bearer_token** | **str** | | [optional] -**bearer_token_ref** | **int** | | [optional] -**endpoint_certificate_authority** | **str** | | [optional] -**image_pull_ref** | **int** | | [optional] **enable_logging** | **bool** | | [optional] [default to True] **enable_node_model_cache** | **bool** | | [optional] [default to False] -**backend_protocol** | [**BackendProtocol**](BackendProtocol.md) | | [optional] -**type** | **str** | | ## Example diff --git a/docs/UnifiedWriteInferenceV3DeploymentRequest.md b/docs/UnifiedWriteInferenceV3DeploymentRequest.md index f5128b0..fe52616 100644 --- a/docs/UnifiedWriteInferenceV3DeploymentRequest.md +++ b/docs/UnifiedWriteInferenceV3DeploymentRequest.md @@ -5,40 +5,26 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**max_surge** | **int** | | [optional] -**max_unavailable** | **int** | | [optional] +**type** | **str** | | **name** | **str** | | **cluster_id** | **int** | | -**hardware_instance_id** | **int** | | **user_annotations** | **Dict[str, str]** | | [optional] **chart_revision** | **str** | | [optional] **volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] **priority** | **str** | | [optional] -**hf_token_ref** | **int** | | [optional] -**image_url** | **str** | | -**image_pull_secret_credentials** | [**ImagePullSecretCredentials**](ImagePullSecretCredentials.md) | | [optional] -**image_pull_ref** | **int** | | [optional] -**image_pull_secret_name** | **str** | Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it. | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | +**ingress** | [**Ingress**](Ingress.md) | | **port** | **int** | | -**min_replicas** | **int** | | -**max_replicas** | **int** | | -**concurrency** | **int** | | [optional] -**cooldown_period** | **int** | | [optional] **healthcheck** | **str** | | [optional] -**env_vars** | **Dict[str, str]** | | [optional] **command** | **str** | | [optional] -**endpoint_bearer_token** | **str** | | [optional] -**bearer_token_ref** | **int** | | [optional] -**endpoint_certificate_authority** | **str** | | [optional] -**hf_token** | **str** | | [optional] -**env_vars_refs** | **object** | | [optional] -**backend_protocol** | [**BackendProtocol**](BackendProtocol.md) | | [optional] -**enable_logging** | **bool** | | [optional] [default to False] -**enable_node_model_cache** | **bool** | | [optional] [default to False] -**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] **config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] +**hf_token_ref** | **int** | | [optional] +**session_affinity** | **bool** | Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state. | [optional] [default to False] **metrics** | [**MetricsConfig**](MetricsConfig.md) | | [optional] -**type** | **str** | | +**enable_logging** | **bool** | | [optional] [default to False] +**enable_node_model_cache** | **bool** | | [optional] [default to False] ## Example diff --git a/docs/UnifiedWriteJobDeploymentRequest.md b/docs/UnifiedWriteJobDeploymentRequest.md index f3493ec..7e36606 100644 --- a/docs/UnifiedWriteJobDeploymentRequest.md +++ b/docs/UnifiedWriteJobDeploymentRequest.md @@ -5,27 +5,23 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**type** | **str** | | **name** | **str** | | **cluster_id** | **int** | | -**hardware_instance_id** | **int** | | **user_annotations** | **Dict[str, str]** | | [optional] **chart_revision** | **str** | | [optional] **volume_mounts** | [**List[VolumeMount]**](VolumeMount.md) | | [optional] **priority** | **str** | | [optional] -**image_url** | **str** | | -**image_pull_secret_credentials** | [**ImagePullSecretCredentials**](ImagePullSecretCredentials.md) | | [optional] -**image_pull_ref** | **int** | | [optional] -**image_pull_secret_name** | **str** | Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it. | [optional] -**env_vars** | **Dict[str, str]** | | [optional] -**env_vars_refs** | **object** | | [optional] +**pools** | [**CclMainPools**](CclMainPools.md) | | +**env** | [**Env**](Env.md) | | [optional] +**image** | [**Image**](Image.md) | | **command** | **str** | | [optional] +**config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] **completions** | **int** | | [optional] [default to 1] **parallelism** | **int** | | [optional] [default to 1] **backoff_limit** | **int** | | [optional] [default to 3] **active_deadline_seconds** | **int** | | [optional] **enable_logging** | **bool** | | [optional] [default to True] -**config_file** | [**ConfigFileMount**](ConfigFileMount.md) | | [optional] -**type** | **str** | | ## Example diff --git a/docs/UpdateInsightStatusRequest.md b/docs/UpdateInsightStatusRequest.md new file mode 100644 index 0000000..5730b38 --- /dev/null +++ b/docs/UpdateInsightStatusRequest.md @@ -0,0 +1,30 @@ +# UpdateInsightStatusRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | [**InsightStatus**](InsightStatus.md) | | +**comment** | **str** | | [optional] + +## Example + +```python +from platform_api_python_client.models.update_insight_status_request import UpdateInsightStatusRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateInsightStatusRequest from a JSON string +update_insight_status_request_instance = UpdateInsightStatusRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateInsightStatusRequest.to_json()) + +# convert the object into a dict +update_insight_status_request_dict = update_insight_status_request_instance.to_dict() +# create an instance of UpdateInsightStatusRequest from a dict +update_insight_status_request_from_dict = UpdateInsightStatusRequest.from_dict(update_insight_status_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/platform_api_python_client/__init__.py b/platform_api_python_client/__init__.py index 3c64bba..ae2d42f 100644 --- a/platform_api_python_client/__init__.py +++ b/platform_api_python_client/__init__.py @@ -14,7 +14,7 @@ """ # noqa: E501 -__version__ = "4.35.0" +__version__ = "4.36.0" # import apis into sdk package from platform_api_python_client.api.external_api import EXTERNALApi @@ -34,6 +34,8 @@ from platform_api_python_client.models.argo_rollouts import ArgoRollouts from platform_api_python_client.models.backend_protocol import BackendProtocol from platform_api_python_client.models.c_serve_v2_recipe import CServeV2Recipe +from platform_api_python_client.models.ccl_dynamo_pools import CclDynamoPools +from platform_api_python_client.models.ccl_main_pools import CclMainPools from platform_api_python_client.models.cert_manager import CertManager from platform_api_python_client.models.cloud_provider import CloudProvider from platform_api_python_client.models.cluster_capacity_response import ClusterCapacityResponse @@ -77,11 +79,13 @@ from platform_api_python_client.models.deployment_usage_value import DeploymentUsageValue from platform_api_python_client.models.dynamo_communications_input import DynamoCommunicationsInput from platform_api_python_client.models.dynamo_communications_output import DynamoCommunicationsOutput +from platform_api_python_client.models.dynamo_image import DynamoImage from platform_api_python_client.models.dynamo_kv_transfer_configuration import DynamoKvTransferConfiguration from platform_api_python_client.models.dynamo_kv_transfer_policy import DynamoKvTransferPolicy from platform_api_python_client.models.dynamo_serving_mode import DynamoServingMode from platform_api_python_client.models.dynamo_worker_pool_config import DynamoWorkerPoolConfig from platform_api_python_client.models.dynamo_worker_pools import DynamoWorkerPools +from platform_api_python_client.models.env import Env from platform_api_python_client.models.external_dns import ExternalDns from platform_api_python_client.models.final_stack import FinalStack from platform_api_python_client.models.fluent_bit import FluentBit @@ -108,8 +112,17 @@ from platform_api_python_client.models.http_validation_error import HTTPValidationError from platform_api_python_client.models.hardware_instance_response import HardwareInstanceResponse from platform_api_python_client.models.hardware_preset_response import HardwarePresetResponse +from platform_api_python_client.models.image import Image from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials +from platform_api_python_client.models.ingress import Ingress from platform_api_python_client.models.ingress_nginx import IngressNginx +from platform_api_python_client.models.insight_list_item_response import InsightListItemResponse +from platform_api_python_client.models.insight_resource import InsightResource +from platform_api_python_client.models.insight_resource_type import InsightResourceType +from platform_api_python_client.models.insight_response import InsightResponse +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus +from platform_api_python_client.models.insight_status_change_response import InsightStatusChangeResponse from platform_api_python_client.models.invite_user_request import InviteUserRequest from platform_api_python_client.models.istio import Istio from platform_api_python_client.models.istio_cni_overrides import IstioCniOverrides @@ -124,6 +137,7 @@ from platform_api_python_client.models.list_get_deployment_response import ListGetDeploymentResponse from platform_api_python_client.models.list_hardware_instance_response import ListHardwareInstanceResponse from platform_api_python_client.models.list_hardware_preset_response import ListHardwarePresetResponse +from platform_api_python_client.models.list_insights_response import ListInsightsResponse from platform_api_python_client.models.list_organization_gpu_quota_response import ListOrganizationGpuQuotaResponse from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse @@ -140,6 +154,7 @@ from platform_api_python_client.models.organization_gpu_quota_response import OrganizationGpuQuotaResponse from platform_api_python_client.models.pod_details import PodDetails from platform_api_python_client.models.pod_status import PodStatus +from platform_api_python_client.models.pool import Pool from platform_api_python_client.models.prebuilt_image_response import PrebuiltImageResponse from platform_api_python_client.models.prometheus_adapter import PrometheusAdapter from platform_api_python_client.models.revision_pod_details import RevisionPodDetails @@ -150,6 +165,18 @@ from platform_api_python_client.models.spire import Spire from platform_api_python_client.models.spire_crds import SpireCrds from platform_api_python_client.models.teleport_kube_agent import TeleportKubeAgent +from platform_api_python_client.models.unified_get_compute_deployment_response import UnifiedGetComputeDeploymentResponse +from platform_api_python_client.models.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse +from platform_api_python_client.models.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse +from platform_api_python_client.models.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse +from platform_api_python_client.models.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse +from platform_api_python_client.models.unified_get_dynamo_deployment_response import UnifiedGetDynamoDeploymentResponse +from platform_api_python_client.models.unified_get_inference_v3_deployment_response import UnifiedGetInferenceV3DeploymentResponse +from platform_api_python_client.models.unified_get_job_deployment_response import UnifiedGetJobDeploymentResponse +from platform_api_python_client.models.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse +from platform_api_python_client.models.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest from platform_api_python_client.models.unified_write_compute_deployment_request import UnifiedWriteComputeDeploymentRequest from platform_api_python_client.models.unified_write_deployment_request import UnifiedWriteDeploymentRequest from platform_api_python_client.models.unified_write_deployment_response import UnifiedWriteDeploymentResponse @@ -159,6 +186,7 @@ from platform_api_python_client.models.update_cluster_metadata_request import UpdateClusterMetadataRequest from platform_api_python_client.models.update_deployment_response import UpdateDeploymentResponse from platform_api_python_client.models.update_deployment_status_v3_request import UpdateDeploymentStatusV3Request +from platform_api_python_client.models.update_insight_status_request import UpdateInsightStatusRequest from platform_api_python_client.models.update_service_account_request import UpdateServiceAccountRequest from platform_api_python_client.models.upsert_user_vault_item_request import UpsertUserVaultItemRequest from platform_api_python_client.models.usage_availability import UsageAvailability diff --git a/platform_api_python_client/api/external_api.py b/platform_api_python_client/api/external_api.py index 2576f84..9fd05fc 100644 --- a/platform_api_python_client/api/external_api.py +++ b/platform_api_python_client/api/external_api.py @@ -16,8 +16,9 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated +from datetime import datetime from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator -from typing import Any, Optional +from typing import Any, List, Optional from typing_extensions import Annotated from platform_api_python_client.models.cluster_config import ClusterConfig from platform_api_python_client.models.cluster_registration_request import ClusterRegistrationRequest @@ -61,6 +62,10 @@ 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.insight_resource_type import InsightResourceType +from platform_api_python_client.models.insight_response import InsightResponse +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus from platform_api_python_client.models.invite_user_request import InviteUserRequest from platform_api_python_client.models.list_cluster_capacity_response import ListClusterCapacityResponse from platform_api_python_client.models.list_daily_bill_response import ListDailyBillResponse @@ -69,6 +74,7 @@ from platform_api_python_client.models.list_get_deployment_response import ListGetDeploymentResponse from platform_api_python_client.models.list_hardware_instance_response import ListHardwareInstanceResponse from platform_api_python_client.models.list_hardware_preset_response import ListHardwarePresetResponse +from platform_api_python_client.models.list_insights_response import ListInsightsResponse from platform_api_python_client.models.list_organization_gpu_quota_response import ListOrganizationGpuQuotaResponse from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse @@ -79,11 +85,20 @@ from platform_api_python_client.models.organization_gpu_quota_response import OrganizationGpuQuotaResponse from platform_api_python_client.models.rollout_strategy_params import RolloutStrategyParams from platform_api_python_client.models.service_account_response import ServiceAccountResponse +from platform_api_python_client.models.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse +from platform_api_python_client.models.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse +from platform_api_python_client.models.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse +from platform_api_python_client.models.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse +from platform_api_python_client.models.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse +from platform_api_python_client.models.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest from platform_api_python_client.models.unified_write_deployment_request import UnifiedWriteDeploymentRequest from platform_api_python_client.models.unified_write_deployment_response import UnifiedWriteDeploymentResponse from platform_api_python_client.models.update_cluster_metadata_request import UpdateClusterMetadataRequest from platform_api_python_client.models.update_deployment_response import UpdateDeploymentResponse from platform_api_python_client.models.update_deployment_status_v3_request import UpdateDeploymentStatusV3Request +from platform_api_python_client.models.update_insight_status_request import UpdateInsightStatusRequest from platform_api_python_client.models.update_service_account_request import UpdateServiceAccountRequest from platform_api_python_client.models.upsert_user_vault_item_request import UpsertUserVaultItemRequest from platform_api_python_client.models.usage_component import UsageComponent @@ -3090,6 +3105,7 @@ def create_unified_deployment_deployments_post( ) -> UnifiedWriteDeploymentResponse: """Create Unified Deployment + Create a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment through ccluster. :param unified_write_deployment_request: (required) :type unified_write_deployment_request: UnifiedWriteDeploymentRequest @@ -3157,6 +3173,7 @@ def create_unified_deployment_deployments_post_with_http_info( ) -> ApiResponse[UnifiedWriteDeploymentResponse]: """Create Unified Deployment + Create a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment through ccluster. :param unified_write_deployment_request: (required) :type unified_write_deployment_request: UnifiedWriteDeploymentRequest @@ -3224,6 +3241,7 @@ def create_unified_deployment_deployments_post_without_preload_content( ) -> RESTResponseType: """Create Unified Deployment + Create a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment through ccluster. :param unified_write_deployment_request: (required) :type unified_write_deployment_request: UnifiedWriteDeploymentRequest @@ -7826,7 +7844,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GetDeploymentLogResponse: - """Get Deployment Logs + """(Deprecated) Get Deployment Logs :param deployment_id: (required) @@ -7862,6 +7880,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs/{deployment_id} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_deployments_logs_deployment_id_get_serialize( deployment_id=deployment_id, @@ -7913,7 +7932,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GetDeploymentLogResponse]: - """Get Deployment Logs + """(Deprecated) Get Deployment Logs :param deployment_id: (required) @@ -7949,6 +7968,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get_with_http_info( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs/{deployment_id} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_deployments_logs_deployment_id_get_serialize( deployment_id=deployment_id, @@ -8000,7 +8020,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get_without_preload_conte _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Deployment Logs + """(Deprecated) Get Deployment Logs :param deployment_id: (required) @@ -8036,6 +8056,7 @@ def get_deployment_logs_deployments_logs_deployment_id_get_without_preload_conte :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs/{deployment_id} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_deployments_logs_deployment_id_get_serialize( deployment_id=deployment_id, @@ -8173,7 +8194,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GetDeploymentLogResponse: - """Get Deployment Logs V3 + """(Deprecated) Get Deployment Logs V3 :param deployment_id: (required) @@ -8211,6 +8232,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs_v3/{deployment_id}/{revision_number} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get_serialize( deployment_id=deployment_id, @@ -8264,7 +8286,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GetDeploymentLogResponse]: - """Get Deployment Logs V3 + """(Deprecated) Get Deployment Logs V3 :param deployment_id: (required) @@ -8302,6 +8324,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs_v3/{deployment_id}/{revision_number} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get_serialize( deployment_id=deployment_id, @@ -8355,7 +8378,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Deployment Logs V3 + """(Deprecated) Get Deployment Logs V3 :param deployment_id: (required) @@ -8393,6 +8416,7 @@ def get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /deployments/logs_v3/{deployment_id}/{revision_number} is deprecated.", DeprecationWarning) _param = self._get_deployment_logs_v3_deployments_logs_v3_deployment_id_revision_number_get_serialize( deployment_id=deployment_id, @@ -11806,9 +11830,9 @@ def _get_inference_v3_deployment_deployments_inference_v3_deployment_id_get_seri @validate_call - def get_job_deployment_deployments_job_deployment_id_get( + def get_insight_insights_insight_id_get( self, - deployment_id: StrictInt, + insight_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11821,12 +11845,12 @@ def get_job_deployment_deployments_job_deployment_id_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetJobDeploymentResponse: - """Get Job Deployment + ) -> InsightResponse: + """Get Insight - :param deployment_id: (required) - :type deployment_id: int + :param insight_id: (required) + :type insight_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 @@ -11849,8 +11873,8 @@ def get_job_deployment_deployments_job_deployment_id_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( - deployment_id=deployment_id, + _param = self._get_insight_insights_insight_id_get_serialize( + insight_id=insight_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -11858,7 +11882,7 @@ def get_job_deployment_deployments_job_deployment_id_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetJobDeploymentResponse", + '200': "InsightResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -11873,9 +11897,9 @@ def get_job_deployment_deployments_job_deployment_id_get( @validate_call - def get_job_deployment_deployments_job_deployment_id_get_with_http_info( + def get_insight_insights_insight_id_get_with_http_info( self, - deployment_id: StrictInt, + insight_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11888,12 +11912,12 @@ def get_job_deployment_deployments_job_deployment_id_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetJobDeploymentResponse]: - """Get Job Deployment + ) -> ApiResponse[InsightResponse]: + """Get Insight - :param deployment_id: (required) - :type deployment_id: int + :param insight_id: (required) + :type insight_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 @@ -11916,8 +11940,8 @@ def get_job_deployment_deployments_job_deployment_id_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( - deployment_id=deployment_id, + _param = self._get_insight_insights_insight_id_get_serialize( + insight_id=insight_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -11925,7 +11949,7 @@ def get_job_deployment_deployments_job_deployment_id_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetJobDeploymentResponse", + '200': "InsightResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -11940,9 +11964,9 @@ def get_job_deployment_deployments_job_deployment_id_get_with_http_info( @validate_call - def get_job_deployment_deployments_job_deployment_id_get_without_preload_content( + def get_insight_insights_insight_id_get_without_preload_content( self, - deployment_id: StrictInt, + insight_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11956,11 +11980,11 @@ def get_job_deployment_deployments_job_deployment_id_get_without_preload_content _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Job Deployment + """Get Insight - :param deployment_id: (required) - :type deployment_id: int + :param insight_id: (required) + :type insight_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 @@ -11983,8 +12007,8 @@ def get_job_deployment_deployments_job_deployment_id_get_without_preload_content :return: Returns the result object. """ # noqa: E501 - _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( - deployment_id=deployment_id, + _param = self._get_insight_insights_insight_id_get_serialize( + insight_id=insight_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -11992,7 +12016,7 @@ def get_job_deployment_deployments_job_deployment_id_get_without_preload_content ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetJobDeploymentResponse", + '200': "InsightResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12002,9 +12026,9 @@ def get_job_deployment_deployments_job_deployment_id_get_without_preload_content return response_data.response - def _get_job_deployment_deployments_job_deployment_id_get_serialize( + def _get_insight_insights_insight_id_get_serialize( self, - deployment_id, + insight_id, _request_auth, _content_type, _headers, @@ -12026,8 +12050,8 @@ def _get_job_deployment_deployments_job_deployment_id_get_serialize( _body_params: Optional[bytes] = None # process the path parameters - if deployment_id is not None: - _path_params['deployment_id'] = deployment_id + if insight_id is not None: + _path_params['insight_id'] = insight_id # process the query parameters # process the header parameters # process the form parameters @@ -12050,7 +12074,7 @@ def _get_job_deployment_deployments_job_deployment_id_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/deployments/job/{deployment_id}', + resource_path='/insights/{insight_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -12067,10 +12091,9 @@ def _get_job_deployment_deployments_job_deployment_id_get_serialize( @validate_call - def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get( + def get_job_deployment_deployments_job_deployment_id_get( self, - cluster_id: StrictInt, - organization_id: StrictInt, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12083,14 +12106,12 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> OrganizationGpuQuotaResponse: - """Get Org Gpu Quota On Cluster + ) -> GetJobDeploymentResponse: + """Get Job Deployment - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int + :param deployment_id: (required) + :type deployment_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 @@ -12113,9 +12134,8 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( - cluster_id=cluster_id, - organization_id=organization_id, + _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12123,7 +12143,7 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", + '200': "GetJobDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12138,10 +12158,9 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ @validate_call - def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_with_http_info( + def get_job_deployment_deployments_job_deployment_id_get_with_http_info( self, - cluster_id: StrictInt, - organization_id: StrictInt, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12154,14 +12173,12 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[OrganizationGpuQuotaResponse]: - """Get Org Gpu Quota On Cluster + ) -> ApiResponse[GetJobDeploymentResponse]: + """Get Job Deployment - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int + :param deployment_id: (required) + :type deployment_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 @@ -12184,9 +12201,8 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( - cluster_id=cluster_id, - organization_id=organization_id, + _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12194,7 +12210,7 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", + '200': "GetJobDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12209,10 +12225,9 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ @validate_call - def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_without_preload_content( + def get_job_deployment_deployments_job_deployment_id_get_without_preload_content( self, - cluster_id: StrictInt, - organization_id: StrictInt, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12226,13 +12241,11 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Org Gpu Quota On Cluster + """Get Job Deployment - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int + :param deployment_id: (required) + :type deployment_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 @@ -12255,9 +12268,8 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( - cluster_id=cluster_id, - organization_id=organization_id, + _param = self._get_job_deployment_deployments_job_deployment_id_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12265,7 +12277,7 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", + '200': "GetJobDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12275,10 +12287,9 @@ def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ return response_data.response - def _get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( + def _get_job_deployment_deployments_job_deployment_id_get_serialize( self, - cluster_id, - organization_id, + deployment_id, _request_auth, _content_type, _headers, @@ -12300,10 +12311,8 @@ def _get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization _body_params: Optional[bytes] = None # process the path parameters - if cluster_id is not None: - _path_params['cluster_id'] = cluster_id - if organization_id is not None: - _path_params['organization_id'] = organization_id + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id # process the query parameters # process the header parameters # process the form parameters @@ -12326,7 +12335,7 @@ def _get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization return self.api_client.param_serialize( method='GET', - resource_path='/clusters/{cluster_id}/organizations/{organization_id}/gpu-quota', + resource_path='/deployments/job/{deployment_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -12343,9 +12352,10 @@ def _get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization @validate_call - def get_prebuilt_images_prebuilt_images_get( + def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get( self, - type: Optional[DeploymentType] = None, + cluster_id: StrictInt, + organization_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12358,12 +12368,14 @@ def get_prebuilt_images_prebuilt_images_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ListPrebuiltImageResponse: - """Get Prebuilt Images + ) -> OrganizationGpuQuotaResponse: + """Get Org Gpu Quota On Cluster - :param type: - :type type: DeploymentType + :param cluster_id: (required) + :type cluster_id: int + :param organization_id: (required) + :type organization_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 @@ -12386,8 +12398,9 @@ def get_prebuilt_images_prebuilt_images_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_prebuilt_images_prebuilt_images_get_serialize( - type=type, + _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( + cluster_id=cluster_id, + organization_id=organization_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12395,7 +12408,7 @@ def get_prebuilt_images_prebuilt_images_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListPrebuiltImageResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12410,9 +12423,10 @@ def get_prebuilt_images_prebuilt_images_get( @validate_call - def get_prebuilt_images_prebuilt_images_get_with_http_info( + def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_with_http_info( self, - type: Optional[DeploymentType] = None, + cluster_id: StrictInt, + organization_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12425,12 +12439,14 @@ def get_prebuilt_images_prebuilt_images_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ListPrebuiltImageResponse]: - """Get Prebuilt Images + ) -> ApiResponse[OrganizationGpuQuotaResponse]: + """Get Org Gpu Quota On Cluster - :param type: - :type type: DeploymentType + :param cluster_id: (required) + :type cluster_id: int + :param organization_id: (required) + :type organization_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 @@ -12453,8 +12469,9 @@ def get_prebuilt_images_prebuilt_images_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_prebuilt_images_prebuilt_images_get_serialize( - type=type, + _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( + cluster_id=cluster_id, + organization_id=organization_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12462,7 +12479,7 @@ def get_prebuilt_images_prebuilt_images_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListPrebuiltImageResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12477,9 +12494,10 @@ def get_prebuilt_images_prebuilt_images_get_with_http_info( @validate_call - def get_prebuilt_images_prebuilt_images_get_without_preload_content( + def get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_without_preload_content( self, - type: Optional[DeploymentType] = None, + cluster_id: StrictInt, + organization_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12493,11 +12511,13 @@ def get_prebuilt_images_prebuilt_images_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Prebuilt Images + """Get Org Gpu Quota On Cluster - :param type: - :type type: DeploymentType + :param cluster_id: (required) + :type cluster_id: int + :param organization_id: (required) + :type organization_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 @@ -12520,8 +12540,9 @@ def get_prebuilt_images_prebuilt_images_get_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_prebuilt_images_prebuilt_images_get_serialize( - type=type, + _param = self._get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( + cluster_id=cluster_id, + organization_id=organization_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12529,7 +12550,7 @@ def get_prebuilt_images_prebuilt_images_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListPrebuiltImageResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12539,9 +12560,10 @@ def get_prebuilt_images_prebuilt_images_get_without_preload_content( return response_data.response - def _get_prebuilt_images_prebuilt_images_get_serialize( + def _get_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_get_serialize( self, - type, + cluster_id, + organization_id, _request_auth, _content_type, _headers, @@ -12563,11 +12585,11 @@ def _get_prebuilt_images_prebuilt_images_get_serialize( _body_params: Optional[bytes] = None # process the path parameters + if cluster_id is not None: + _path_params['cluster_id'] = cluster_id + if organization_id is not None: + _path_params['organization_id'] = organization_id # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - # process the header parameters # process the form parameters # process the body parameter @@ -12589,7 +12611,7 @@ def _get_prebuilt_images_prebuilt_images_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/prebuilt-images', + resource_path='/clusters/{cluster_id}/organizations/{organization_id}/gpu-quota', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -12606,8 +12628,9 @@ def _get_prebuilt_images_prebuilt_images_get_serialize( @validate_call - def get_usage_daily_bills_get( + def get_prebuilt_images_prebuilt_images_get( self, + type: Optional[DeploymentType] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12620,10 +12643,12 @@ def get_usage_daily_bills_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ListDailyBillResponse: - """(Deprecated) Get Usage + ) -> ListPrebuiltImageResponse: + """Get Prebuilt Images + :param type: + :type type: DeploymentType :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 @@ -12645,9 +12670,9 @@ def get_usage_daily_bills_get( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) - _param = self._get_usage_daily_bills_get_serialize( + _param = self._get_prebuilt_images_prebuilt_images_get_serialize( + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12655,7 +12680,8 @@ def get_usage_daily_bills_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListDailyBillResponse", + '200': "ListPrebuiltImageResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -12669,8 +12695,9 @@ def get_usage_daily_bills_get( @validate_call - def get_usage_daily_bills_get_with_http_info( + def get_prebuilt_images_prebuilt_images_get_with_http_info( self, + type: Optional[DeploymentType] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12683,10 +12710,12 @@ def get_usage_daily_bills_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ListDailyBillResponse]: - """(Deprecated) Get Usage + ) -> ApiResponse[ListPrebuiltImageResponse]: + """Get Prebuilt Images + :param type: + :type type: DeploymentType :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 @@ -12708,9 +12737,9 @@ def get_usage_daily_bills_get_with_http_info( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) - _param = self._get_usage_daily_bills_get_serialize( + _param = self._get_prebuilt_images_prebuilt_images_get_serialize( + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12718,7 +12747,8 @@ def get_usage_daily_bills_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListDailyBillResponse", + '200': "ListPrebuiltImageResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -12732,8 +12762,9 @@ def get_usage_daily_bills_get_with_http_info( @validate_call - def get_usage_daily_bills_get_without_preload_content( + def get_prebuilt_images_prebuilt_images_get_without_preload_content( self, + type: Optional[DeploymentType] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12747,9 +12778,11 @@ def get_usage_daily_bills_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """(Deprecated) Get Usage + """Get Prebuilt Images + :param type: + :type type: DeploymentType :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 @@ -12771,9 +12804,9 @@ def get_usage_daily_bills_get_without_preload_content( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) - _param = self._get_usage_daily_bills_get_serialize( + _param = self._get_prebuilt_images_prebuilt_images_get_serialize( + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12781,7 +12814,8 @@ def get_usage_daily_bills_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListDailyBillResponse", + '200': "ListPrebuiltImageResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -12790,8 +12824,9 @@ def get_usage_daily_bills_get_without_preload_content( return response_data.response - def _get_usage_daily_bills_get_serialize( + def _get_prebuilt_images_prebuilt_images_get_serialize( self, + type, _request_auth, _content_type, _headers, @@ -12814,6 +12849,10 @@ def _get_usage_daily_bills_get_serialize( # process the path parameters # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + # process the header parameters # process the form parameters # process the body parameter @@ -12830,11 +12869,12 @@ def _get_usage_daily_bills_get_serialize( # authentication setting _auth_settings: List[str] = [ + 'HTTPBearer' ] return self.api_client.param_serialize( method='GET', - resource_path='/daily_bills', + resource_path='/prebuilt-images', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -12851,16 +12891,9 @@ def _get_usage_daily_bills_get_serialize( @validate_call - def get_usage_deployments_usage_deployment_id_get( + def get_unified_deployment_deployments_deployment_id_get( self, deployment_id: StrictInt, - metric: Metric, - start_time_in_seconds: StrictInt, - end_time_in_seconds: StrictInt, - step: Optional[StrictInt] = None, - revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, - component: Optional[UsageComponent] = None, - pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12873,26 +12906,13 @@ def get_usage_deployments_usage_deployment_id_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetDeploymentUsageResponse: - """Get Usage + ) -> UnifiedGetDeploymentResponse: + """Get Unified Deployment + Get a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment: its request and its read-only fields. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. :param deployment_id: (required) :type deployment_id: int - :param metric: (required) - :type metric: Metric - :param start_time_in_seconds: (required) - :type start_time_in_seconds: int - :param end_time_in_seconds: (required) - :type end_time_in_seconds: int - :param step: - :type step: int - :param revision_number: - :type revision_number: int - :param component: - :type component: UsageComponent - :param pod: - :type pod: 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 @@ -12915,15 +12935,8 @@ def get_usage_deployments_usage_deployment_id_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_usage_deployments_usage_deployment_id_get_serialize( + _param = self._get_unified_deployment_deployments_deployment_id_get_serialize( deployment_id=deployment_id, - metric=metric, - start_time_in_seconds=start_time_in_seconds, - end_time_in_seconds=end_time_in_seconds, - step=step, - revision_number=revision_number, - component=component, - pod=pod, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -12931,7 +12944,7 @@ def get_usage_deployments_usage_deployment_id_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetDeploymentUsageResponse", + '200': "UnifiedGetDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -12946,16 +12959,9 @@ def get_usage_deployments_usage_deployment_id_get( @validate_call - def get_usage_deployments_usage_deployment_id_get_with_http_info( + def get_unified_deployment_deployments_deployment_id_get_with_http_info( self, deployment_id: StrictInt, - metric: Metric, - start_time_in_seconds: StrictInt, - end_time_in_seconds: StrictInt, - step: Optional[StrictInt] = None, - revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, - component: Optional[UsageComponent] = None, - pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12968,26 +12974,3520 @@ def get_usage_deployments_usage_deployment_id_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetDeploymentUsageResponse]: - """Get Usage + ) -> ApiResponse[UnifiedGetDeploymentResponse]: + """Get Unified Deployment + Get a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment: its request and its read-only fields. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. :param deployment_id: (required) :type deployment_id: int - :param metric: (required) - :type metric: Metric - :param start_time_in_seconds: (required) - :type start_time_in_seconds: int - :param end_time_in_seconds: (required) - :type end_time_in_seconds: int - :param step: - :type step: int - :param revision_number: + :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_unified_deployment_deployments_deployment_id_get_serialize( + deployment_id=deployment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentResponse", + '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_unified_deployment_deployments_deployment_id_get_without_preload_content( + self, + deployment_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 Unified Deployment + + Get a ccl_compute, ccl_inference, ccl_job or ccl_dynamo deployment: its request and its read-only fields. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. + + :param deployment_id: (required) + :type deployment_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_unified_deployment_deployments_deployment_id_get_serialize( + deployment_id=deployment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_deployments_deployment_id_get_serialize( + self, + deployment_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 deployment_id is not None: + _path_params['deployment_id'] = deployment_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='/deployments/{deployment_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 get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get( + self, + deployment_id: StrictInt, + revision_number: StrictInt, + pod: Annotated[str, Field(strict=True, max_length=253)], + fetch_newer: Optional[StrictBool] = None, + timestamp: Optional[Annotated[int, Field(le=9223372036853, strict=True, ge=0)]] = None, + max_lines: Optional[Annotated[int, Field(le=5000, strict=True, ge=1)]] = 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, + ) -> UnifiedGetDeploymentLogsResponse: + """Get Unified Deployment Logs + + Read one page of a pod's logs from Loki, with the paging of GET /logs/{deployment_id}/{revision_number}. Take the pod from GET /deployments/{deployment_id}/revisions/{revision_number}/pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) :type revision_number: int - :param component: - :type component: UsageComponent - :param pod: + :param pod: (required) :type pod: str + :param fetch_newer: + :type fetch_newer: bool + :param timestamp: + :type timestamp: int + :param max_lines: + :type max_lines: 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_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + pod=pod, + fetch_newer=fetch_newer, + timestamp=timestamp, + max_lines=max_lines, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentLogsResponse", + '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_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_with_http_info( + self, + deployment_id: StrictInt, + revision_number: StrictInt, + pod: Annotated[str, Field(strict=True, max_length=253)], + fetch_newer: Optional[StrictBool] = None, + timestamp: Optional[Annotated[int, Field(le=9223372036853, strict=True, ge=0)]] = None, + max_lines: Optional[Annotated[int, Field(le=5000, strict=True, ge=1)]] = 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, + ) -> ApiResponse[UnifiedGetDeploymentLogsResponse]: + """Get Unified Deployment Logs + + Read one page of a pod's logs from Loki, with the paging of GET /logs/{deployment_id}/{revision_number}. Take the pod from GET /deployments/{deployment_id}/revisions/{revision_number}/pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param pod: (required) + :type pod: str + :param fetch_newer: + :type fetch_newer: bool + :param timestamp: + :type timestamp: int + :param max_lines: + :type max_lines: 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_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + pod=pod, + fetch_newer=fetch_newer, + timestamp=timestamp, + max_lines=max_lines, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentLogsResponse", + '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_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_without_preload_content( + self, + deployment_id: StrictInt, + revision_number: StrictInt, + pod: Annotated[str, Field(strict=True, max_length=253)], + fetch_newer: Optional[StrictBool] = None, + timestamp: Optional[Annotated[int, Field(le=9223372036853, strict=True, ge=0)]] = None, + max_lines: Optional[Annotated[int, Field(le=5000, strict=True, ge=1)]] = 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 Unified Deployment Logs + + Read one page of a pod's logs from Loki, with the paging of GET /logs/{deployment_id}/{revision_number}. Take the pod from GET /deployments/{deployment_id}/revisions/{revision_number}/pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param pod: (required) + :type pod: str + :param fetch_newer: + :type fetch_newer: bool + :param timestamp: + :type timestamp: int + :param max_lines: + :type max_lines: 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_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + pod=pod, + fetch_newer=fetch_newer, + timestamp=timestamp, + max_lines=max_lines, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentLogsResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get_serialize( + self, + deployment_id, + revision_number, + pod, + fetch_newer, + timestamp, + max_lines, + _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 deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if revision_number is not None: + _path_params['revision_number'] = revision_number + # process the query parameters + if pod is not None: + + _query_params.append(('pod', pod)) + + if fetch_newer is not None: + + _query_params.append(('fetch_newer', fetch_newer)) + + if timestamp is not None: + + _query_params.append(('timestamp', timestamp)) + + if max_lines is not None: + + _query_params.append(('max_lines', max_lines)) + + # 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='/deployments/{deployment_id}/revisions/{revision_number}/logs', + 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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get( + self, + deployment_id: StrictInt, + revision_number: 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, + ) -> UnifiedGetDeploymentPodsResponse: + """Get Unified Deployment Pods + + List the pods that logged under one revision, recently terminated pods included. The log store's retention bounds the history, so the list can differ from the running pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentPodsResponse", + '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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_with_http_info( + self, + deployment_id: StrictInt, + revision_number: 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[UnifiedGetDeploymentPodsResponse]: + """Get Unified Deployment Pods + + List the pods that logged under one revision, recently terminated pods included. The log store's retention bounds the history, so the list can differ from the running pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentPodsResponse", + '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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_without_preload_content( + self, + deployment_id: StrictInt, + revision_number: 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 Unified Deployment Pods + + List the pods that logged under one revision, recently terminated pods included. The log store's retention bounds the history, so the list can differ from the running pods. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentPodsResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get_serialize( + self, + deployment_id, + revision_number, + _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 deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if revision_number is not None: + _path_params['revision_number'] = revision_number + # 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='/deployments/{deployment_id}/revisions/{revision_number}/pods', + 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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get( + self, + deployment_id: StrictInt, + revision_number: 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, + ) -> UnifiedGetDeploymentRevisionResponse: + """Get Unified Deployment Revision + + Get one revision of a deployment, read as GET /deployments/{deployment_id} reads the selected one. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRevisionResponse", + '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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_with_http_info( + self, + deployment_id: StrictInt, + revision_number: 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[UnifiedGetDeploymentRevisionResponse]: + """Get Unified Deployment Revision + + Get one revision of a deployment, read as GET /deployments/{deployment_id} reads the selected one. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRevisionResponse", + '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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_without_preload_content( + self, + deployment_id: StrictInt, + revision_number: 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 Unified Deployment Revision + + Get one revision of a deployment, read as GET /deployments/{deployment_id} reads the selected one. + + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: 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_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRevisionResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get_serialize( + self, + deployment_id, + revision_number, + _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 deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if revision_number is not None: + _path_params['revision_number'] = revision_number + # 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='/deployments/{deployment_id}/revisions/{revision_number}', + 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_unified_deployment_rollout_deployments_deployment_id_rollout_get( + self, + deployment_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, + ) -> UnifiedGetDeploymentRolloutResponse: + """Get Unified Deployment Rollout + + Get whether the in-flight rollout is paused, and its status. Not implemented yet. + + :param deployment_id: (required) + :type deployment_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_unified_deployment_rollout_deployments_deployment_id_rollout_get_serialize( + deployment_id=deployment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRolloutResponse", + '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_unified_deployment_rollout_deployments_deployment_id_rollout_get_with_http_info( + self, + deployment_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[UnifiedGetDeploymentRolloutResponse]: + """Get Unified Deployment Rollout + + Get whether the in-flight rollout is paused, and its status. Not implemented yet. + + :param deployment_id: (required) + :type deployment_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_unified_deployment_rollout_deployments_deployment_id_rollout_get_serialize( + deployment_id=deployment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRolloutResponse", + '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_unified_deployment_rollout_deployments_deployment_id_rollout_get_without_preload_content( + self, + deployment_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 Unified Deployment Rollout + + Get whether the in-flight rollout is paused, and its status. Not implemented yet. + + :param deployment_id: (required) + :type deployment_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_unified_deployment_rollout_deployments_deployment_id_rollout_get_serialize( + deployment_id=deployment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentRolloutResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_rollout_deployments_deployment_id_rollout_get_serialize( + self, + deployment_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 deployment_id is not None: + _path_params['deployment_id'] = deployment_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='/deployments/{deployment_id}/rollout', + 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_unified_deployment_usage_deployments_deployment_id_usage_get( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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, + ) -> UnifiedGetDeploymentUsageResponse: + """Get Unified Deployment Usage + + Read a deployment's usage metrics, as GET /deployments/usage/{deployment_id} does. ccl_dynamo takes cpu, memory, gpu and gpu_memory with the component, revision_number and pod filters, as dynamo does; its dynamo_* metrics are not supported yet. + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_unified_deployment_usage_deployments_deployment_id_usage_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentUsageResponse", + '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_unified_deployment_usage_deployments_deployment_id_usage_get_with_http_info( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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, + ) -> ApiResponse[UnifiedGetDeploymentUsageResponse]: + """Get Unified Deployment Usage + + Read a deployment's usage metrics, as GET /deployments/usage/{deployment_id} does. ccl_dynamo takes cpu, memory, gpu and gpu_memory with the component, revision_number and pod filters, as dynamo does; its dynamo_* metrics are not supported yet. + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_unified_deployment_usage_deployments_deployment_id_usage_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentUsageResponse", + '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_unified_deployment_usage_deployments_deployment_id_usage_get_without_preload_content( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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 Unified Deployment Usage + + Read a deployment's usage metrics, as GET /deployments/usage/{deployment_id} does. ccl_dynamo takes cpu, memory, gpu and gpu_memory with the component, revision_number and pod filters, as dynamo does; its dynamo_* metrics are not supported yet. + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_unified_deployment_usage_deployments_deployment_id_usage_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UnifiedGetDeploymentUsageResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_unified_deployment_usage_deployments_deployment_id_usage_get_serialize( + self, + deployment_id, + metric, + start_time_in_seconds, + end_time_in_seconds, + step, + revision_number, + component, + pod, + _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 deployment_id is not None: + _path_params['deployment_id'] = deployment_id + # process the query parameters + if metric is not None: + + _query_params.append(('metric', metric.value)) + + if start_time_in_seconds is not None: + + _query_params.append(('start_time_in_seconds', start_time_in_seconds)) + + if end_time_in_seconds is not None: + + _query_params.append(('end_time_in_seconds', end_time_in_seconds)) + + if step is not None: + + _query_params.append(('step', step)) + + if revision_number is not None: + + _query_params.append(('revision_number', revision_number)) + + if component is not None: + + _query_params.append(('component', component.value)) + + if pod is not None: + + _query_params.append(('pod', pod)) + + # 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='/deployments/{deployment_id}/usage', + 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_usage_daily_bills_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, + ) -> ListDailyBillResponse: + """(Deprecated) Get Usage + + + :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 + warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) + + _param = self._get_usage_daily_bills_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDailyBillResponse", + } + 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_usage_daily_bills_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[ListDailyBillResponse]: + """(Deprecated) Get Usage + + + :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 + warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) + + _param = self._get_usage_daily_bills_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDailyBillResponse", + } + 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_usage_daily_bills_get_without_preload_content( + 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, + ) -> RESTResponseType: + """(Deprecated) Get Usage + + + :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 + warnings.warn("GET /daily_bills is deprecated.", DeprecationWarning) + + _param = self._get_usage_daily_bills_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDailyBillResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_usage_daily_bills_get_serialize( + self, + _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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/daily_bills', + 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_usage_deployments_usage_deployment_id_get( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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, + ) -> GetDeploymentUsageResponse: + """Get Usage + + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_usage_deployments_usage_deployment_id_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentUsageResponse", + '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_usage_deployments_usage_deployment_id_get_with_http_info( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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, + ) -> ApiResponse[GetDeploymentUsageResponse]: + """Get Usage + + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_usage_deployments_usage_deployment_id_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentUsageResponse", + '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_usage_deployments_usage_deployment_id_get_without_preload_content( + self, + deployment_id: StrictInt, + metric: Metric, + start_time_in_seconds: StrictInt, + end_time_in_seconds: StrictInt, + step: Optional[StrictInt] = None, + revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, + component: Optional[UsageComponent] = None, + pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = 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 Usage + + + :param deployment_id: (required) + :type deployment_id: int + :param metric: (required) + :type metric: Metric + :param start_time_in_seconds: (required) + :type start_time_in_seconds: int + :param end_time_in_seconds: (required) + :type end_time_in_seconds: int + :param step: + :type step: int + :param revision_number: + :type revision_number: int + :param component: + :type component: UsageComponent + :param pod: + :type pod: 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_usage_deployments_usage_deployment_id_get_serialize( + deployment_id=deployment_id, + metric=metric, + start_time_in_seconds=start_time_in_seconds, + end_time_in_seconds=end_time_in_seconds, + step=step, + revision_number=revision_number, + component=component, + pod=pod, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentUsageResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_usage_deployments_usage_deployment_id_get_serialize( + self, + deployment_id, + metric, + start_time_in_seconds, + end_time_in_seconds, + step, + revision_number, + component, + pod, + _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 deployment_id is not None: + _path_params['deployment_id'] = deployment_id + # process the query parameters + if metric is not None: + + _query_params.append(('metric', metric.value)) + + if start_time_in_seconds is not None: + + _query_params.append(('start_time_in_seconds', start_time_in_seconds)) + + if end_time_in_seconds is not None: + + _query_params.append(('end_time_in_seconds', end_time_in_seconds)) + + if step is not None: + + _query_params.append(('step', step)) + + if revision_number is not None: + + _query_params.append(('revision_number', revision_number)) + + if component is not None: + + _query_params.append(('component', component.value)) + + if pod is not None: + + _query_params.append(('pod', pod)) + + # 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='/deployments/usage/{deployment_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 get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( + self, + secret_id: Annotated[int, Field(strict=True, ge=1)], + _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, + ) -> UserVaultItem: + """Get User Vault Item By Id Endpoint + + Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. + + :param secret_id: (required) + :type secret_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_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserVaultItem", + '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_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( + self, + secret_id: Annotated[int, Field(strict=True, ge=1)], + _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[UserVaultItem]: + """Get User Vault Item By Id Endpoint + + Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. + + :param secret_id: (required) + :type secret_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_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserVaultItem", + '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_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_content( + self, + secret_id: Annotated[int, Field(strict=True, ge=1)], + _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 User Vault Item By Id Endpoint + + Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. + + :param secret_id: (required) + :type secret_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_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserVaultItem", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( + self, + secret_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 secret_id is not None: + _path_params['secret_id'] = secret_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='/user_vault/{secret_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 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 get_volume_status_endpoint_volumes_status_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, + ) -> VolumeStatusResponse: + """Get Volume Status Endpoint + + Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. + + :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_status_endpoint_volumes_status_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': "VolumeStatusResponse", + '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_status_endpoint_volumes_status_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[VolumeStatusResponse]: + """Get Volume Status Endpoint + + Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. + + :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_status_endpoint_volumes_status_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': "VolumeStatusResponse", + '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_status_endpoint_volumes_status_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 Status Endpoint + + Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. + + :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_status_endpoint_volumes_status_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': "VolumeStatusResponse", + '422': "HTTPValidationError", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_volume_status_endpoint_volumes_status_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/status/{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, + invite_user_request: InviteUserRequest, + _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, + ) -> object: + """Invite User + + + :param invite_user_request: (required) + :type invite_user_request: InviteUserRequest + :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._invite_user_organizations_invite_post_serialize( + invite_user_request=invite_user_request, + _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, + ).data + + + @validate_call + def invite_user_organizations_invite_post_with_http_info( + self, + invite_user_request: InviteUserRequest, + _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]: + """Invite User + + + :param invite_user_request: (required) + :type invite_user_request: InviteUserRequest + :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._invite_user_organizations_invite_post_serialize( + invite_user_request=invite_user_request, + _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 invite_user_organizations_invite_post_without_preload_content( + self, + invite_user_request: InviteUserRequest, + _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: + """Invite User + + + :param invite_user_request: (required) + :type invite_user_request: InviteUserRequest + :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._invite_user_organizations_invite_post_serialize( + invite_user_request=invite_user_request, + _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 _invite_user_organizations_invite_post_serialize( + self, + invite_user_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 invite_user_request is not None: + _body_params = invite_user_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='/organizations/invite', + 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 list_cluster_capacity_capacity_get( + self, + cluster_id: Optional[StrictInt] = 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, + ) -> ListClusterCapacityResponse: + """List Cluster Capacity + + Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + + :param cluster_id: + :type cluster_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._list_cluster_capacity_capacity_get_serialize( + cluster_id=cluster_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListClusterCapacityResponse", + '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 list_cluster_capacity_capacity_get_with_http_info( + self, + cluster_id: Optional[StrictInt] = 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, + ) -> ApiResponse[ListClusterCapacityResponse]: + """List Cluster Capacity + + Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + + :param cluster_id: + :type cluster_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 @@ -13010,15 +16510,8 @@ def get_usage_deployments_usage_deployment_id_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_usage_deployments_usage_deployment_id_get_serialize( - deployment_id=deployment_id, - metric=metric, - start_time_in_seconds=start_time_in_seconds, - end_time_in_seconds=end_time_in_seconds, - step=step, - revision_number=revision_number, - component=component, - pod=pod, + _param = self._list_cluster_capacity_capacity_get_serialize( + cluster_id=cluster_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13026,7 +16519,7 @@ def get_usage_deployments_usage_deployment_id_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetDeploymentUsageResponse", + '200': "ListClusterCapacityResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13041,16 +16534,9 @@ def get_usage_deployments_usage_deployment_id_get_with_http_info( @validate_call - def get_usage_deployments_usage_deployment_id_get_without_preload_content( + def list_cluster_capacity_capacity_get_without_preload_content( self, - deployment_id: StrictInt, - metric: Metric, - start_time_in_seconds: StrictInt, - end_time_in_seconds: StrictInt, - step: Optional[StrictInt] = None, - revision_number: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, - component: Optional[UsageComponent] = None, - pod: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None, + cluster_id: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13064,25 +16550,12 @@ def get_usage_deployments_usage_deployment_id_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Usage + """List Cluster Capacity + Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. - :param deployment_id: (required) - :type deployment_id: int - :param metric: (required) - :type metric: Metric - :param start_time_in_seconds: (required) - :type start_time_in_seconds: int - :param end_time_in_seconds: (required) - :type end_time_in_seconds: int - :param step: - :type step: int - :param revision_number: - :type revision_number: int - :param component: - :type component: UsageComponent - :param pod: - :type pod: str + :param cluster_id: + :type cluster_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 @@ -13105,15 +16578,8 @@ def get_usage_deployments_usage_deployment_id_get_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_usage_deployments_usage_deployment_id_get_serialize( - deployment_id=deployment_id, - metric=metric, - start_time_in_seconds=start_time_in_seconds, - end_time_in_seconds=end_time_in_seconds, - step=step, - revision_number=revision_number, - component=component, - pod=pod, + _param = self._list_cluster_capacity_capacity_get_serialize( + cluster_id=cluster_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13121,7 +16587,7 @@ def get_usage_deployments_usage_deployment_id_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetDeploymentUsageResponse", + '200': "ListClusterCapacityResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13131,16 +16597,9 @@ def get_usage_deployments_usage_deployment_id_get_without_preload_content( return response_data.response - def _get_usage_deployments_usage_deployment_id_get_serialize( + def _list_cluster_capacity_capacity_get_serialize( self, - deployment_id, - metric, - start_time_in_seconds, - end_time_in_seconds, - step, - revision_number, - component, - pod, + cluster_id, _request_auth, _content_type, _headers, @@ -13162,36 +16621,10 @@ def _get_usage_deployments_usage_deployment_id_get_serialize( _body_params: Optional[bytes] = None # process the path parameters - if deployment_id is not None: - _path_params['deployment_id'] = deployment_id # process the query parameters - if metric is not None: - - _query_params.append(('metric', metric.value)) - - if start_time_in_seconds is not None: - - _query_params.append(('start_time_in_seconds', start_time_in_seconds)) - - if end_time_in_seconds is not None: - - _query_params.append(('end_time_in_seconds', end_time_in_seconds)) - - if step is not None: - - _query_params.append(('step', step)) - - if revision_number is not None: - - _query_params.append(('revision_number', revision_number)) - - if component is not None: - - _query_params.append(('component', component.value)) - - if pod is not None: + if cluster_id is not None: - _query_params.append(('pod', pod)) + _query_params.append(('cluster_id', cluster_id)) # process the header parameters # process the form parameters @@ -13214,7 +16647,7 @@ def _get_usage_deployments_usage_deployment_id_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/deployments/usage/{deployment_id}', + resource_path='/capacity', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -13231,9 +16664,9 @@ def _get_usage_deployments_usage_deployment_id_get_serialize( @validate_call - def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( + def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( self, - secret_id: Annotated[int, Field(strict=True, ge=1)], + cluster_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13246,13 +16679,12 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UserVaultItem: - """Get User Vault Item By Id Endpoint + ) -> ListOrganizationGpuQuotaResponse: + """List Cluster Org Gpu Quotas - Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. - :param secret_id: (required) - :type secret_id: int + :param cluster_id: (required) + :type cluster_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 @@ -13275,8 +16707,8 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( - secret_id=secret_id, + _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( + cluster_id=cluster_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13284,7 +16716,7 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UserVaultItem", + '200': "ListOrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13299,9 +16731,9 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get( @validate_call - def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( + def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_with_http_info( self, - secret_id: Annotated[int, Field(strict=True, ge=1)], + cluster_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13314,13 +16746,12 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UserVaultItem]: - """Get User Vault Item By Id Endpoint + ) -> ApiResponse[ListOrganizationGpuQuotaResponse]: + """List Cluster Org Gpu Quotas - Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. - :param secret_id: (required) - :type secret_id: int + :param cluster_id: (required) + :type cluster_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 @@ -13343,8 +16774,8 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( - secret_id=secret_id, + _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( + cluster_id=cluster_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13352,7 +16783,7 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UserVaultItem", + '200': "ListOrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13367,9 +16798,9 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_with_http_info( @validate_call - def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_content( + def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_without_preload_content( self, - secret_id: Annotated[int, Field(strict=True, ge=1)], + cluster_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13383,12 +16814,11 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get User Vault Item By Id Endpoint + """List Cluster Org Gpu Quotas - Resolve a single secret's value. This is the only endpoint that returns a vault value, so it is the single place where read access to secret material is authorized and auditable. - :param secret_id: (required) - :type secret_id: int + :param cluster_id: (required) + :type cluster_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 @@ -13411,8 +16841,8 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_ :return: Returns the result object. """ # noqa: E501 - _param = self._get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( - secret_id=secret_id, + _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( + cluster_id=cluster_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13420,7 +16850,7 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UserVaultItem", + '200': "ListOrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13430,9 +16860,9 @@ def get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_without_preload_ return response_data.response - def _get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( + def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( self, - secret_id, + cluster_id, _request_auth, _content_type, _headers, @@ -13454,8 +16884,8 @@ def _get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( _body_params: Optional[bytes] = None # process the path parameters - if secret_id is not None: - _path_params['secret_id'] = secret_id + if cluster_id is not None: + _path_params['cluster_id'] = cluster_id # process the query parameters # process the header parameters # process the form parameters @@ -13478,7 +16908,7 @@ def _get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/user_vault/{secret_id}', + resource_path='/clusters/{cluster_id}/gpu-quota/organizations', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -13495,9 +16925,16 @@ def _get_user_vault_item_by_id_endpoint_user_vault_secret_id_get_serialize( @validate_call - def get_volume_endpoint_volumes_volume_id_get( + def list_insights_insights_get( self, - volume_id: StrictInt, + status: Annotated[Optional[List[InsightStatus]], Field(description="Repeat to list several statuses")] = None, + severity: Optional[InsightSeverity] = None, + cluster_id: Optional[StrictInt] = None, + deployment_id: Optional[StrictInt] = None, + resource_type: Optional[InsightResourceType] = None, + observed_after: Optional[datetime] = None, + limit: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = None, + before_id: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13510,13 +16947,26 @@ def get_volume_endpoint_volumes_volume_id_get( _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 + ) -> ListInsightsResponse: + """List Insights - Retrieve a single volume by id. - :param volume_id: (required) - :type volume_id: int + :param status: Repeat to list several statuses + :type status: List[InsightStatus] + :param severity: + :type severity: InsightSeverity + :param cluster_id: + :type cluster_id: int + :param deployment_id: + :type deployment_id: int + :param resource_type: + :type resource_type: InsightResourceType + :param observed_after: + :type observed_after: datetime + :param limit: + :type limit: int + :param before_id: + :type before_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 @@ -13539,8 +16989,15 @@ def get_volume_endpoint_volumes_volume_id_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_endpoint_volumes_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_insights_insights_get_serialize( + status=status, + severity=severity, + cluster_id=cluster_id, + deployment_id=deployment_id, + resource_type=resource_type, + observed_after=observed_after, + limit=limit, + before_id=before_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13548,7 +17005,7 @@ def get_volume_endpoint_volumes_volume_id_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetVolumeResponse", + '200': "ListInsightsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13563,9 +17020,16 @@ def get_volume_endpoint_volumes_volume_id_get( @validate_call - def get_volume_endpoint_volumes_volume_id_get_with_http_info( + def list_insights_insights_get_with_http_info( self, - volume_id: StrictInt, + status: Annotated[Optional[List[InsightStatus]], Field(description="Repeat to list several statuses")] = None, + severity: Optional[InsightSeverity] = None, + cluster_id: Optional[StrictInt] = None, + deployment_id: Optional[StrictInt] = None, + resource_type: Optional[InsightResourceType] = None, + observed_after: Optional[datetime] = None, + limit: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = None, + before_id: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13578,13 +17042,26 @@ def get_volume_endpoint_volumes_volume_id_get_with_http_info( _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 + ) -> ApiResponse[ListInsightsResponse]: + """List Insights - Retrieve a single volume by id. - :param volume_id: (required) - :type volume_id: int + :param status: Repeat to list several statuses + :type status: List[InsightStatus] + :param severity: + :type severity: InsightSeverity + :param cluster_id: + :type cluster_id: int + :param deployment_id: + :type deployment_id: int + :param resource_type: + :type resource_type: InsightResourceType + :param observed_after: + :type observed_after: datetime + :param limit: + :type limit: int + :param before_id: + :type before_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 @@ -13607,8 +17084,15 @@ def get_volume_endpoint_volumes_volume_id_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_endpoint_volumes_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_insights_insights_get_serialize( + status=status, + severity=severity, + cluster_id=cluster_id, + deployment_id=deployment_id, + resource_type=resource_type, + observed_after=observed_after, + limit=limit, + before_id=before_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13616,7 +17100,7 @@ def get_volume_endpoint_volumes_volume_id_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetVolumeResponse", + '200': "ListInsightsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13631,9 +17115,16 @@ def get_volume_endpoint_volumes_volume_id_get_with_http_info( @validate_call - def get_volume_endpoint_volumes_volume_id_get_without_preload_content( + def list_insights_insights_get_without_preload_content( self, - volume_id: StrictInt, + status: Annotated[Optional[List[InsightStatus]], Field(description="Repeat to list several statuses")] = None, + severity: Optional[InsightSeverity] = None, + cluster_id: Optional[StrictInt] = None, + deployment_id: Optional[StrictInt] = None, + resource_type: Optional[InsightResourceType] = None, + observed_after: Optional[datetime] = None, + limit: Optional[Annotated[int, Field(le=100, strict=True, ge=1)]] = None, + before_id: Optional[Annotated[int, Field(strict=True, ge=1)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13647,12 +17138,25 @@ def get_volume_endpoint_volumes_volume_id_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Volume Endpoint + """List Insights - Retrieve a single volume by id. - :param volume_id: (required) - :type volume_id: int + :param status: Repeat to list several statuses + :type status: List[InsightStatus] + :param severity: + :type severity: InsightSeverity + :param cluster_id: + :type cluster_id: int + :param deployment_id: + :type deployment_id: int + :param resource_type: + :type resource_type: InsightResourceType + :param observed_after: + :type observed_after: datetime + :param limit: + :type limit: int + :param before_id: + :type before_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 @@ -13675,8 +17179,15 @@ def get_volume_endpoint_volumes_volume_id_get_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_endpoint_volumes_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_insights_insights_get_serialize( + status=status, + severity=severity, + cluster_id=cluster_id, + deployment_id=deployment_id, + resource_type=resource_type, + observed_after=observed_after, + limit=limit, + before_id=before_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13684,7 +17195,7 @@ def get_volume_endpoint_volumes_volume_id_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetVolumeResponse", + '200': "ListInsightsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -13694,9 +17205,16 @@ def get_volume_endpoint_volumes_volume_id_get_without_preload_content( return response_data.response - def _get_volume_endpoint_volumes_volume_id_get_serialize( + def _list_insights_insights_get_serialize( self, - volume_id, + status, + severity, + cluster_id, + deployment_id, + resource_type, + observed_after, + limit, + before_id, _request_auth, _content_type, _headers, @@ -13706,6 +17224,7 @@ def _get_volume_endpoint_volumes_volume_id_get_serialize( _host = None _collection_formats: Dict[str, str] = { + 'status': 'multi', } _path_params: Dict[str, str] = {} @@ -13718,9 +17237,48 @@ def _get_volume_endpoint_volumes_volume_id_get_serialize( _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 + if status is not None: + + _query_params.append(('status', status)) + + if severity is not None: + + _query_params.append(('severity', severity.value)) + + if cluster_id is not None: + + _query_params.append(('cluster_id', cluster_id)) + + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if resource_type is not None: + + _query_params.append(('resource_type', resource_type.value)) + + if observed_after is not None: + if isinstance(observed_after, datetime): + _query_params.append( + ( + 'observed_after', + observed_after.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('observed_after', observed_after)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if before_id is not None: + + _query_params.append(('before_id', before_id)) + # process the header parameters # process the form parameters # process the body parameter @@ -13742,7 +17300,7 @@ def _get_volume_endpoint_volumes_volume_id_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/volumes/{volume_id}', + resource_path='/insights', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -13759,9 +17317,8 @@ def _get_volume_endpoint_volumes_volume_id_get_serialize( @validate_call - def get_volume_status_endpoint_volumes_status_volume_id_get( + def list_service_accounts_service_accounts_get( self, - volume_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13774,13 +17331,10 @@ def get_volume_status_endpoint_volumes_status_volume_id_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> VolumeStatusResponse: - """Get Volume Status Endpoint + ) -> ListServiceAccountsResponse: + """List Service Accounts - Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. - :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 @@ -13803,8 +17357,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get( :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_status_endpoint_volumes_status_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_service_accounts_service_accounts_get_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13812,8 +17365,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VolumeStatusResponse", - '422': "HTTPValidationError", + '200': "ListServiceAccountsResponse", } response_data = self.api_client.call_api( *_param, @@ -13827,9 +17379,8 @@ def get_volume_status_endpoint_volumes_status_volume_id_get( @validate_call - def get_volume_status_endpoint_volumes_status_volume_id_get_with_http_info( + def list_service_accounts_service_accounts_get_with_http_info( self, - volume_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13842,13 +17393,10 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[VolumeStatusResponse]: - """Get Volume Status Endpoint + ) -> ApiResponse[ListServiceAccountsResponse]: + """List Service Accounts - Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. - :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 @@ -13871,8 +17419,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_status_endpoint_volumes_status_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_service_accounts_service_accounts_get_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13880,8 +17427,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VolumeStatusResponse", - '422': "HTTPValidationError", + '200': "ListServiceAccountsResponse", } response_data = self.api_client.call_api( *_param, @@ -13895,9 +17441,8 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_with_http_info( @validate_call - def get_volume_status_endpoint_volumes_status_volume_id_get_without_preload_content( + def list_service_accounts_service_accounts_get_without_preload_content( self, - volume_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -13911,12 +17456,9 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_without_preload_cont _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get Volume Status Endpoint + """List Service Accounts - Live volume status: status is the stored intent, service_status is computed from the volume app's health and PVC phase. - :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 @@ -13939,8 +17481,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_without_preload_cont :return: Returns the result object. """ # noqa: E501 - _param = self._get_volume_status_endpoint_volumes_status_volume_id_get_serialize( - volume_id=volume_id, + _param = self._list_service_accounts_service_accounts_get_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -13948,8 +17489,7 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_without_preload_cont ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VolumeStatusResponse", - '422': "HTTPValidationError", + '200': "ListServiceAccountsResponse", } response_data = self.api_client.call_api( *_param, @@ -13958,9 +17498,8 @@ def get_volume_status_endpoint_volumes_status_volume_id_get_without_preload_cont return response_data.response - def _get_volume_status_endpoint_volumes_status_volume_id_get_serialize( + def _list_service_accounts_service_accounts_get_serialize( self, - volume_id, _request_auth, _content_type, _headers, @@ -13982,8 +17521,6 @@ def _get_volume_status_endpoint_volumes_status_volume_id_get_serialize( _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 @@ -14006,7 +17543,7 @@ def _get_volume_status_endpoint_volumes_status_volume_id_get_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/volumes/status/{volume_id}', + resource_path='/service-accounts', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -14023,9 +17560,9 @@ def _get_volume_status_endpoint_volumes_status_volume_id_get_serialize( @validate_call - def invite_user_organizations_invite_post( + def list_unified_deployment_revisions_deployments_deployment_id_revisions_get( self, - invite_user_request: InviteUserRequest, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14038,12 +17575,13 @@ def invite_user_organizations_invite_post( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: - """Invite User + ) -> UnifiedListDeploymentRevisionsResponse: + """List Unified Deployment Revisions + List a deployment's revisions, newest first, each read as GET /deployments/{deployment_id} reads the selected one. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. - :param invite_user_request: (required) - :type invite_user_request: InviteUserRequest + :param deployment_id: (required) + :type deployment_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 @@ -14066,8 +17604,8 @@ def invite_user_organizations_invite_post( :return: Returns the result object. """ # noqa: E501 - _param = self._invite_user_organizations_invite_post_serialize( - invite_user_request=invite_user_request, + _param = self._list_unified_deployment_revisions_deployments_deployment_id_revisions_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14075,7 +17613,7 @@ def invite_user_organizations_invite_post( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UnifiedListDeploymentRevisionsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14090,9 +17628,9 @@ def invite_user_organizations_invite_post( @validate_call - def invite_user_organizations_invite_post_with_http_info( + def list_unified_deployment_revisions_deployments_deployment_id_revisions_get_with_http_info( self, - invite_user_request: InviteUserRequest, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14105,12 +17643,13 @@ def invite_user_organizations_invite_post_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: - """Invite User + ) -> ApiResponse[UnifiedListDeploymentRevisionsResponse]: + """List Unified Deployment Revisions + List a deployment's revisions, newest first, each read as GET /deployments/{deployment_id} reads the selected one. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. - :param invite_user_request: (required) - :type invite_user_request: InviteUserRequest + :param deployment_id: (required) + :type deployment_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 @@ -14133,8 +17672,8 @@ def invite_user_organizations_invite_post_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._invite_user_organizations_invite_post_serialize( - invite_user_request=invite_user_request, + _param = self._list_unified_deployment_revisions_deployments_deployment_id_revisions_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14142,7 +17681,7 @@ def invite_user_organizations_invite_post_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UnifiedListDeploymentRevisionsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14157,9 +17696,9 @@ def invite_user_organizations_invite_post_with_http_info( @validate_call - def invite_user_organizations_invite_post_without_preload_content( + def list_unified_deployment_revisions_deployments_deployment_id_revisions_get_without_preload_content( self, - invite_user_request: InviteUserRequest, + deployment_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14173,11 +17712,12 @@ def invite_user_organizations_invite_post_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Invite User + """List Unified Deployment Revisions + List a deployment's revisions, newest first, each read as GET /deployments/{deployment_id} reads the selected one. env.vars values are masked unless the caller owns the deployment or may manage the organization's deployments. - :param invite_user_request: (required) - :type invite_user_request: InviteUserRequest + :param deployment_id: (required) + :type deployment_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 @@ -14200,8 +17740,8 @@ def invite_user_organizations_invite_post_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._invite_user_organizations_invite_post_serialize( - invite_user_request=invite_user_request, + _param = self._list_unified_deployment_revisions_deployments_deployment_id_revisions_get_serialize( + deployment_id=deployment_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14209,7 +17749,7 @@ def invite_user_organizations_invite_post_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UnifiedListDeploymentRevisionsResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14219,9 +17759,9 @@ def invite_user_organizations_invite_post_without_preload_content( return response_data.response - def _invite_user_organizations_invite_post_serialize( + def _list_unified_deployment_revisions_deployments_deployment_id_revisions_get_serialize( self, - invite_user_request, + deployment_id, _request_auth, _content_type, _headers, @@ -14243,12 +17783,12 @@ def _invite_user_organizations_invite_post_serialize( _body_params: Optional[bytes] = None # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if invite_user_request is not None: - _body_params = invite_user_request # set the HTTP header `Accept` @@ -14259,19 +17799,6 @@ def _invite_user_organizations_invite_post_serialize( ] ) - # 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] = [ @@ -14279,8 +17806,8 @@ def _invite_user_organizations_invite_post_serialize( ] return self.api_client.param_serialize( - method='POST', - resource_path='/organizations/invite', + method='GET', + resource_path='/deployments/{deployment_id}/revisions', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -14297,9 +17824,11 @@ def _invite_user_organizations_invite_post_serialize( @validate_call - def list_cluster_capacity_capacity_get( + def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put( self, - cluster_id: Optional[StrictInt] = None, + cluster_id: StrictInt, + organization_id: StrictInt, + organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14312,13 +17841,17 @@ def list_cluster_capacity_capacity_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ListClusterCapacityResponse: - """List Cluster Capacity + ) -> OrganizationGpuQuotaResponse: + """Put Org Gpu Quota On Cluster - Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: + :param cluster_id: (required) :type cluster_id: int + :param organization_id: (required) + :type organization_id: int + :param organization_gpu_quota_request: (required) + :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -14341,8 +17874,10 @@ def list_cluster_capacity_capacity_get( :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_capacity_capacity_get_serialize( + _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( cluster_id=cluster_id, + organization_id=organization_id, + organization_gpu_quota_request=organization_gpu_quota_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14350,7 +17885,7 @@ def list_cluster_capacity_capacity_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListClusterCapacityResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14365,9 +17900,11 @@ def list_cluster_capacity_capacity_get( @validate_call - def list_cluster_capacity_capacity_get_with_http_info( + def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_with_http_info( self, - cluster_id: Optional[StrictInt] = None, + cluster_id: StrictInt, + organization_id: StrictInt, + organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14380,13 +17917,17 @@ def list_cluster_capacity_capacity_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ListClusterCapacityResponse]: - """List Cluster Capacity + ) -> ApiResponse[OrganizationGpuQuotaResponse]: + """Put Org Gpu Quota On Cluster - Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: + :param cluster_id: (required) :type cluster_id: int + :param organization_id: (required) + :type organization_id: int + :param organization_gpu_quota_request: (required) + :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -14409,8 +17950,10 @@ def list_cluster_capacity_capacity_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_capacity_capacity_get_serialize( + _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( cluster_id=cluster_id, + organization_id=organization_id, + organization_gpu_quota_request=organization_gpu_quota_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14418,7 +17961,7 @@ def list_cluster_capacity_capacity_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListClusterCapacityResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14433,9 +17976,11 @@ def list_cluster_capacity_capacity_get_with_http_info( @validate_call - def list_cluster_capacity_capacity_get_without_preload_content( + def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_without_preload_content( self, - cluster_id: Optional[StrictInt] = None, + cluster_id: StrictInt, + organization_id: StrictInt, + organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14449,12 +17994,16 @@ def list_cluster_capacity_capacity_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List Cluster Capacity + """Put Org Gpu Quota On Cluster - Return GPU capacity breakdown for accessible clusters. When *cluster_id* is supplied only that cluster is included (if accessible). Clusters whose Prometheus data is unavailable are omitted from the results rather than failing the entire request. + Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: + :param cluster_id: (required) :type cluster_id: int + :param organization_id: (required) + :type organization_id: int + :param organization_gpu_quota_request: (required) + :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -14477,8 +18026,10 @@ def list_cluster_capacity_capacity_get_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_capacity_capacity_get_serialize( + _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( cluster_id=cluster_id, + organization_id=organization_id, + organization_gpu_quota_request=organization_gpu_quota_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14486,7 +18037,7 @@ def list_cluster_capacity_capacity_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListClusterCapacityResponse", + '200': "OrganizationGpuQuotaResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14496,9 +18047,11 @@ def list_cluster_capacity_capacity_get_without_preload_content( return response_data.response - def _list_cluster_capacity_capacity_get_serialize( + def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( self, cluster_id, + organization_id, + organization_gpu_quota_request, _request_auth, _content_type, _headers, @@ -14520,14 +18073,16 @@ def _list_cluster_capacity_capacity_get_serialize( _body_params: Optional[bytes] = None # process the path parameters - # process the query parameters if cluster_id is not None: - - _query_params.append(('cluster_id', cluster_id)) - + _path_params['cluster_id'] = cluster_id + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if organization_gpu_quota_request is not None: + _body_params = organization_gpu_quota_request # set the HTTP header `Accept` @@ -14538,6 +18093,19 @@ def _list_cluster_capacity_capacity_get_serialize( ] ) + # 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] = [ @@ -14545,8 +18113,8 @@ def _list_cluster_capacity_capacity_get_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/capacity', + method='PUT', + resource_path='/clusters/{cluster_id}/organizations/{organization_id}/gpu-quota', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -14563,9 +18131,11 @@ def _list_cluster_capacity_capacity_get_serialize( @validate_call - def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( + def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put( self, - cluster_id: StrictInt, + deployment_id: StrictInt, + revision_number: StrictInt, + rollout_strategy_params: Optional[RolloutStrategyParams] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14578,12 +18148,17 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ListOrganizationGpuQuotaResponse: - """List Cluster Org Gpu Quotas + ) -> UpdateDeploymentResponse: + """Rollout Existing Revision + Change the selected revision for a deployment and apply the changes. - :param cluster_id: (required) - :type cluster_id: int + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param rollout_strategy_params: + :type rollout_strategy_params: RolloutStrategyParams :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 @@ -14606,8 +18181,10 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( - cluster_id=cluster_id, + _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + rollout_strategy_params=rollout_strategy_params, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14615,7 +18192,7 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListOrganizationGpuQuotaResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14630,9 +18207,11 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get( @validate_call - def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_with_http_info( + def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_with_http_info( self, - cluster_id: StrictInt, + deployment_id: StrictInt, + revision_number: StrictInt, + rollout_strategy_params: Optional[RolloutStrategyParams] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14645,12 +18224,17 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ListOrganizationGpuQuotaResponse]: - """List Cluster Org Gpu Quotas + ) -> ApiResponse[UpdateDeploymentResponse]: + """Rollout Existing Revision + Change the selected revision for a deployment and apply the changes. - :param cluster_id: (required) - :type cluster_id: int + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param rollout_strategy_params: + :type rollout_strategy_params: RolloutStrategyParams :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 @@ -14673,8 +18257,10 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( - cluster_id=cluster_id, + _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + rollout_strategy_params=rollout_strategy_params, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14682,7 +18268,7 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListOrganizationGpuQuotaResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14697,9 +18283,11 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ @validate_call - def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_without_preload_content( + def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_without_preload_content( self, - cluster_id: StrictInt, + deployment_id: StrictInt, + revision_number: StrictInt, + rollout_strategy_params: Optional[RolloutStrategyParams] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14713,11 +18301,16 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List Cluster Org Gpu Quotas + """Rollout Existing Revision + Change the selected revision for a deployment and apply the changes. - :param cluster_id: (required) - :type cluster_id: int + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param rollout_strategy_params: + :type rollout_strategy_params: RolloutStrategyParams :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 @@ -14740,8 +18333,10 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ :return: Returns the result object. """ # noqa: E501 - _param = self._list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( - cluster_id=cluster_id, + _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + rollout_strategy_params=rollout_strategy_params, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14749,7 +18344,7 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListOrganizationGpuQuotaResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -14759,9 +18354,11 @@ def list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_ return response_data.response - def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get_serialize( + def _rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( self, - cluster_id, + deployment_id, + revision_number, + rollout_strategy_params, _request_auth, _content_type, _headers, @@ -14783,12 +18380,16 @@ def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get _body_params: Optional[bytes] = None # process the path parameters - if cluster_id is not None: - _path_params['cluster_id'] = cluster_id + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if revision_number is not None: + _path_params['revision_number'] = revision_number # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if rollout_strategy_params is not None: + _body_params = rollout_strategy_params # set the HTTP header `Accept` @@ -14799,6 +18400,19 @@ def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get ] ) + # 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] = [ @@ -14806,8 +18420,8 @@ def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get ] return self.api_client.param_serialize( - method='GET', - resource_path='/clusters/{cluster_id}/gpu-quota/organizations', + method='PUT', + resource_path='/deployments/revisions/{deployment_id}/{revision_number}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -14824,8 +18438,12 @@ def _list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations_get @validate_call - def list_service_accounts_service_accounts_get( + def rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put( self, + deployment_id: StrictInt, + revision_number: StrictInt, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14838,10 +18456,19 @@ def list_service_accounts_service_accounts_get( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ListServiceAccountsResponse: - """List Service Accounts + ) -> UnifiedWriteDeploymentResponse: + """Rollout Unified Deployment Revision + Select a revision and roll the deployment out at it; ccl_job deployments cannot roll out a revision. An ACTIVE deployment applies the revision. A PAUSED deployment only selects it, and a resume applies it. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -14864,7 +18491,11 @@ def list_service_accounts_service_accounts_get( :return: Returns the result object. """ # noqa: E501 - _param = self._list_service_accounts_service_accounts_get_serialize( + _param = self._rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14872,7 +18503,8 @@ def list_service_accounts_service_accounts_get( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListServiceAccountsResponse", + '200': "UnifiedWriteDeploymentResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -14886,8 +18518,12 @@ def list_service_accounts_service_accounts_get( @validate_call - def list_service_accounts_service_accounts_get_with_http_info( + def rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_with_http_info( self, + deployment_id: StrictInt, + revision_number: StrictInt, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14900,10 +18536,19 @@ def list_service_accounts_service_accounts_get_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ListServiceAccountsResponse]: - """List Service Accounts + ) -> ApiResponse[UnifiedWriteDeploymentResponse]: + """Rollout Unified Deployment Revision + Select a revision and roll the deployment out at it; ccl_job deployments cannot roll out a revision. An ACTIVE deployment applies the revision. A PAUSED deployment only selects it, and a resume applies it. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -14926,7 +18571,11 @@ def list_service_accounts_service_accounts_get_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._list_service_accounts_service_accounts_get_serialize( + _param = self._rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14934,7 +18583,8 @@ def list_service_accounts_service_accounts_get_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListServiceAccountsResponse", + '200': "UnifiedWriteDeploymentResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -14948,8 +18598,12 @@ def list_service_accounts_service_accounts_get_with_http_info( @validate_call - def list_service_accounts_service_accounts_get_without_preload_content( + def rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_without_preload_content( self, + deployment_id: StrictInt, + revision_number: StrictInt, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14963,9 +18617,18 @@ def list_service_accounts_service_accounts_get_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List Service Accounts + """Rollout Unified Deployment Revision + Select a revision and roll the deployment out at it; ccl_job deployments cannot roll out a revision. An ACTIVE deployment applies the revision. A PAUSED deployment only selects it, and a resume applies it. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. + :param deployment_id: (required) + :type deployment_id: int + :param revision_number: (required) + :type revision_number: int + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -14988,7 +18651,11 @@ def list_service_accounts_service_accounts_get_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._list_service_accounts_service_accounts_get_serialize( + _param = self._rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_serialize( + deployment_id=deployment_id, + revision_number=revision_number, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -14996,7 +18663,8 @@ def list_service_accounts_service_accounts_get_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ListServiceAccountsResponse", + '200': "UnifiedWriteDeploymentResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -15005,8 +18673,12 @@ def list_service_accounts_service_accounts_get_without_preload_content( return response_data.response - def _list_service_accounts_service_accounts_get_serialize( + def _rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put_serialize( self, + deployment_id, + revision_number, + max_surge, + max_unavailable, _request_auth, _content_type, _headers, @@ -15028,7 +18700,19 @@ def _list_service_accounts_service_accounts_get_serialize( _body_params: Optional[bytes] = None # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if revision_number is not None: + _path_params['revision_number'] = revision_number # process the query parameters + if max_surge is not None: + + _query_params.append(('max_surge', max_surge)) + + if max_unavailable is not None: + + _query_params.append(('max_unavailable', max_unavailable)) + # process the header parameters # process the form parameters # process the body parameter @@ -15049,8 +18733,8 @@ def _list_service_accounts_service_accounts_get_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/service-accounts', + method='PUT', + resource_path='/deployments/{deployment_id}/revisions/{revision_number}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15067,11 +18751,8 @@ def _list_service_accounts_service_accounts_get_serialize( @validate_call - def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put( + def setup_stripe_customer_payments_setup_post( self, - cluster_id: StrictInt, - organization_id: StrictInt, - organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15084,17 +18765,10 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> OrganizationGpuQuotaResponse: - """Put Org Gpu Quota On Cluster + ) -> object: + """Setup Stripe Customer - Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int - :param organization_gpu_quota_request: (required) - :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -15117,10 +18791,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( - cluster_id=cluster_id, - organization_id=organization_id, - organization_gpu_quota_request=organization_gpu_quota_request, + _param = self._setup_stripe_customer_payments_setup_post_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15128,8 +18799,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", - '422': "HTTPValidationError", + '200': "object", } response_data = self.api_client.call_api( *_param, @@ -15143,11 +18813,8 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ @validate_call - def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_with_http_info( + def setup_stripe_customer_payments_setup_post_with_http_info( self, - cluster_id: StrictInt, - organization_id: StrictInt, - organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15160,17 +18827,10 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[OrganizationGpuQuotaResponse]: - """Put Org Gpu Quota On Cluster + ) -> ApiResponse[object]: + """Setup Stripe Customer - Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int - :param organization_gpu_quota_request: (required) - :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -15193,10 +18853,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( - cluster_id=cluster_id, - organization_id=organization_id, - organization_gpu_quota_request=organization_gpu_quota_request, + _param = self._setup_stripe_customer_payments_setup_post_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15204,8 +18861,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", - '422': "HTTPValidationError", + '200': "object", } response_data = self.api_client.call_api( *_param, @@ -15219,11 +18875,8 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ @validate_call - def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_without_preload_content( + def setup_stripe_customer_payments_setup_post_without_preload_content( self, - cluster_id: StrictInt, - organization_id: StrictInt, - organization_gpu_quota_request: OrganizationGpuQuotaRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15237,16 +18890,9 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Put Org Gpu Quota On Cluster + """Setup Stripe Customer - Persist organization GPU quota on this cluster and apply KAI Queue CRs. ``gpu_quota`` of -1 is unlimited; a positive value is a hard cap. Rows are never removed. Requires ``CATALOG_TARGET_REVISION`` to contain ``catalog/src/catalog/kai_gpu_queues``. A 200 means the quota row was saved and an Argo CD sync was requested (not that Queue CRs are already healthy). A 502 means the row was saved but the Application upsert/sync request failed; re-issue this idempotent PUT to retry. - :param cluster_id: (required) - :type cluster_id: int - :param organization_id: (required) - :type organization_id: int - :param organization_gpu_quota_request: (required) - :type organization_gpu_quota_request: OrganizationGpuQuotaRequest :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 @@ -15269,10 +18915,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ :return: Returns the result object. """ # noqa: E501 - _param = self._put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( - cluster_id=cluster_id, - organization_id=organization_id, - organization_gpu_quota_request=organization_gpu_quota_request, + _param = self._setup_stripe_customer_payments_setup_post_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15280,8 +18923,7 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "OrganizationGpuQuotaResponse", - '422': "HTTPValidationError", + '200': "object", } response_data = self.api_client.call_api( *_param, @@ -15290,11 +18932,8 @@ def put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_ return response_data.response - def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put_serialize( + def _setup_stripe_customer_payments_setup_post_serialize( self, - cluster_id, - organization_id, - organization_gpu_quota_request, _request_auth, _content_type, _headers, @@ -15316,16 +18955,10 @@ def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization _body_params: Optional[bytes] = None # process the path parameters - if cluster_id is not None: - _path_params['cluster_id'] = cluster_id - if organization_id is not None: - _path_params['organization_id'] = organization_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if organization_gpu_quota_request is not None: - _body_params = organization_gpu_quota_request # set the HTTP header `Accept` @@ -15336,19 +18969,6 @@ def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization ] ) - # 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] = [ @@ -15356,8 +18976,8 @@ def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization ] return self.api_client.param_serialize( - method='PUT', - resource_path='/clusters/{cluster_id}/organizations/{organization_id}/gpu-quota', + method='POST', + resource_path='/payments/setup', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15374,11 +18994,10 @@ def _put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization @validate_call - def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put( + def update_cluster_clusters_cluster_id_put( self, - deployment_id: StrictInt, - revision_number: StrictInt, - rollout_strategy_params: Optional[RolloutStrategyParams] = None, + cluster_id: StrictInt, + cluster_config: ClusterConfig, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15391,17 +19010,15 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UpdateDeploymentResponse: - """Rollout Existing Revision - - Change the selected revision for a deployment and apply the changes. + ) -> object: + """Update Cluster - :param deployment_id: (required) - :type deployment_id: int - :param revision_number: (required) - :type revision_number: int - :param rollout_strategy_params: - :type rollout_strategy_params: RolloutStrategyParams + Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. + + :param cluster_id: (required) + :type cluster_id: int + :param cluster_config: (required) + :type cluster_config: ClusterConfig :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 @@ -15424,10 +19041,9 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe :return: Returns the result object. """ # noqa: E501 - _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( - deployment_id=deployment_id, - revision_number=revision_number, - rollout_strategy_params=rollout_strategy_params, + _param = self._update_cluster_clusters_cluster_id_put_serialize( + cluster_id=cluster_id, + cluster_config=cluster_config, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15435,7 +19051,7 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "object", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -15450,11 +19066,10 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe @validate_call - def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_with_http_info( + def update_cluster_clusters_cluster_id_put_with_http_info( self, - deployment_id: StrictInt, - revision_number: StrictInt, - rollout_strategy_params: Optional[RolloutStrategyParams] = None, + cluster_id: StrictInt, + cluster_config: ClusterConfig, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15467,17 +19082,15 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UpdateDeploymentResponse]: - """Rollout Existing Revision + ) -> ApiResponse[object]: + """Update Cluster - Change the selected revision for a deployment and apply the changes. + Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. - :param deployment_id: (required) - :type deployment_id: int - :param revision_number: (required) - :type revision_number: int - :param rollout_strategy_params: - :type rollout_strategy_params: RolloutStrategyParams + :param cluster_id: (required) + :type cluster_id: int + :param cluster_config: (required) + :type cluster_config: ClusterConfig :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 @@ -15500,10 +19113,9 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe :return: Returns the result object. """ # noqa: E501 - _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( - deployment_id=deployment_id, - revision_number=revision_number, - rollout_strategy_params=rollout_strategy_params, + _param = self._update_cluster_clusters_cluster_id_put_serialize( + cluster_id=cluster_id, + cluster_config=cluster_config, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15511,7 +19123,7 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "object", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -15526,11 +19138,10 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe @validate_call - def rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_without_preload_content( + def update_cluster_clusters_cluster_id_put_without_preload_content( self, - deployment_id: StrictInt, - revision_number: StrictInt, - rollout_strategy_params: Optional[RolloutStrategyParams] = None, + cluster_id: StrictInt, + cluster_config: ClusterConfig, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15544,16 +19155,14 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Rollout Existing Revision + """Update Cluster - Change the selected revision for a deployment and apply the changes. + Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. - :param deployment_id: (required) - :type deployment_id: int - :param revision_number: (required) - :type revision_number: int - :param rollout_strategy_params: - :type rollout_strategy_params: RolloutStrategyParams + :param cluster_id: (required) + :type cluster_id: int + :param cluster_config: (required) + :type cluster_config: ClusterConfig :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 @@ -15576,10 +19185,9 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe :return: Returns the result object. """ # noqa: E501 - _param = self._rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( - deployment_id=deployment_id, - revision_number=revision_number, - rollout_strategy_params=rollout_strategy_params, + _param = self._update_cluster_clusters_cluster_id_put_serialize( + cluster_id=cluster_id, + cluster_config=cluster_config, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15587,7 +19195,7 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "object", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -15597,11 +19205,10 @@ def rollout_existing_revision_deployments_revisions_deployment_id_revision_numbe return response_data.response - def _rollout_existing_revision_deployments_revisions_deployment_id_revision_number_put_serialize( + def _update_cluster_clusters_cluster_id_put_serialize( self, - deployment_id, - revision_number, - rollout_strategy_params, + cluster_id, + cluster_config, _request_auth, _content_type, _headers, @@ -15623,16 +19230,14 @@ def _rollout_existing_revision_deployments_revisions_deployment_id_revision_numb _body_params: Optional[bytes] = None # process the path parameters - if deployment_id is not None: - _path_params['deployment_id'] = deployment_id - if revision_number is not None: - _path_params['revision_number'] = revision_number + if cluster_id is not None: + _path_params['cluster_id'] = cluster_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if rollout_strategy_params is not None: - _body_params = rollout_strategy_params + if cluster_config is not None: + _body_params = cluster_config # set the HTTP header `Accept` @@ -15664,7 +19269,7 @@ def _rollout_existing_revision_deployments_revisions_deployment_id_revision_numb return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/revisions/{deployment_id}/{revision_number}', + resource_path='/clusters/{cluster_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15681,8 +19286,10 @@ def _rollout_existing_revision_deployments_revisions_deployment_id_revision_numb @validate_call - def setup_stripe_customer_payments_setup_post( + def update_cluster_metadata_clusters_cluster_id_metadata_put( self, + cluster_id: StrictInt, + update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15695,10 +19302,15 @@ def setup_stripe_customer_payments_setup_post( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: - """Setup Stripe Customer + ) -> GetClusterResponse: + """Update Cluster Metadata + Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. + :param cluster_id: (required) + :type cluster_id: int + :param update_cluster_metadata_request: (required) + :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -15721,7 +19333,9 @@ def setup_stripe_customer_payments_setup_post( :return: Returns the result object. """ # noqa: E501 - _param = self._setup_stripe_customer_payments_setup_post_serialize( + _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( + cluster_id=cluster_id, + update_cluster_metadata_request=update_cluster_metadata_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15729,7 +19343,8 @@ def setup_stripe_customer_payments_setup_post( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "GetClusterResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -15743,8 +19358,10 @@ def setup_stripe_customer_payments_setup_post( @validate_call - def setup_stripe_customer_payments_setup_post_with_http_info( + def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( self, + cluster_id: StrictInt, + update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15757,10 +19374,15 @@ def setup_stripe_customer_payments_setup_post_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: - """Setup Stripe Customer + ) -> ApiResponse[GetClusterResponse]: + """Update Cluster Metadata + Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. + :param cluster_id: (required) + :type cluster_id: int + :param update_cluster_metadata_request: (required) + :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -15783,7 +19405,9 @@ def setup_stripe_customer_payments_setup_post_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._setup_stripe_customer_payments_setup_post_serialize( + _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( + cluster_id=cluster_id, + update_cluster_metadata_request=update_cluster_metadata_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15791,7 +19415,8 @@ def setup_stripe_customer_payments_setup_post_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "GetClusterResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -15805,8 +19430,10 @@ def setup_stripe_customer_payments_setup_post_with_http_info( @validate_call - def setup_stripe_customer_payments_setup_post_without_preload_content( + def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_content( self, + cluster_id: StrictInt, + update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15820,9 +19447,14 @@ def setup_stripe_customer_payments_setup_post_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Setup Stripe Customer + """Update Cluster Metadata + Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. + :param cluster_id: (required) + :type cluster_id: int + :param update_cluster_metadata_request: (required) + :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -15845,7 +19477,9 @@ def setup_stripe_customer_payments_setup_post_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._setup_stripe_customer_payments_setup_post_serialize( + _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( + cluster_id=cluster_id, + update_cluster_metadata_request=update_cluster_metadata_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15853,7 +19487,8 @@ def setup_stripe_customer_payments_setup_post_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "GetClusterResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -15862,8 +19497,10 @@ def setup_stripe_customer_payments_setup_post_without_preload_content( return response_data.response - def _setup_stripe_customer_payments_setup_post_serialize( + def _update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( self, + cluster_id, + update_cluster_metadata_request, _request_auth, _content_type, _headers, @@ -15885,10 +19522,14 @@ def _setup_stripe_customer_payments_setup_post_serialize( _body_params: Optional[bytes] = None # process the path parameters + if cluster_id is not None: + _path_params['cluster_id'] = cluster_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if update_cluster_metadata_request is not None: + _body_params = update_cluster_metadata_request # set the HTTP header `Accept` @@ -15899,6 +19540,19 @@ def _setup_stripe_customer_payments_setup_post_serialize( ] ) + # 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] = [ @@ -15906,8 +19560,8 @@ def _setup_stripe_customer_payments_setup_post_serialize( ] return self.api_client.param_serialize( - method='POST', - resource_path='/payments/setup', + method='PUT', + resource_path='/clusters/{cluster_id}/metadata', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15924,10 +19578,10 @@ def _setup_stripe_customer_payments_setup_post_serialize( @validate_call - def update_cluster_clusters_cluster_id_put( + def update_compute_deployment_deployments_compute_put( self, - cluster_id: StrictInt, - cluster_config: ClusterConfig, + deployment_id: StrictInt, + create_compute_deployment_request: CreateComputeDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15940,15 +19594,14 @@ def update_cluster_clusters_cluster_id_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: - """Update Cluster + ) -> UpdateDeploymentResponse: + """Update Compute Deployment - Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. - :param cluster_id: (required) - :type cluster_id: int - :param cluster_config: (required) - :type cluster_config: ClusterConfig + :param deployment_id: (required) + :type deployment_id: int + :param create_compute_deployment_request: (required) + :type create_compute_deployment_request: CreateComputeDeploymentRequest :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 @@ -15971,9 +19624,9 @@ def update_cluster_clusters_cluster_id_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_cluster_clusters_cluster_id_put_serialize( - cluster_id=cluster_id, - cluster_config=cluster_config, + _param = self._update_compute_deployment_deployments_compute_put_serialize( + deployment_id=deployment_id, + create_compute_deployment_request=create_compute_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15981,7 +19634,7 @@ def update_cluster_clusters_cluster_id_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -15996,10 +19649,10 @@ def update_cluster_clusters_cluster_id_put( @validate_call - def update_cluster_clusters_cluster_id_put_with_http_info( + def update_compute_deployment_deployments_compute_put_with_http_info( self, - cluster_id: StrictInt, - cluster_config: ClusterConfig, + deployment_id: StrictInt, + create_compute_deployment_request: CreateComputeDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16012,15 +19665,14 @@ def update_cluster_clusters_cluster_id_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: - """Update Cluster + ) -> ApiResponse[UpdateDeploymentResponse]: + """Update Compute Deployment - Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. - :param cluster_id: (required) - :type cluster_id: int - :param cluster_config: (required) - :type cluster_config: ClusterConfig + :param deployment_id: (required) + :type deployment_id: int + :param create_compute_deployment_request: (required) + :type create_compute_deployment_request: CreateComputeDeploymentRequest :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 @@ -16043,9 +19695,9 @@ def update_cluster_clusters_cluster_id_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_cluster_clusters_cluster_id_put_serialize( - cluster_id=cluster_id, - cluster_config=cluster_config, + _param = self._update_compute_deployment_deployments_compute_put_serialize( + deployment_id=deployment_id, + create_compute_deployment_request=create_compute_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16053,7 +19705,7 @@ def update_cluster_clusters_cluster_id_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -16068,10 +19720,10 @@ def update_cluster_clusters_cluster_id_put_with_http_info( @validate_call - def update_cluster_clusters_cluster_id_put_without_preload_content( + def update_compute_deployment_deployments_compute_put_without_preload_content( self, - cluster_id: StrictInt, - cluster_config: ClusterConfig, + deployment_id: StrictInt, + create_compute_deployment_request: CreateComputeDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16085,14 +19737,13 @@ def update_cluster_clusters_cluster_id_put_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Cluster + """Update Compute Deployment - Validate a cluster component configuration for an org-owned cluster. Infra provisioning is not wired yet; ``config.components`` is validated only. - :param cluster_id: (required) - :type cluster_id: int - :param cluster_config: (required) - :type cluster_config: ClusterConfig + :param deployment_id: (required) + :type deployment_id: int + :param create_compute_deployment_request: (required) + :type create_compute_deployment_request: CreateComputeDeploymentRequest :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 @@ -16115,9 +19766,9 @@ def update_cluster_clusters_cluster_id_put_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._update_cluster_clusters_cluster_id_put_serialize( - cluster_id=cluster_id, - cluster_config=cluster_config, + _param = self._update_compute_deployment_deployments_compute_put_serialize( + deployment_id=deployment_id, + create_compute_deployment_request=create_compute_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16125,7 +19776,7 @@ def update_cluster_clusters_cluster_id_put_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -16135,10 +19786,10 @@ def update_cluster_clusters_cluster_id_put_without_preload_content( return response_data.response - def _update_cluster_clusters_cluster_id_put_serialize( + def _update_compute_deployment_deployments_compute_put_serialize( self, - cluster_id, - cluster_config, + deployment_id, + create_compute_deployment_request, _request_auth, _content_type, _headers, @@ -16160,14 +19811,16 @@ def _update_cluster_clusters_cluster_id_put_serialize( _body_params: Optional[bytes] = None # process the path parameters - if cluster_id is not None: - _path_params['cluster_id'] = cluster_id # process the query parameters + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + # process the header parameters # process the form parameters # process the body parameter - if cluster_config is not None: - _body_params = cluster_config + if create_compute_deployment_request is not None: + _body_params = create_compute_deployment_request # set the HTTP header `Accept` @@ -16199,7 +19852,7 @@ def _update_cluster_clusters_cluster_id_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/clusters/{cluster_id}', + resource_path='/deployments/compute', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16216,10 +19869,8 @@ def _update_cluster_clusters_cluster_id_put_serialize( @validate_call - def update_cluster_metadata_clusters_cluster_id_metadata_put( + def update_cserve_v2_deployment_deployments_cserve_v2_put( self, - cluster_id: StrictInt, - update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16232,15 +19883,10 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetClusterResponse: - """Update Cluster Metadata + ) -> UpdateDeploymentResponse: + """(Deprecated) Update Cserve V2 Deployment - Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. - :param cluster_id: (required) - :type cluster_id: int - :param update_cluster_metadata_request: (required) - :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -16262,10 +19908,9 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( - cluster_id=cluster_id, - update_cluster_metadata_request=update_cluster_metadata_request, + _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16273,8 +19918,7 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetClusterResponse", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -16288,10 +19932,8 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put( @validate_call - def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( + def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( self, - cluster_id: StrictInt, - update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16304,15 +19946,10 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetClusterResponse]: - """Update Cluster Metadata + ) -> ApiResponse[UpdateDeploymentResponse]: + """(Deprecated) Update Cserve V2 Deployment - Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. - :param cluster_id: (required) - :type cluster_id: int - :param update_cluster_metadata_request: (required) - :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -16334,10 +19971,9 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( - cluster_id=cluster_id, - update_cluster_metadata_request=update_cluster_metadata_request, + _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16345,8 +19981,7 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetClusterResponse", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -16360,10 +19995,8 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_with_http_info( @validate_call - def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_content( + def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_content( self, - cluster_id: StrictInt, - update_cluster_metadata_request: UpdateClusterMetadataRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16377,14 +20010,9 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_con _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Cluster Metadata + """(Deprecated) Update Cserve V2 Deployment - Update DB metadata for an org-owned cluster. Global clusters (parent_id IS NULL) are not mutable here. - :param cluster_id: (required) - :type cluster_id: int - :param update_cluster_metadata_request: (required) - :type update_cluster_metadata_request: UpdateClusterMetadataRequest :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 @@ -16406,10 +20034,9 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_con :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( - cluster_id=cluster_id, - update_cluster_metadata_request=update_cluster_metadata_request, + _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16417,8 +20044,7 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_con ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetClusterResponse", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -16427,10 +20053,8 @@ def update_cluster_metadata_clusters_cluster_id_metadata_put_without_preload_con return response_data.response - def _update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( + def _update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( self, - cluster_id, - update_cluster_metadata_request, _request_auth, _content_type, _headers, @@ -16452,14 +20076,10 @@ def _update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( _body_params: Optional[bytes] = None # process the path parameters - if cluster_id is not None: - _path_params['cluster_id'] = cluster_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if update_cluster_metadata_request is not None: - _body_params = update_cluster_metadata_request # set the HTTP header `Accept` @@ -16470,28 +20090,14 @@ def _update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( ] ) - # 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='PUT', - resource_path='/clusters/{cluster_id}/metadata', + resource_path='/deployments/cserve_v2', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16508,10 +20114,10 @@ def _update_cluster_metadata_clusters_cluster_id_metadata_put_serialize( @validate_call - def update_compute_deployment_deployments_compute_put( + def update_cserve_v3_deployment_deployments_cserve_v3_put( self, deployment_id: StrictInt, - create_compute_deployment_request: CreateComputeDeploymentRequest, + create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16525,13 +20131,13 @@ def update_compute_deployment_deployments_compute_put( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UpdateDeploymentResponse: - """Update Compute Deployment + """Update Cserve V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_compute_deployment_request: (required) - :type create_compute_deployment_request: CreateComputeDeploymentRequest + :param create_c_serve_v3_deployment_request: (required) + :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest :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 @@ -16554,9 +20160,9 @@ def update_compute_deployment_deployments_compute_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_compute_deployment_deployments_compute_put_serialize( + _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( deployment_id=deployment_id, - create_compute_deployment_request=create_compute_deployment_request, + create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16579,10 +20185,10 @@ def update_compute_deployment_deployments_compute_put( @validate_call - def update_compute_deployment_deployments_compute_put_with_http_info( + def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( self, deployment_id: StrictInt, - create_compute_deployment_request: CreateComputeDeploymentRequest, + create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16596,13 +20202,13 @@ def update_compute_deployment_deployments_compute_put_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UpdateDeploymentResponse]: - """Update Compute Deployment + """Update Cserve V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_compute_deployment_request: (required) - :type create_compute_deployment_request: CreateComputeDeploymentRequest + :param create_c_serve_v3_deployment_request: (required) + :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest :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 @@ -16625,9 +20231,9 @@ def update_compute_deployment_deployments_compute_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_compute_deployment_deployments_compute_put_serialize( + _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( deployment_id=deployment_id, - create_compute_deployment_request=create_compute_deployment_request, + create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16650,10 +20256,10 @@ def update_compute_deployment_deployments_compute_put_with_http_info( @validate_call - def update_compute_deployment_deployments_compute_put_without_preload_content( + def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_content( self, deployment_id: StrictInt, - create_compute_deployment_request: CreateComputeDeploymentRequest, + create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16667,13 +20273,13 @@ def update_compute_deployment_deployments_compute_put_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Compute Deployment + """Update Cserve V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_compute_deployment_request: (required) - :type create_compute_deployment_request: CreateComputeDeploymentRequest + :param create_c_serve_v3_deployment_request: (required) + :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest :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 @@ -16696,9 +20302,9 @@ def update_compute_deployment_deployments_compute_put_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._update_compute_deployment_deployments_compute_put_serialize( + _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( deployment_id=deployment_id, - create_compute_deployment_request=create_compute_deployment_request, + create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16716,10 +20322,10 @@ def update_compute_deployment_deployments_compute_put_without_preload_content( return response_data.response - def _update_compute_deployment_deployments_compute_put_serialize( + def _update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( self, deployment_id, - create_compute_deployment_request, + create_c_serve_v3_deployment_request, _request_auth, _content_type, _headers, @@ -16749,8 +20355,8 @@ def _update_compute_deployment_deployments_compute_put_serialize( # process the header parameters # process the form parameters # process the body parameter - if create_compute_deployment_request is not None: - _body_params = create_compute_deployment_request + if create_c_serve_v3_deployment_request is not None: + _body_params = create_c_serve_v3_deployment_request # set the HTTP header `Accept` @@ -16782,7 +20388,7 @@ def _update_compute_deployment_deployments_compute_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/compute', + resource_path='/deployments/cserve_v3', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16799,8 +20405,10 @@ def _update_compute_deployment_deployments_compute_put_serialize( @validate_call - def update_cserve_v2_deployment_deployments_cserve_v2_put( + def update_deployment_status_deployments_status_deployment_id_put( self, + deployment_id: StrictInt, + deployment_status_request: DeploymentStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16813,10 +20421,14 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UpdateDeploymentResponse: - """(Deprecated) Update Cserve V2 Deployment + ) -> DeploymentStatusResponse: + """Update Deployment Status + :param deployment_id: (required) + :type deployment_id: int + :param deployment_status_request: (required) + :type deployment_status_request: DeploymentStatusRequest :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 @@ -16838,9 +20450,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( + _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + deployment_id=deployment_id, + deployment_status_request=deployment_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16848,7 +20461,8 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -16862,8 +20476,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put( @validate_call - def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( + def update_deployment_status_deployments_status_deployment_id_put_with_http_info( self, + deployment_id: StrictInt, + deployment_status_request: DeploymentStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16876,10 +20492,14 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UpdateDeploymentResponse]: - """(Deprecated) Update Cserve V2 Deployment + ) -> ApiResponse[DeploymentStatusResponse]: + """Update Deployment Status + :param deployment_id: (required) + :type deployment_id: int + :param deployment_status_request: (required) + :type deployment_status_request: DeploymentStatusRequest :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 @@ -16901,9 +20521,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( + _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + deployment_id=deployment_id, + deployment_status_request=deployment_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16911,7 +20532,8 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -16925,8 +20547,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_with_http_info( @validate_call - def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_content( + def update_deployment_status_deployments_status_deployment_id_put_without_preload_content( self, + deployment_id: StrictInt, + deployment_status_request: DeploymentStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16940,9 +20564,13 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_conten _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """(Deprecated) Update Cserve V2 Deployment + """Update Deployment Status + :param deployment_id: (required) + :type deployment_id: int + :param deployment_status_request: (required) + :type deployment_status_request: DeploymentStatusRequest :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 @@ -16964,9 +20592,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_conten :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/cserve_v2 is deprecated.", DeprecationWarning) - _param = self._update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( + _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + deployment_id=deployment_id, + deployment_status_request=deployment_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16974,7 +20603,8 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_conten ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -16983,8 +20613,10 @@ def update_cserve_v2_deployment_deployments_cserve_v2_put_without_preload_conten return response_data.response - def _update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( + def _update_deployment_status_deployments_status_deployment_id_put_serialize( self, + deployment_id, + deployment_status_request, _request_auth, _content_type, _headers, @@ -17006,10 +20638,14 @@ def _update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( _body_params: Optional[bytes] = None # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if deployment_status_request is not None: + _body_params = deployment_status_request # set the HTTP header `Accept` @@ -17020,14 +20656,28 @@ def _update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( ] ) + # 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='PUT', - resource_path='/deployments/cserve_v2', + resource_path='/deployments/status/{deployment_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17044,10 +20694,10 @@ def _update_cserve_v2_deployment_deployments_cserve_v2_put_serialize( @validate_call - def update_cserve_v3_deployment_deployments_cserve_v3_put( + def update_deployment_status_v3_deployments_status_v3_deployment_id_put( self, deployment_id: StrictInt, - create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, + update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17060,14 +20710,14 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UpdateDeploymentResponse: - """Update Cserve V3 Deployment + ) -> DeploymentStatusV3Response: + """Update Deployment Status V3 :param deployment_id: (required) :type deployment_id: int - :param create_c_serve_v3_deployment_request: (required) - :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest + :param update_deployment_status_v3_request: (required) + :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17090,9 +20740,9 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( + _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( deployment_id=deployment_id, - create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, + update_deployment_status_v3_request=update_deployment_status_v3_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17100,7 +20750,7 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusV3Response", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17115,10 +20765,10 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put( @validate_call - def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( + def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_http_info( self, deployment_id: StrictInt, - create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, + update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17131,14 +20781,14 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UpdateDeploymentResponse]: - """Update Cserve V3 Deployment + ) -> ApiResponse[DeploymentStatusV3Response]: + """Update Deployment Status V3 :param deployment_id: (required) :type deployment_id: int - :param create_c_serve_v3_deployment_request: (required) - :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest + :param update_deployment_status_v3_request: (required) + :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17161,9 +20811,9 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( + _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( deployment_id=deployment_id, - create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, + update_deployment_status_v3_request=update_deployment_status_v3_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17171,7 +20821,7 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusV3Response", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17186,10 +20836,10 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_with_http_info( @validate_call - def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_content( + def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_preload_content( self, deployment_id: StrictInt, - create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest, + update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17203,13 +20853,13 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_conten _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Cserve V3 Deployment + """Update Deployment Status V3 :param deployment_id: (required) :type deployment_id: int - :param create_c_serve_v3_deployment_request: (required) - :type create_c_serve_v3_deployment_request: CreateCServeV3DeploymentRequest + :param update_deployment_status_v3_request: (required) + :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17232,9 +20882,9 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_conten :return: Returns the result object. """ # noqa: E501 - _param = self._update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( + _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( deployment_id=deployment_id, - create_c_serve_v3_deployment_request=create_c_serve_v3_deployment_request, + update_deployment_status_v3_request=update_deployment_status_v3_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17242,7 +20892,7 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_conten ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "DeploymentStatusV3Response", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17252,10 +20902,10 @@ def update_cserve_v3_deployment_deployments_cserve_v3_put_without_preload_conten return response_data.response - def _update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( + def _update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( self, deployment_id, - create_c_serve_v3_deployment_request, + update_deployment_status_v3_request, _request_auth, _content_type, _headers, @@ -17277,16 +20927,14 @@ def _update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( _body_params: Optional[bytes] = None # process the path parameters - # process the query parameters if deployment_id is not None: - - _query_params.append(('deployment_id', deployment_id)) - + _path_params['deployment_id'] = deployment_id + # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if create_c_serve_v3_deployment_request is not None: - _body_params = create_c_serve_v3_deployment_request + if update_deployment_status_v3_request is not None: + _body_params = update_deployment_status_v3_request # set the HTTP header `Accept` @@ -17318,7 +20966,7 @@ def _update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/cserve_v3', + resource_path='/deployments/status_v3/{deployment_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17335,10 +20983,10 @@ def _update_cserve_v3_deployment_deployments_cserve_v3_put_serialize( @validate_call - def update_deployment_status_deployments_status_deployment_id_put( + def update_dynamo_deployment_deployments_dynamo_put( self, deployment_id: StrictInt, - deployment_status_request: DeploymentStatusRequest, + create_dynamo_deployment_request: CreateDynamoDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17351,14 +20999,14 @@ def update_deployment_status_deployments_status_deployment_id_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DeploymentStatusResponse: - """Update Deployment Status + ) -> UpdateDeploymentResponse: + """Update Dynamo Deployment :param deployment_id: (required) :type deployment_id: int - :param deployment_status_request: (required) - :type deployment_status_request: DeploymentStatusRequest + :param create_dynamo_deployment_request: (required) + :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest :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 @@ -17381,9 +21029,9 @@ def update_deployment_status_deployments_status_deployment_id_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( deployment_id=deployment_id, - deployment_status_request=deployment_status_request, + create_dynamo_deployment_request=create_dynamo_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17391,7 +21039,7 @@ def update_deployment_status_deployments_status_deployment_id_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17406,10 +21054,10 @@ def update_deployment_status_deployments_status_deployment_id_put( @validate_call - def update_deployment_status_deployments_status_deployment_id_put_with_http_info( + def update_dynamo_deployment_deployments_dynamo_put_with_http_info( self, deployment_id: StrictInt, - deployment_status_request: DeploymentStatusRequest, + create_dynamo_deployment_request: CreateDynamoDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17422,14 +21070,14 @@ def update_deployment_status_deployments_status_deployment_id_put_with_http_info _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DeploymentStatusResponse]: - """Update Deployment Status + ) -> ApiResponse[UpdateDeploymentResponse]: + """Update Dynamo Deployment :param deployment_id: (required) :type deployment_id: int - :param deployment_status_request: (required) - :type deployment_status_request: DeploymentStatusRequest + :param create_dynamo_deployment_request: (required) + :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest :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 @@ -17452,9 +21100,9 @@ def update_deployment_status_deployments_status_deployment_id_put_with_http_info :return: Returns the result object. """ # noqa: E501 - _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( deployment_id=deployment_id, - deployment_status_request=deployment_status_request, + create_dynamo_deployment_request=create_dynamo_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17462,7 +21110,7 @@ def update_deployment_status_deployments_status_deployment_id_put_with_http_info ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17477,10 +21125,10 @@ def update_deployment_status_deployments_status_deployment_id_put_with_http_info @validate_call - def update_deployment_status_deployments_status_deployment_id_put_without_preload_content( + def update_dynamo_deployment_deployments_dynamo_put_without_preload_content( self, deployment_id: StrictInt, - deployment_status_request: DeploymentStatusRequest, + create_dynamo_deployment_request: CreateDynamoDeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17494,13 +21142,13 @@ def update_deployment_status_deployments_status_deployment_id_put_without_preloa _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Deployment Status + """Update Dynamo Deployment :param deployment_id: (required) :type deployment_id: int - :param deployment_status_request: (required) - :type deployment_status_request: DeploymentStatusRequest + :param create_dynamo_deployment_request: (required) + :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest :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 @@ -17523,9 +21171,9 @@ def update_deployment_status_deployments_status_deployment_id_put_without_preloa :return: Returns the result object. """ # noqa: E501 - _param = self._update_deployment_status_deployments_status_deployment_id_put_serialize( + _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( deployment_id=deployment_id, - deployment_status_request=deployment_status_request, + create_dynamo_deployment_request=create_dynamo_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17533,7 +21181,7 @@ def update_deployment_status_deployments_status_deployment_id_put_without_preloa ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusResponse", + '200': "UpdateDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -17543,10 +21191,10 @@ def update_deployment_status_deployments_status_deployment_id_put_without_preloa return response_data.response - def _update_deployment_status_deployments_status_deployment_id_put_serialize( + def _update_dynamo_deployment_deployments_dynamo_put_serialize( self, deployment_id, - deployment_status_request, + create_dynamo_deployment_request, _request_auth, _content_type, _headers, @@ -17568,14 +21216,16 @@ def _update_deployment_status_deployments_status_deployment_id_put_serialize( _body_params: Optional[bytes] = None # process the path parameters - if deployment_id is not None: - _path_params['deployment_id'] = deployment_id # process the query parameters + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + # process the header parameters # process the form parameters # process the body parameter - if deployment_status_request is not None: - _body_params = deployment_status_request + if create_dynamo_deployment_request is not None: + _body_params = create_dynamo_deployment_request # set the HTTP header `Accept` @@ -17607,7 +21257,7 @@ def _update_deployment_status_deployments_status_deployment_id_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/status/{deployment_id}', + resource_path='/deployments/dynamo', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17624,10 +21274,8 @@ def _update_deployment_status_deployments_status_deployment_id_put_serialize( @validate_call - def update_deployment_status_v3_deployments_status_v3_deployment_id_put( + def update_inference_deployment_deployments_inference_put( self, - deployment_id: StrictInt, - update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17640,14 +21288,10 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DeploymentStatusV3Response: - """Update Deployment Status V3 + ) -> UpdateDeploymentResponse: + """(Deprecated) Update Inference Deployment - :param deployment_id: (required) - :type deployment_id: int - :param update_deployment_status_v3_request: (required) - :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17669,10 +21313,9 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( - deployment_id=deployment_id, - update_deployment_status_v3_request=update_deployment_status_v3_request, + _param = self._update_inference_deployment_deployments_inference_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17680,8 +21323,7 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusV3Response", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -17695,10 +21337,8 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put( @validate_call - def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_http_info( + def update_inference_deployment_deployments_inference_put_with_http_info( self, - deployment_id: StrictInt, - update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17711,14 +21351,10 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_htt _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DeploymentStatusV3Response]: - """Update Deployment Status V3 + ) -> ApiResponse[UpdateDeploymentResponse]: + """(Deprecated) Update Inference Deployment - :param deployment_id: (required) - :type deployment_id: int - :param update_deployment_status_v3_request: (required) - :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17740,10 +21376,9 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_htt :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( - deployment_id=deployment_id, - update_deployment_status_v3_request=update_deployment_status_v3_request, + _param = self._update_inference_deployment_deployments_inference_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17751,8 +21386,7 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_htt ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusV3Response", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -17766,10 +21400,8 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_with_htt @validate_call - def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_preload_content( + def update_inference_deployment_deployments_inference_put_without_preload_content( self, - deployment_id: StrictInt, - update_deployment_status_v3_request: UpdateDeploymentStatusV3Request, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17783,13 +21415,9 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Deployment Status V3 + """(Deprecated) Update Inference Deployment - :param deployment_id: (required) - :type deployment_id: int - :param update_deployment_status_v3_request: (required) - :type update_deployment_status_v3_request: UpdateDeploymentStatusV3Request :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 @@ -17811,10 +21439,9 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_ :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( - deployment_id=deployment_id, - update_deployment_status_v3_request=update_deployment_status_v3_request, + _param = self._update_inference_deployment_deployments_inference_put_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17822,8 +21449,7 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeploymentStatusV3Response", - '422': "HTTPValidationError", + '200': "UpdateDeploymentResponse", } response_data = self.api_client.call_api( *_param, @@ -17832,10 +21458,8 @@ def update_deployment_status_v3_deployments_status_v3_deployment_id_put_without_ return response_data.response - def _update_deployment_status_v3_deployments_status_v3_deployment_id_put_serialize( + def _update_inference_deployment_deployments_inference_put_serialize( self, - deployment_id, - update_deployment_status_v3_request, _request_auth, _content_type, _headers, @@ -17857,14 +21481,10 @@ def _update_deployment_status_v3_deployments_status_v3_deployment_id_put_seriali _body_params: Optional[bytes] = None # process the path parameters - if deployment_id is not None: - _path_params['deployment_id'] = deployment_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if update_deployment_status_v3_request is not None: - _body_params = update_deployment_status_v3_request # set the HTTP header `Accept` @@ -17875,28 +21495,14 @@ def _update_deployment_status_v3_deployments_status_v3_deployment_id_put_seriali ] ) - # 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='PUT', - resource_path='/deployments/status_v3/{deployment_id}', + resource_path='/deployments/inference', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17913,10 +21519,10 @@ def _update_deployment_status_v3_deployments_status_v3_deployment_id_put_seriali @validate_call - def update_dynamo_deployment_deployments_dynamo_put( + def update_inference_v3_deployment_deployments_inference_v3_put( self, deployment_id: StrictInt, - create_dynamo_deployment_request: CreateDynamoDeploymentRequest, + create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17930,13 +21536,13 @@ def update_dynamo_deployment_deployments_dynamo_put( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UpdateDeploymentResponse: - """Update Dynamo Deployment + """Update Inference V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_dynamo_deployment_request: (required) - :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest + :param create_inference_v3_deployment_request: (required) + :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest :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 @@ -17959,9 +21565,9 @@ def update_dynamo_deployment_deployments_dynamo_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( + _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( deployment_id=deployment_id, - create_dynamo_deployment_request=create_dynamo_deployment_request, + create_inference_v3_deployment_request=create_inference_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17984,10 +21590,10 @@ def update_dynamo_deployment_deployments_dynamo_put( @validate_call - def update_dynamo_deployment_deployments_dynamo_put_with_http_info( + def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( self, deployment_id: StrictInt, - create_dynamo_deployment_request: CreateDynamoDeploymentRequest, + create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18001,13 +21607,13 @@ def update_dynamo_deployment_deployments_dynamo_put_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UpdateDeploymentResponse]: - """Update Dynamo Deployment + """Update Inference V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_dynamo_deployment_request: (required) - :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest + :param create_inference_v3_deployment_request: (required) + :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest :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 @@ -18030,9 +21636,9 @@ def update_dynamo_deployment_deployments_dynamo_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( + _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( deployment_id=deployment_id, - create_dynamo_deployment_request=create_dynamo_deployment_request, + create_inference_v3_deployment_request=create_inference_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18055,10 +21661,10 @@ def update_dynamo_deployment_deployments_dynamo_put_with_http_info( @validate_call - def update_dynamo_deployment_deployments_dynamo_put_without_preload_content( + def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_content( self, deployment_id: StrictInt, - create_dynamo_deployment_request: CreateDynamoDeploymentRequest, + create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18072,13 +21678,13 @@ def update_dynamo_deployment_deployments_dynamo_put_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Dynamo Deployment + """Update Inference V3 Deployment :param deployment_id: (required) :type deployment_id: int - :param create_dynamo_deployment_request: (required) - :type create_dynamo_deployment_request: CreateDynamoDeploymentRequest + :param create_inference_v3_deployment_request: (required) + :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest :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 @@ -18101,9 +21707,9 @@ def update_dynamo_deployment_deployments_dynamo_put_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._update_dynamo_deployment_deployments_dynamo_put_serialize( + _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( deployment_id=deployment_id, - create_dynamo_deployment_request=create_dynamo_deployment_request, + create_inference_v3_deployment_request=create_inference_v3_deployment_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18121,10 +21727,10 @@ def update_dynamo_deployment_deployments_dynamo_put_without_preload_content( return response_data.response - def _update_dynamo_deployment_deployments_dynamo_put_serialize( + def _update_inference_v3_deployment_deployments_inference_v3_put_serialize( self, deployment_id, - create_dynamo_deployment_request, + create_inference_v3_deployment_request, _request_auth, _content_type, _headers, @@ -18154,8 +21760,8 @@ def _update_dynamo_deployment_deployments_dynamo_put_serialize( # process the header parameters # process the form parameters # process the body parameter - if create_dynamo_deployment_request is not None: - _body_params = create_dynamo_deployment_request + if create_inference_v3_deployment_request is not None: + _body_params = create_inference_v3_deployment_request # set the HTTP header `Accept` @@ -18187,7 +21793,7 @@ def _update_dynamo_deployment_deployments_dynamo_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/dynamo', + resource_path='/deployments/inference_v3', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18204,8 +21810,10 @@ def _update_dynamo_deployment_deployments_dynamo_put_serialize( @validate_call - def update_inference_deployment_deployments_inference_put( + def update_insight_status_insights_insight_id_status_patch( self, + insight_id: StrictInt, + update_insight_status_request: UpdateInsightStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18217,11 +21825,15 @@ def update_inference_deployment_deployments_inference_put( _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, - ) -> UpdateDeploymentResponse: - """(Deprecated) Update Inference Deployment + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> InsightResponse: + """Update Insight Status + :param insight_id: (required) + :type insight_id: int + :param update_insight_status_request: (required) + :type update_insight_status_request: UpdateInsightStatusRequest :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 @@ -18243,9 +21855,10 @@ def update_inference_deployment_deployments_inference_put( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_inference_deployment_deployments_inference_put_serialize( + _param = self._update_insight_status_insights_insight_id_status_patch_serialize( + insight_id=insight_id, + update_insight_status_request=update_insight_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18253,7 +21866,8 @@ def update_inference_deployment_deployments_inference_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "InsightResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -18267,8 +21881,10 @@ def update_inference_deployment_deployments_inference_put( @validate_call - def update_inference_deployment_deployments_inference_put_with_http_info( + def update_insight_status_insights_insight_id_status_patch_with_http_info( self, + insight_id: StrictInt, + update_insight_status_request: UpdateInsightStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18281,10 +21897,14 @@ def update_inference_deployment_deployments_inference_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UpdateDeploymentResponse]: - """(Deprecated) Update Inference Deployment + ) -> ApiResponse[InsightResponse]: + """Update Insight Status + :param insight_id: (required) + :type insight_id: int + :param update_insight_status_request: (required) + :type update_insight_status_request: UpdateInsightStatusRequest :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 @@ -18306,9 +21926,10 @@ def update_inference_deployment_deployments_inference_put_with_http_info( :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_inference_deployment_deployments_inference_put_serialize( + _param = self._update_insight_status_insights_insight_id_status_patch_serialize( + insight_id=insight_id, + update_insight_status_request=update_insight_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18316,7 +21937,8 @@ def update_inference_deployment_deployments_inference_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "InsightResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -18330,8 +21952,10 @@ def update_inference_deployment_deployments_inference_put_with_http_info( @validate_call - def update_inference_deployment_deployments_inference_put_without_preload_content( + def update_insight_status_insights_insight_id_status_patch_without_preload_content( self, + insight_id: StrictInt, + update_insight_status_request: UpdateInsightStatusRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18345,9 +21969,13 @@ def update_inference_deployment_deployments_inference_put_without_preload_conten _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """(Deprecated) Update Inference Deployment + """Update Insight Status + :param insight_id: (required) + :type insight_id: int + :param update_insight_status_request: (required) + :type update_insight_status_request: UpdateInsightStatusRequest :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 @@ -18369,9 +21997,10 @@ def update_inference_deployment_deployments_inference_put_without_preload_conten :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("PUT /deployments/inference is deprecated.", DeprecationWarning) - _param = self._update_inference_deployment_deployments_inference_put_serialize( + _param = self._update_insight_status_insights_insight_id_status_patch_serialize( + insight_id=insight_id, + update_insight_status_request=update_insight_status_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18379,7 +22008,8 @@ def update_inference_deployment_deployments_inference_put_without_preload_conten ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "InsightResponse", + '422': "HTTPValidationError", } response_data = self.api_client.call_api( *_param, @@ -18388,8 +22018,10 @@ def update_inference_deployment_deployments_inference_put_without_preload_conten return response_data.response - def _update_inference_deployment_deployments_inference_put_serialize( + def _update_insight_status_insights_insight_id_status_patch_serialize( self, + insight_id, + update_insight_status_request, _request_auth, _content_type, _headers, @@ -18411,10 +22043,14 @@ def _update_inference_deployment_deployments_inference_put_serialize( _body_params: Optional[bytes] = None # process the path parameters + if insight_id is not None: + _path_params['insight_id'] = insight_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if update_insight_status_request is not None: + _body_params = update_insight_status_request # set the HTTP header `Accept` @@ -18425,14 +22061,28 @@ def _update_inference_deployment_deployments_inference_put_serialize( ] ) + # 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='PUT', - resource_path='/deployments/inference', + method='PATCH', + resource_path='/insights/{insight_id}/status', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18449,10 +22099,10 @@ def _update_inference_deployment_deployments_inference_put_serialize( @validate_call - def update_inference_v3_deployment_deployments_inference_v3_put( + def update_service_account_service_accounts_workos_id_put( self, - deployment_id: StrictInt, - create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, + workos_id: StrictStr, + update_service_account_request: UpdateServiceAccountRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18465,14 +22115,14 @@ def update_inference_v3_deployment_deployments_inference_v3_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UpdateDeploymentResponse: - """Update Inference V3 Deployment + ) -> ServiceAccountResponse: + """Update Service Account - :param deployment_id: (required) - :type deployment_id: int - :param create_inference_v3_deployment_request: (required) - :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest + :param workos_id: (required) + :type workos_id: str + :param update_service_account_request: (required) + :type update_service_account_request: UpdateServiceAccountRequest :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 @@ -18495,9 +22145,9 @@ def update_inference_v3_deployment_deployments_inference_v3_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( - deployment_id=deployment_id, - create_inference_v3_deployment_request=create_inference_v3_deployment_request, + _param = self._update_service_account_service_accounts_workos_id_put_serialize( + workos_id=workos_id, + update_service_account_request=update_service_account_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18505,7 +22155,7 @@ def update_inference_v3_deployment_deployments_inference_v3_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "ServiceAccountResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18520,10 +22170,10 @@ def update_inference_v3_deployment_deployments_inference_v3_put( @validate_call - def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( + def update_service_account_service_accounts_workos_id_put_with_http_info( self, - deployment_id: StrictInt, - create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, + workos_id: StrictStr, + update_service_account_request: UpdateServiceAccountRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18536,14 +22186,14 @@ def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UpdateDeploymentResponse]: - """Update Inference V3 Deployment + ) -> ApiResponse[ServiceAccountResponse]: + """Update Service Account - :param deployment_id: (required) - :type deployment_id: int - :param create_inference_v3_deployment_request: (required) - :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest + :param workos_id: (required) + :type workos_id: str + :param update_service_account_request: (required) + :type update_service_account_request: UpdateServiceAccountRequest :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 @@ -18566,9 +22216,9 @@ def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( - deployment_id=deployment_id, - create_inference_v3_deployment_request=create_inference_v3_deployment_request, + _param = self._update_service_account_service_accounts_workos_id_put_serialize( + workos_id=workos_id, + update_service_account_request=update_service_account_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18576,7 +22226,7 @@ def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "ServiceAccountResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18591,10 +22241,10 @@ def update_inference_v3_deployment_deployments_inference_v3_put_with_http_info( @validate_call - def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_content( + def update_service_account_service_accounts_workos_id_put_without_preload_content( self, - deployment_id: StrictInt, - create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest, + workos_id: StrictStr, + update_service_account_request: UpdateServiceAccountRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18608,13 +22258,13 @@ def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_ _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Inference V3 Deployment + """Update Service Account - :param deployment_id: (required) - :type deployment_id: int - :param create_inference_v3_deployment_request: (required) - :type create_inference_v3_deployment_request: CreateInferenceV3DeploymentRequest + :param workos_id: (required) + :type workos_id: str + :param update_service_account_request: (required) + :type update_service_account_request: UpdateServiceAccountRequest :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 @@ -18637,9 +22287,9 @@ def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_ :return: Returns the result object. """ # noqa: E501 - _param = self._update_inference_v3_deployment_deployments_inference_v3_put_serialize( - deployment_id=deployment_id, - create_inference_v3_deployment_request=create_inference_v3_deployment_request, + _param = self._update_service_account_service_accounts_workos_id_put_serialize( + workos_id=workos_id, + update_service_account_request=update_service_account_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18647,7 +22297,7 @@ def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_ ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UpdateDeploymentResponse", + '200': "ServiceAccountResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18657,10 +22307,10 @@ def update_inference_v3_deployment_deployments_inference_v3_put_without_preload_ return response_data.response - def _update_inference_v3_deployment_deployments_inference_v3_put_serialize( + def _update_service_account_service_accounts_workos_id_put_serialize( self, - deployment_id, - create_inference_v3_deployment_request, + workos_id, + update_service_account_request, _request_auth, _content_type, _headers, @@ -18682,16 +22332,14 @@ def _update_inference_v3_deployment_deployments_inference_v3_put_serialize( _body_params: Optional[bytes] = None # process the path parameters + if workos_id is not None: + _path_params['workos_id'] = workos_id # process the query parameters - if deployment_id is not None: - - _query_params.append(('deployment_id', deployment_id)) - # process the header parameters # process the form parameters # process the body parameter - if create_inference_v3_deployment_request is not None: - _body_params = create_inference_v3_deployment_request + if update_service_account_request is not None: + _body_params = update_service_account_request # set the HTTP header `Accept` @@ -18723,7 +22371,7 @@ def _update_inference_v3_deployment_deployments_inference_v3_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/inference_v3', + resource_path='/service-accounts/{workos_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18740,10 +22388,12 @@ def _update_inference_v3_deployment_deployments_inference_v3_put_serialize( @validate_call - def update_service_account_service_accounts_workos_id_put( + def update_unified_deployment_deployments_deployment_id_put( self, - workos_id: StrictStr, - update_service_account_request: UpdateServiceAccountRequest, + deployment_id: StrictInt, + unified_write_deployment_request: UnifiedWriteDeploymentRequest, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18756,14 +22406,19 @@ def update_service_account_service_accounts_workos_id_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ServiceAccountResponse: - """Update Service Account + ) -> UnifiedWriteDeploymentResponse: + """Update Unified Deployment + Replace a deployment's request and roll it out; ccl_job deployments cannot be updated. A PAUSED deployment stores the request without a rollout; a resume applies it. type, name, cluster_id and the pools keys cannot change. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. - :param workos_id: (required) - :type workos_id: str - :param update_service_account_request: (required) - :type update_service_account_request: UpdateServiceAccountRequest + :param deployment_id: (required) + :type deployment_id: int + :param unified_write_deployment_request: (required) + :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -18786,9 +22441,11 @@ def update_service_account_service_accounts_workos_id_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_service_account_service_accounts_workos_id_put_serialize( - workos_id=workos_id, - update_service_account_request=update_service_account_request, + _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + deployment_id=deployment_id, + unified_write_deployment_request=unified_write_deployment_request, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18796,7 +22453,7 @@ def update_service_account_service_accounts_workos_id_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServiceAccountResponse", + '200': "UnifiedWriteDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18811,10 +22468,12 @@ def update_service_account_service_accounts_workos_id_put( @validate_call - def update_service_account_service_accounts_workos_id_put_with_http_info( + def update_unified_deployment_deployments_deployment_id_put_with_http_info( self, - workos_id: StrictStr, - update_service_account_request: UpdateServiceAccountRequest, + deployment_id: StrictInt, + unified_write_deployment_request: UnifiedWriteDeploymentRequest, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18827,14 +22486,19 @@ def update_service_account_service_accounts_workos_id_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ServiceAccountResponse]: - """Update Service Account + ) -> ApiResponse[UnifiedWriteDeploymentResponse]: + """Update Unified Deployment + Replace a deployment's request and roll it out; ccl_job deployments cannot be updated. A PAUSED deployment stores the request without a rollout; a resume applies it. type, name, cluster_id and the pools keys cannot change. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. - :param workos_id: (required) - :type workos_id: str - :param update_service_account_request: (required) - :type update_service_account_request: UpdateServiceAccountRequest + :param deployment_id: (required) + :type deployment_id: int + :param unified_write_deployment_request: (required) + :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -18857,9 +22521,11 @@ def update_service_account_service_accounts_workos_id_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_service_account_service_accounts_workos_id_put_serialize( - workos_id=workos_id, - update_service_account_request=update_service_account_request, + _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + deployment_id=deployment_id, + unified_write_deployment_request=unified_write_deployment_request, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18867,7 +22533,7 @@ def update_service_account_service_accounts_workos_id_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServiceAccountResponse", + '200': "UnifiedWriteDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18882,10 +22548,12 @@ def update_service_account_service_accounts_workos_id_put_with_http_info( @validate_call - def update_service_account_service_accounts_workos_id_put_without_preload_content( + def update_unified_deployment_deployments_deployment_id_put_without_preload_content( self, - workos_id: StrictStr, - update_service_account_request: UpdateServiceAccountRequest, + deployment_id: StrictInt, + unified_write_deployment_request: UnifiedWriteDeploymentRequest, + max_surge: Optional[StrictInt] = None, + max_unavailable: Optional[StrictInt] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18899,13 +22567,18 @@ def update_service_account_service_accounts_workos_id_put_without_preload_conten _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Service Account + """Update Unified Deployment + Replace a deployment's request and roll it out; ccl_job deployments cannot be updated. A PAUSED deployment stores the request without a rollout; a resume applies it. type, name, cluster_id and the pools keys cannot change. max_surge and max_unavailable shape this rollout only, for ccl_inference and ccl_dynamo. - :param workos_id: (required) - :type workos_id: str - :param update_service_account_request: (required) - :type update_service_account_request: UpdateServiceAccountRequest + :param deployment_id: (required) + :type deployment_id: int + :param unified_write_deployment_request: (required) + :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param max_surge: + :type max_surge: int + :param max_unavailable: + :type max_unavailable: 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 @@ -18928,9 +22601,11 @@ def update_service_account_service_accounts_workos_id_put_without_preload_conten :return: Returns the result object. """ # noqa: E501 - _param = self._update_service_account_service_accounts_workos_id_put_serialize( - workos_id=workos_id, - update_service_account_request=update_service_account_request, + _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + deployment_id=deployment_id, + unified_write_deployment_request=unified_write_deployment_request, + max_surge=max_surge, + max_unavailable=max_unavailable, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18938,7 +22613,7 @@ def update_service_account_service_accounts_workos_id_put_without_preload_conten ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServiceAccountResponse", + '200': "UnifiedWriteDeploymentResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -18948,10 +22623,12 @@ def update_service_account_service_accounts_workos_id_put_without_preload_conten return response_data.response - def _update_service_account_service_accounts_workos_id_put_serialize( + def _update_unified_deployment_deployments_deployment_id_put_serialize( self, - workos_id, - update_service_account_request, + deployment_id, + unified_write_deployment_request, + max_surge, + max_unavailable, _request_auth, _content_type, _headers, @@ -18973,14 +22650,22 @@ def _update_service_account_service_accounts_workos_id_put_serialize( _body_params: Optional[bytes] = None # process the path parameters - if workos_id is not None: - _path_params['workos_id'] = workos_id + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id # process the query parameters + if max_surge is not None: + + _query_params.append(('max_surge', max_surge)) + + if max_unavailable is not None: + + _query_params.append(('max_unavailable', max_unavailable)) + # process the header parameters # process the form parameters # process the body parameter - if update_service_account_request is not None: - _body_params = update_service_account_request + if unified_write_deployment_request is not None: + _body_params = unified_write_deployment_request # set the HTTP header `Accept` @@ -19012,7 +22697,7 @@ def _update_service_account_service_accounts_workos_id_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/service-accounts/{workos_id}', + resource_path='/deployments/{deployment_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -19029,10 +22714,10 @@ def _update_service_account_service_accounts_workos_id_put_serialize( @validate_call - def update_unified_deployment_deployments_deployment_id_put( + def update_unified_deployment_rollout_deployments_deployment_id_rollout_put( self, deployment_id: StrictInt, - unified_write_deployment_request: UnifiedWriteDeploymentRequest, + unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19045,15 +22730,15 @@ def update_unified_deployment_deployments_deployment_id_put( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UnifiedWriteDeploymentResponse: - """Update Unified Deployment + ) -> UnifiedGetDeploymentRolloutResponse: + """Update Unified Deployment Rollout - Replace a deployment's request, as the per-type PUT routes do. Updates ACTIVE ccl_compute, ccl_inference and ccl_dynamo deployments through ccluster. Every refusal comes before any write. + Pause or resume the in-flight rollout; not stored. Not implemented yet. :param deployment_id: (required) :type deployment_id: int - :param unified_write_deployment_request: (required) - :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param unified_update_deployment_rollout_request: (required) + :type unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest :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 @@ -19076,9 +22761,9 @@ def update_unified_deployment_deployments_deployment_id_put( :return: Returns the result object. """ # noqa: E501 - _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + _param = self._update_unified_deployment_rollout_deployments_deployment_id_rollout_put_serialize( deployment_id=deployment_id, - unified_write_deployment_request=unified_write_deployment_request, + unified_update_deployment_rollout_request=unified_update_deployment_rollout_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19086,7 +22771,7 @@ def update_unified_deployment_deployments_deployment_id_put( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UnifiedWriteDeploymentResponse", + '200': "UnifiedGetDeploymentRolloutResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -19101,10 +22786,10 @@ def update_unified_deployment_deployments_deployment_id_put( @validate_call - def update_unified_deployment_deployments_deployment_id_put_with_http_info( + def update_unified_deployment_rollout_deployments_deployment_id_rollout_put_with_http_info( self, deployment_id: StrictInt, - unified_write_deployment_request: UnifiedWriteDeploymentRequest, + unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19117,15 +22802,15 @@ def update_unified_deployment_deployments_deployment_id_put_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UnifiedWriteDeploymentResponse]: - """Update Unified Deployment + ) -> ApiResponse[UnifiedGetDeploymentRolloutResponse]: + """Update Unified Deployment Rollout - Replace a deployment's request, as the per-type PUT routes do. Updates ACTIVE ccl_compute, ccl_inference and ccl_dynamo deployments through ccluster. Every refusal comes before any write. + Pause or resume the in-flight rollout; not stored. Not implemented yet. :param deployment_id: (required) :type deployment_id: int - :param unified_write_deployment_request: (required) - :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param unified_update_deployment_rollout_request: (required) + :type unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest :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 @@ -19148,9 +22833,9 @@ def update_unified_deployment_deployments_deployment_id_put_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + _param = self._update_unified_deployment_rollout_deployments_deployment_id_rollout_put_serialize( deployment_id=deployment_id, - unified_write_deployment_request=unified_write_deployment_request, + unified_update_deployment_rollout_request=unified_update_deployment_rollout_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19158,7 +22843,7 @@ def update_unified_deployment_deployments_deployment_id_put_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UnifiedWriteDeploymentResponse", + '200': "UnifiedGetDeploymentRolloutResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -19173,10 +22858,10 @@ def update_unified_deployment_deployments_deployment_id_put_with_http_info( @validate_call - def update_unified_deployment_deployments_deployment_id_put_without_preload_content( + def update_unified_deployment_rollout_deployments_deployment_id_rollout_put_without_preload_content( self, deployment_id: StrictInt, - unified_write_deployment_request: UnifiedWriteDeploymentRequest, + unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19190,14 +22875,14 @@ def update_unified_deployment_deployments_deployment_id_put_without_preload_cont _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Unified Deployment + """Update Unified Deployment Rollout - Replace a deployment's request, as the per-type PUT routes do. Updates ACTIVE ccl_compute, ccl_inference and ccl_dynamo deployments through ccluster. Every refusal comes before any write. + Pause or resume the in-flight rollout; not stored. Not implemented yet. :param deployment_id: (required) :type deployment_id: int - :param unified_write_deployment_request: (required) - :type unified_write_deployment_request: UnifiedWriteDeploymentRequest + :param unified_update_deployment_rollout_request: (required) + :type unified_update_deployment_rollout_request: UnifiedUpdateDeploymentRolloutRequest :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 @@ -19220,9 +22905,9 @@ def update_unified_deployment_deployments_deployment_id_put_without_preload_cont :return: Returns the result object. """ # noqa: E501 - _param = self._update_unified_deployment_deployments_deployment_id_put_serialize( + _param = self._update_unified_deployment_rollout_deployments_deployment_id_rollout_put_serialize( deployment_id=deployment_id, - unified_write_deployment_request=unified_write_deployment_request, + unified_update_deployment_rollout_request=unified_update_deployment_rollout_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19230,7 +22915,7 @@ def update_unified_deployment_deployments_deployment_id_put_without_preload_cont ) _response_types_map: Dict[str, Optional[str]] = { - '200': "UnifiedWriteDeploymentResponse", + '200': "UnifiedGetDeploymentRolloutResponse", '422': "HTTPValidationError", } response_data = self.api_client.call_api( @@ -19240,10 +22925,10 @@ def update_unified_deployment_deployments_deployment_id_put_without_preload_cont return response_data.response - def _update_unified_deployment_deployments_deployment_id_put_serialize( + def _update_unified_deployment_rollout_deployments_deployment_id_rollout_put_serialize( self, deployment_id, - unified_write_deployment_request, + unified_update_deployment_rollout_request, _request_auth, _content_type, _headers, @@ -19271,8 +22956,8 @@ def _update_unified_deployment_deployments_deployment_id_put_serialize( # process the header parameters # process the form parameters # process the body parameter - if unified_write_deployment_request is not None: - _body_params = unified_write_deployment_request + if unified_update_deployment_rollout_request is not None: + _body_params = unified_update_deployment_rollout_request # set the HTTP header `Accept` @@ -19304,7 +22989,7 @@ def _update_unified_deployment_deployments_deployment_id_put_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/deployments/{deployment_id}', + resource_path='/deployments/{deployment_id}/rollout', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/platform_api_python_client/api_client.py b/platform_api_python_client/api_client.py index 63a7691..22b660e 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.35.0/python' + self.user_agent = 'OpenAPI-Generator/4.36.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 916d50d..2f87e14 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.35.0".\ + "SDK Package Version: 4.36.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 b2d6f9f..60df486 100644 --- a/platform_api_python_client/models/__init__.py +++ b/platform_api_python_client/models/__init__.py @@ -17,6 +17,8 @@ from platform_api_python_client.models.argo_rollouts import ArgoRollouts from platform_api_python_client.models.backend_protocol import BackendProtocol from platform_api_python_client.models.c_serve_v2_recipe import CServeV2Recipe +from platform_api_python_client.models.ccl_dynamo_pools import CclDynamoPools +from platform_api_python_client.models.ccl_main_pools import CclMainPools from platform_api_python_client.models.cert_manager import CertManager from platform_api_python_client.models.cloud_provider import CloudProvider from platform_api_python_client.models.cluster_capacity_response import ClusterCapacityResponse @@ -60,11 +62,13 @@ from platform_api_python_client.models.deployment_usage_value import DeploymentUsageValue from platform_api_python_client.models.dynamo_communications_input import DynamoCommunicationsInput from platform_api_python_client.models.dynamo_communications_output import DynamoCommunicationsOutput +from platform_api_python_client.models.dynamo_image import DynamoImage from platform_api_python_client.models.dynamo_kv_transfer_configuration import DynamoKvTransferConfiguration from platform_api_python_client.models.dynamo_kv_transfer_policy import DynamoKvTransferPolicy from platform_api_python_client.models.dynamo_serving_mode import DynamoServingMode from platform_api_python_client.models.dynamo_worker_pool_config import DynamoWorkerPoolConfig from platform_api_python_client.models.dynamo_worker_pools import DynamoWorkerPools +from platform_api_python_client.models.env import Env from platform_api_python_client.models.external_dns import ExternalDns from platform_api_python_client.models.final_stack import FinalStack from platform_api_python_client.models.fluent_bit import FluentBit @@ -91,8 +95,17 @@ from platform_api_python_client.models.http_validation_error import HTTPValidationError from platform_api_python_client.models.hardware_instance_response import HardwareInstanceResponse from platform_api_python_client.models.hardware_preset_response import HardwarePresetResponse +from platform_api_python_client.models.image import Image from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials +from platform_api_python_client.models.ingress import Ingress from platform_api_python_client.models.ingress_nginx import IngressNginx +from platform_api_python_client.models.insight_list_item_response import InsightListItemResponse +from platform_api_python_client.models.insight_resource import InsightResource +from platform_api_python_client.models.insight_resource_type import InsightResourceType +from platform_api_python_client.models.insight_response import InsightResponse +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus +from platform_api_python_client.models.insight_status_change_response import InsightStatusChangeResponse from platform_api_python_client.models.invite_user_request import InviteUserRequest from platform_api_python_client.models.istio import Istio from platform_api_python_client.models.istio_cni_overrides import IstioCniOverrides @@ -107,6 +120,7 @@ from platform_api_python_client.models.list_get_deployment_response import ListGetDeploymentResponse from platform_api_python_client.models.list_hardware_instance_response import ListHardwareInstanceResponse from platform_api_python_client.models.list_hardware_preset_response import ListHardwarePresetResponse +from platform_api_python_client.models.list_insights_response import ListInsightsResponse from platform_api_python_client.models.list_organization_gpu_quota_response import ListOrganizationGpuQuotaResponse from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse @@ -123,6 +137,7 @@ from platform_api_python_client.models.organization_gpu_quota_response import OrganizationGpuQuotaResponse from platform_api_python_client.models.pod_details import PodDetails from platform_api_python_client.models.pod_status import PodStatus +from platform_api_python_client.models.pool import Pool from platform_api_python_client.models.prebuilt_image_response import PrebuiltImageResponse from platform_api_python_client.models.prometheus_adapter import PrometheusAdapter from platform_api_python_client.models.revision_pod_details import RevisionPodDetails @@ -133,6 +148,18 @@ from platform_api_python_client.models.spire import Spire from platform_api_python_client.models.spire_crds import SpireCrds from platform_api_python_client.models.teleport_kube_agent import TeleportKubeAgent +from platform_api_python_client.models.unified_get_compute_deployment_response import UnifiedGetComputeDeploymentResponse +from platform_api_python_client.models.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse +from platform_api_python_client.models.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse +from platform_api_python_client.models.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse +from platform_api_python_client.models.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse +from platform_api_python_client.models.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse +from platform_api_python_client.models.unified_get_dynamo_deployment_response import UnifiedGetDynamoDeploymentResponse +from platform_api_python_client.models.unified_get_inference_v3_deployment_response import UnifiedGetInferenceV3DeploymentResponse +from platform_api_python_client.models.unified_get_job_deployment_response import UnifiedGetJobDeploymentResponse +from platform_api_python_client.models.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse +from platform_api_python_client.models.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest from platform_api_python_client.models.unified_write_compute_deployment_request import UnifiedWriteComputeDeploymentRequest from platform_api_python_client.models.unified_write_deployment_request import UnifiedWriteDeploymentRequest from platform_api_python_client.models.unified_write_deployment_response import UnifiedWriteDeploymentResponse @@ -142,6 +169,7 @@ from platform_api_python_client.models.update_cluster_metadata_request import UpdateClusterMetadataRequest from platform_api_python_client.models.update_deployment_response import UpdateDeploymentResponse from platform_api_python_client.models.update_deployment_status_v3_request import UpdateDeploymentStatusV3Request +from platform_api_python_client.models.update_insight_status_request import UpdateInsightStatusRequest from platform_api_python_client.models.update_service_account_request import UpdateServiceAccountRequest from platform_api_python_client.models.upsert_user_vault_item_request import UpsertUserVaultItemRequest from platform_api_python_client.models.usage_availability import UsageAvailability diff --git a/platform_api_python_client/models/ccl_dynamo_pools.py b/platform_api_python_client/models/ccl_dynamo_pools.py new file mode 100644 index 0000000..0049708 --- /dev/null +++ b/platform_api_python_client/models/ccl_dynamo_pools.py @@ -0,0 +1,116 @@ +# 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, Optional +from platform_api_python_client.models.pool import Pool +from typing import Optional, Set +from typing_extensions import Self + +class CclDynamoPools(BaseModel): + """ + Hardware and scaling per worker role. Aggregated mode uses exactly `worker`; disaggregated mode uses exactly `prefill` and `decode`. Unused roles are null. + """ # noqa: E501 + worker: Optional[Pool] = None + prefill: Optional[Pool] = None + decode: Optional[Pool] = None + __properties: ClassVar[List[str]] = ["worker", "prefill", "decode"] + + 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 CclDynamoPools 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 worker + if self.worker: + _dict['worker'] = self.worker.to_dict() + # override the default output from pydantic by calling `to_dict()` of prefill + if self.prefill: + _dict['prefill'] = self.prefill.to_dict() + # override the default output from pydantic by calling `to_dict()` of decode + if self.decode: + _dict['decode'] = self.decode.to_dict() + # set to None if worker (nullable) is None + # and model_fields_set contains the field + if self.worker is None and "worker" in self.model_fields_set: + _dict['worker'] = None + + # set to None if prefill (nullable) is None + # and model_fields_set contains the field + if self.prefill is None and "prefill" in self.model_fields_set: + _dict['prefill'] = None + + # set to None if decode (nullable) is None + # and model_fields_set contains the field + if self.decode is None and "decode" in self.model_fields_set: + _dict['decode'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CclDynamoPools from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "worker": Pool.from_dict(obj["worker"]) if obj.get("worker") is not None else None, + "prefill": Pool.from_dict(obj["prefill"]) if obj.get("prefill") is not None else None, + "decode": Pool.from_dict(obj["decode"]) if obj.get("decode") is not None else None + }) + return _obj + + diff --git a/platform_api_python_client/models/ccl_main_pools.py b/platform_api_python_client/models/ccl_main_pools.py new file mode 100644 index 0000000..0bf6a2e --- /dev/null +++ b/platform_api_python_client/models/ccl_main_pools.py @@ -0,0 +1,91 @@ +# 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.pool import Pool +from typing import Optional, Set +from typing_extensions import Self + +class CclMainPools(BaseModel): + """ + CclMainPools + """ # noqa: E501 + main: Pool + __properties: ClassVar[List[str]] = ["main"] + + 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 CclMainPools 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 main + if self.main: + _dict['main'] = self.main.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CclMainPools from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "main": Pool.from_dict(obj["main"]) if obj.get("main") is not None else None + }) + return _obj + + diff --git a/platform_api_python_client/models/dynamo_image.py b/platform_api_python_client/models/dynamo_image.py new file mode 100644 index 0000000..6bc86f0 --- /dev/null +++ b/platform_api_python_client/models/dynamo_image.py @@ -0,0 +1,105 @@ +# 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, 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 DynamoImage(BaseModel): + """ + DynamoImage + """ # noqa: E501 + runtime_version: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Dynamo runtime image tag (for example 1.4.0). Defaults to the platform's current release; GET /prebuilt-images?type=dynamo lists the versions the platform has validated, but any tag may be requested. require_gpu_direct_rdma needs an EFA-capable image. Changing it restarts every component of a running deployment.") + pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + __properties: ClassVar[List[str]] = ["runtime_version", "pull_ref"] + + @field_validator('runtime_version') + def runtime_version_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$", value): + raise ValueError(r"must validate the regular expression /^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$/") + 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 DynamoImage 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 pull_ref (nullable) is None + # and model_fields_set contains the field + if self.pull_ref is None and "pull_ref" in self.model_fields_set: + _dict['pull_ref'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DynamoImage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "runtime_version": obj.get("runtime_version"), + "pull_ref": obj.get("pull_ref") + }) + return _obj + + diff --git a/platform_api_python_client/models/dynamo_worker_pool_config.py b/platform_api_python_client/models/dynamo_worker_pool_config.py index fe85883..e177efc 100644 --- a/platform_api_python_client/models/dynamo_worker_pool_config.py +++ b/platform_api_python_client/models/dynamo_worker_pool_config.py @@ -29,7 +29,7 @@ class DynamoWorkerPoolConfig(BaseModel): """ # noqa: E501 hardware_instance_id: StrictInt replicas: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - min_replicas: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + min_replicas: Optional[Annotated[int, Field(strict=True, ge=0)]] = None max_replicas: Optional[Annotated[int, Field(strict=True, ge=1)]] = None concurrency: Optional[Annotated[int, Field(strict=True, ge=1)]] = None cooldown_period: Optional[Annotated[int, Field(le=3600, strict=True, ge=0)]] = None diff --git a/platform_api_python_client/models/env.py b/platform_api_python_client/models/env.py new file mode 100644 index 0000000..05c1b0c --- /dev/null +++ b/platform_api_python_client/models/env.py @@ -0,0 +1,89 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Env(BaseModel): + """ + Env + """ # noqa: E501 + vars: Optional[Dict[str, StrictStr]] = None + refs: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["vars", "refs"] + + 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 Env 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 Env from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "vars": obj.get("vars"), + "refs": obj.get("refs") + }) + return _obj + + diff --git a/platform_api_python_client/models/image.py b/platform_api_python_client/models/image.py new file mode 100644 index 0000000..0671416 --- /dev/null +++ b/platform_api_python_client/models/image.py @@ -0,0 +1,112 @@ +# 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, 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 Image(BaseModel): + """ + Image + """ # noqa: E501 + url: StrictStr + pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + pull_secret_name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=253)]] = Field(default=None, description="Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it.") + __properties: ClassVar[List[str]] = ["url", "pull_ref", "pull_secret_name"] + + @field_validator('pull_secret_name') + def pull_secret_name_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", value): + raise ValueError(r"must validate the regular expression /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/") + 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 Image 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 pull_ref (nullable) is None + # and model_fields_set contains the field + if self.pull_ref is None and "pull_ref" in self.model_fields_set: + _dict['pull_ref'] = None + + # set to None if pull_secret_name (nullable) is None + # and model_fields_set contains the field + if self.pull_secret_name is None and "pull_secret_name" in self.model_fields_set: + _dict['pull_secret_name'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Image from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "url": obj.get("url"), + "pull_ref": obj.get("pull_ref"), + "pull_secret_name": obj.get("pull_secret_name") + }) + return _obj + + diff --git a/platform_api_python_client/models/ingress.py b/platform_api_python_client/models/ingress.py new file mode 100644 index 0000000..d65c7f9 --- /dev/null +++ b/platform_api_python_client/models/ingress.py @@ -0,0 +1,103 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from platform_api_python_client.models.backend_protocol import BackendProtocol +from typing import Optional, Set +from typing_extensions import Self + +class Ingress(BaseModel): + """ + Ingress + """ # noqa: E501 + backend_protocol: Optional[BackendProtocol] = None + bearer_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + certificate_authority: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["backend_protocol", "bearer_token_ref", "certificate_authority"] + + 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 Ingress 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 bearer_token_ref (nullable) is None + # and model_fields_set contains the field + if self.bearer_token_ref is None and "bearer_token_ref" in self.model_fields_set: + _dict['bearer_token_ref'] = None + + # set to None if certificate_authority (nullable) is None + # and model_fields_set contains the field + if self.certificate_authority is None and "certificate_authority" in self.model_fields_set: + _dict['certificate_authority'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Ingress from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "backend_protocol": obj.get("backend_protocol"), + "bearer_token_ref": obj.get("bearer_token_ref"), + "certificate_authority": obj.get("certificate_authority") + }) + return _obj + + diff --git a/platform_api_python_client/models/insight_list_item_response.py b/platform_api_python_client/models/insight_list_item_response.py new file mode 100644 index 0000000..7da75f7 --- /dev/null +++ b/platform_api_python_client/models/insight_list_item_response.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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List +from platform_api_python_client.models.insight_resource import InsightResource +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus +from typing import Optional, Set +from typing_extensions import Self + +class InsightListItemResponse(BaseModel): + """ + InsightListItemResponse + """ # noqa: E501 + id: StrictInt + identity: StrictStr = Field(description="Human-readable identifier, e.g. INSIGHT-42") + severity: InsightSeverity + status: InsightStatus + title: StrictStr + observed_at: datetime + created_at: datetime + resource: InsightResource + __properties: ClassVar[List[str]] = ["id", "identity", "severity", "status", "title", "observed_at", "created_at", "resource"] + + 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 InsightListItemResponse 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 resource + if self.resource: + _dict['resource'] = self.resource.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InsightListItemResponse 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"), + "identity": obj.get("identity"), + "severity": obj.get("severity"), + "status": obj.get("status"), + "title": obj.get("title"), + "observed_at": obj.get("observed_at"), + "created_at": obj.get("created_at"), + "resource": InsightResource.from_dict(obj["resource"]) if obj.get("resource") is not None else None + }) + return _obj + + diff --git a/platform_api_python_client/models/insight_resource.py b/platform_api_python_client/models/insight_resource.py new file mode 100644 index 0000000..5fc5911 --- /dev/null +++ b/platform_api_python_client/models/insight_resource.py @@ -0,0 +1,97 @@ +# 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from platform_api_python_client.models.insight_resource_type import InsightResourceType +from typing import Optional, Set +from typing_extensions import Self + +class InsightResource(BaseModel): + """ + InsightResource + """ # noqa: E501 + type: InsightResourceType + id: StrictInt + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["type", "id", "name"] + + 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 InsightResource 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 name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InsightResource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "name": obj.get("name") + }) + return _obj + + diff --git a/platform_api_python_client/models/insight_resource_type.py b/platform_api_python_client/models/insight_resource_type.py new file mode 100644 index 0000000..1518721 --- /dev/null +++ b/platform_api_python_client/models/insight_resource_type.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 InsightResourceType(str, Enum): + """ + InsightResourceType + """ + + """ + allowed enum values + """ + CLUSTER = 'cluster' + DEPLOYMENT = 'deployment' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of InsightResourceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/platform_api_python_client/models/insight_response.py b/platform_api_python_client/models/insight_response.py new file mode 100644 index 0000000..a550062 --- /dev/null +++ b/platform_api_python_client/models/insight_response.py @@ -0,0 +1,133 @@ +# 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, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from platform_api_python_client.models.insight_resource import InsightResource +from platform_api_python_client.models.insight_severity import InsightSeverity +from platform_api_python_client.models.insight_status import InsightStatus +from platform_api_python_client.models.insight_status_change_response import InsightStatusChangeResponse +from typing import Optional, Set +from typing_extensions import Self + +class InsightResponse(BaseModel): + """ + InsightResponse + """ # noqa: E501 + id: StrictInt + identity: StrictStr = Field(description="Human-readable identifier, e.g. INSIGHT-42") + severity: InsightSeverity + status: InsightStatus + title: StrictStr + observed_at: datetime + created_at: datetime + resource: InsightResource + observed_summary: StrictStr + recommended_steps: StrictStr + content: Optional[StrictStr] = None + reported_by: StrictStr = Field(description="Name of the user that reported it; a service account shows its creator") + updated_at: datetime + history: List[InsightStatusChangeResponse] = Field(description="Status changes, newest first") + __properties: ClassVar[List[str]] = ["id", "identity", "severity", "status", "title", "observed_at", "created_at", "resource", "observed_summary", "recommended_steps", "content", "reported_by", "updated_at", "history"] + + 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 InsightResponse 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 resource + if self.resource: + _dict['resource'] = self.resource.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in history (list) + _items = [] + if self.history: + for _item_history in self.history: + if _item_history: + _items.append(_item_history.to_dict()) + _dict['history'] = _items + # set to None if content (nullable) is None + # and model_fields_set contains the field + if self.content is None and "content" in self.model_fields_set: + _dict['content'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InsightResponse 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"), + "identity": obj.get("identity"), + "severity": obj.get("severity"), + "status": obj.get("status"), + "title": obj.get("title"), + "observed_at": obj.get("observed_at"), + "created_at": obj.get("created_at"), + "resource": InsightResource.from_dict(obj["resource"]) if obj.get("resource") is not None else None, + "observed_summary": obj.get("observed_summary"), + "recommended_steps": obj.get("recommended_steps"), + "content": obj.get("content"), + "reported_by": obj.get("reported_by"), + "updated_at": obj.get("updated_at"), + "history": [InsightStatusChangeResponse.from_dict(_item) for _item in obj["history"]] if obj.get("history") is not None else None + }) + return _obj + + diff --git a/platform_api_python_client/models/insight_severity.py b/platform_api_python_client/models/insight_severity.py new file mode 100644 index 0000000..654e006 --- /dev/null +++ b/platform_api_python_client/models/insight_severity.py @@ -0,0 +1,40 @@ +# 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 InsightSeverity(str, Enum): + """ + InsightSeverity + """ + + """ + allowed enum values + """ + CRITICAL = 'critical' + HIGH = 'high' + MEDIUM = 'medium' + LOW = 'low' + INFO = 'info' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of InsightSeverity from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/platform_api_python_client/models/insight_status.py b/platform_api_python_client/models/insight_status.py new file mode 100644 index 0000000..8a60eb3 --- /dev/null +++ b/platform_api_python_client/models/insight_status.py @@ -0,0 +1,39 @@ +# 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 InsightStatus(str, Enum): + """ + InsightStatus + """ + + """ + allowed enum values + """ + NEW = 'new' + ACKNOWLEDGED = 'acknowledged' + RESOLVED = 'resolved' + NOT_RELEVANT = 'not_relevant' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of InsightStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/platform_api_python_client/models/insight_status_change_response.py b/platform_api_python_client/models/insight_status_change_response.py new file mode 100644 index 0000000..081ba08 --- /dev/null +++ b/platform_api_python_client/models/insight_status_change_response.py @@ -0,0 +1,107 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from platform_api_python_client.models.insight_status import InsightStatus +from typing import Optional, Set +from typing_extensions import Self + +class InsightStatusChangeResponse(BaseModel): + """ + InsightStatusChangeResponse + """ # noqa: E501 + from_status: InsightStatus + to_status: InsightStatus + actor_name: Optional[StrictStr] = None + created_at: datetime + comment: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["from_status", "to_status", "actor_name", "created_at", "comment"] + + 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 InsightStatusChangeResponse 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 actor_name (nullable) is None + # and model_fields_set contains the field + if self.actor_name is None and "actor_name" in self.model_fields_set: + _dict['actor_name'] = None + + # set to None if comment (nullable) is None + # and model_fields_set contains the field + if self.comment is None and "comment" in self.model_fields_set: + _dict['comment'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InsightStatusChangeResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "from_status": obj.get("from_status"), + "to_status": obj.get("to_status"), + "actor_name": obj.get("actor_name"), + "created_at": obj.get("created_at"), + "comment": obj.get("comment") + }) + return _obj + + diff --git a/platform_api_python_client/models/list_insights_response.py b/platform_api_python_client/models/list_insights_response.py new file mode 100644 index 0000000..62af7ab --- /dev/null +++ b/platform_api_python_client/models/list_insights_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, Field +from typing import Any, ClassVar, Dict, List +from platform_api_python_client.models.insight_list_item_response import InsightListItemResponse +from typing import Optional, Set +from typing_extensions import Self + +class ListInsightsResponse(BaseModel): + """ + ListInsightsResponse + """ # noqa: E501 + results: List[InsightListItemResponse] = Field(description="Newest first. A page shorter than the requested limit is the last one; pass the last id as before_id for the next page.") + __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 ListInsightsResponse 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 ListInsightsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "results": [InsightListItemResponse.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/pool.py b/platform_api_python_client/models/pool.py new file mode 100644 index 0000000..cb34a81 --- /dev/null +++ b/platform_api_python_client/models/pool.py @@ -0,0 +1,116 @@ +# 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class Pool(BaseModel): + """ + Pool + """ # noqa: E501 + hardware_instance_id: StrictInt + min_replicas: Optional[StrictInt] = None + max_replicas: Optional[StrictInt] = None + concurrency: Optional[StrictInt] = None + cooldown_period: Optional[Annotated[int, Field(le=3600, strict=True, ge=0)]] = None + __properties: ClassVar[List[str]] = ["hardware_instance_id", "min_replicas", "max_replicas", "concurrency", "cooldown_period"] + + 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 Pool 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 min_replicas (nullable) is None + # and model_fields_set contains the field + if self.min_replicas is None and "min_replicas" in self.model_fields_set: + _dict['min_replicas'] = None + + # set to None if max_replicas (nullable) is None + # and model_fields_set contains the field + if self.max_replicas is None and "max_replicas" in self.model_fields_set: + _dict['max_replicas'] = None + + # set to None if concurrency (nullable) is None + # and model_fields_set contains the field + if self.concurrency is None and "concurrency" in self.model_fields_set: + _dict['concurrency'] = None + + # set to None if cooldown_period (nullable) is None + # and model_fields_set contains the field + if self.cooldown_period is None and "cooldown_period" in self.model_fields_set: + _dict['cooldown_period'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Pool from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hardware_instance_id": obj.get("hardware_instance_id"), + "min_replicas": obj.get("min_replicas"), + "max_replicas": obj.get("max_replicas"), + "concurrency": obj.get("concurrency"), + "cooldown_period": obj.get("cooldown_period") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_compute_deployment_response.py b/platform_api_python_client/models/unified_get_compute_deployment_response.py new file mode 100644 index 0000000..1744130 --- /dev/null +++ b/platform_api_python_client/models/unified_get_compute_deployment_response.py @@ -0,0 +1,177 @@ +# 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, 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.ccl_main_pools import CclMainPools +from platform_api_python_client.models.deployment_status import DeploymentStatus +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image +from platform_api_python_client.models.volume_mount import VolumeMount +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetComputeDeploymentResponse(BaseModel): + """ + UnifiedGetComputeDeploymentResponse + """ # noqa: E501 + id: StrictInt + status: DeploymentStatus + creator_email: StrictStr + created_at: datetime + updated_at: datetime + revision_number: StrictInt + endpoint_url: Optional[StrictStr] + type: StrictStr + name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] + cluster_id: StrictInt + user_annotations: Optional[Dict[str, StrictStr]] = None + chart_revision: Optional[StrictStr] = None + volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None + priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None + pools: CclMainPools + env: Optional[Env] = None + image: Image + ssh_public_key: Annotated[str, Field(min_length=1, strict=True)] + enable_logging: Optional[StrictBool] = False + exposed_port: StrictInt + __properties: ClassVar[List[str]] = ["id", "status", "creator_email", "created_at", "updated_at", "revision_number", "endpoint_url", "type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ssh_public_key", "enable_logging", "exposed_port"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ccl_compute']): + raise ValueError("must be one of enum values ('ccl_compute')") + return value + + @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 + + 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 UnifiedGetComputeDeploymentResponse 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 volume_mounts (list) + _items = [] + if self.volume_mounts: + for _item_volume_mounts in self.volume_mounts: + if _item_volume_mounts: + _items.append(_item_volume_mounts.to_dict()) + _dict['volume_mounts'] = _items + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # set to None if endpoint_url (nullable) is None + # and model_fields_set contains the field + if self.endpoint_url is None and "endpoint_url" in self.model_fields_set: + _dict['endpoint_url'] = None + + # set to None if user_annotations (nullable) is None + # and model_fields_set contains the field + if self.user_annotations is None and "user_annotations" in self.model_fields_set: + _dict['user_annotations'] = None + + # set to None if priority (nullable) is None + # and model_fields_set contains the field + if self.priority is None and "priority" in self.model_fields_set: + _dict['priority'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetComputeDeploymentResponse 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"), + "status": obj.get("status"), + "creator_email": obj.get("creator_email"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "revision_number": obj.get("revision_number"), + "endpoint_url": obj.get("endpoint_url"), + "type": obj.get("type"), + "name": obj.get("name"), + "cluster_id": obj.get("cluster_id"), + "user_annotations": obj.get("user_annotations"), + "chart_revision": obj.get("chart_revision"), + "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, + "priority": obj.get("priority"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, + "ssh_public_key": obj.get("ssh_public_key"), + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False, + "exposed_port": obj.get("exposed_port") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_deployment_logs_response.py b/platform_api_python_client/models/unified_get_deployment_logs_response.py new file mode 100644 index 0000000..fbcb487 --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_logs_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, Field +from typing import Any, ClassVar, Dict, List +from platform_api_python_client.models.deployment_log_event_v4 import DeploymentLogEventV4 +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDeploymentLogsResponse(BaseModel): + """ + UnifiedGetDeploymentLogsResponse + """ # noqa: E501 + events: List[DeploymentLogEventV4] = Field(description="Log events, oldest first. Page boundaries are minted client-side from the events' timestamp field (see the endpoint description): an empty fetch_newer=false page means history is exhausted; an empty fetch_newer=true page means nothing new yet.") + __properties: ClassVar[List[str]] = ["events"] + + 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 UnifiedGetDeploymentLogsResponse 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 events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetDeploymentLogsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [DeploymentLogEventV4.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_deployment_pods_response.py b/platform_api_python_client/models/unified_get_deployment_pods_response.py new file mode 100644 index 0000000..2d5545a --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_pods_response.py @@ -0,0 +1,87 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDeploymentPodsResponse(BaseModel): + """ + UnifiedGetDeploymentPodsResponse + """ # noqa: E501 + pods: List[StrictStr] + __properties: ClassVar[List[str]] = ["pods"] + + 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 UnifiedGetDeploymentPodsResponse 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 UnifiedGetDeploymentPodsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pods": obj.get("pods") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_deployment_response.py b/platform_api_python_client/models/unified_get_deployment_response.py new file mode 100644 index 0000000..399ffe4 --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_response.py @@ -0,0 +1,164 @@ +# 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 +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from platform_api_python_client.models.unified_get_compute_deployment_response import UnifiedGetComputeDeploymentResponse +from platform_api_python_client.models.unified_get_dynamo_deployment_response import UnifiedGetDynamoDeploymentResponse +from platform_api_python_client.models.unified_get_inference_v3_deployment_response import UnifiedGetInferenceV3DeploymentResponse +from platform_api_python_client.models.unified_get_job_deployment_response import UnifiedGetJobDeploymentResponse +from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +UNIFIEDGETDEPLOYMENTRESPONSE_ANY_OF_SCHEMAS = ["UnifiedGetComputeDeploymentResponse", "UnifiedGetDynamoDeploymentResponse", "UnifiedGetInferenceV3DeploymentResponse", "UnifiedGetJobDeploymentResponse"] + +class UnifiedGetDeploymentResponse(BaseModel): + """ + UnifiedGetDeploymentResponse + """ + + # data type: UnifiedGetComputeDeploymentResponse + anyof_schema_1_validator: Optional[UnifiedGetComputeDeploymentResponse] = None + # data type: UnifiedGetInferenceV3DeploymentResponse + anyof_schema_2_validator: Optional[UnifiedGetInferenceV3DeploymentResponse] = None + # data type: UnifiedGetJobDeploymentResponse + anyof_schema_3_validator: Optional[UnifiedGetJobDeploymentResponse] = None + # data type: UnifiedGetDynamoDeploymentResponse + anyof_schema_4_validator: Optional[UnifiedGetDynamoDeploymentResponse] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[UnifiedGetComputeDeploymentResponse, UnifiedGetDynamoDeploymentResponse, UnifiedGetInferenceV3DeploymentResponse, UnifiedGetJobDeploymentResponse]] = None + else: + actual_instance: Any = None + any_of_schemas: Set[str] = { "UnifiedGetComputeDeploymentResponse", "UnifiedGetDynamoDeploymentResponse", "UnifiedGetInferenceV3DeploymentResponse", "UnifiedGetJobDeploymentResponse" } + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + 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_anyof(cls, v): + instance = UnifiedGetDeploymentResponse.model_construct() + error_messages = [] + # validate data type: UnifiedGetComputeDeploymentResponse + if not isinstance(v, UnifiedGetComputeDeploymentResponse): + error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedGetComputeDeploymentResponse`") + else: + return v + + # validate data type: UnifiedGetInferenceV3DeploymentResponse + if not isinstance(v, UnifiedGetInferenceV3DeploymentResponse): + error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedGetInferenceV3DeploymentResponse`") + else: + return v + + # validate data type: UnifiedGetJobDeploymentResponse + if not isinstance(v, UnifiedGetJobDeploymentResponse): + error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedGetJobDeploymentResponse`") + else: + return v + + # validate data type: UnifiedGetDynamoDeploymentResponse + if not isinstance(v, UnifiedGetDynamoDeploymentResponse): + error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedGetDynamoDeploymentResponse`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in UnifiedGetDeploymentResponse with anyOf schemas: UnifiedGetComputeDeploymentResponse, UnifiedGetDynamoDeploymentResponse, UnifiedGetInferenceV3DeploymentResponse, UnifiedGetJobDeploymentResponse. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: 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 = [] + # anyof_schema_1_validator: Optional[UnifiedGetComputeDeploymentResponse] = None + try: + instance.actual_instance = UnifiedGetComputeDeploymentResponse.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[UnifiedGetInferenceV3DeploymentResponse] = None + try: + instance.actual_instance = UnifiedGetInferenceV3DeploymentResponse.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_3_validator: Optional[UnifiedGetJobDeploymentResponse] = None + try: + instance.actual_instance = UnifiedGetJobDeploymentResponse.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_4_validator: Optional[UnifiedGetDynamoDeploymentResponse] = None + try: + instance.actual_instance = UnifiedGetDynamoDeploymentResponse.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into UnifiedGetDeploymentResponse with anyOf schemas: UnifiedGetComputeDeploymentResponse, UnifiedGetDynamoDeploymentResponse, UnifiedGetInferenceV3DeploymentResponse, UnifiedGetJobDeploymentResponse. 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], UnifiedGetComputeDeploymentResponse, UnifiedGetDynamoDeploymentResponse, UnifiedGetInferenceV3DeploymentResponse, UnifiedGetJobDeploymentResponse]]: + """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: + 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/unified_get_deployment_revision_response.py b/platform_api_python_client/models/unified_get_deployment_revision_response.py new file mode 100644 index 0000000..de2ecca --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_revision_response.py @@ -0,0 +1,109 @@ +# 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 +from typing import Any, ClassVar, Dict, List, Optional +from platform_api_python_client.models.unified_get_deployment_response import UnifiedGetDeploymentResponse +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDeploymentRevisionResponse(BaseModel): + """ + UnifiedGetDeploymentRevisionResponse + """ # noqa: E501 + id: StrictInt + revision_number: StrictInt + deployment_id: StrictInt + deployment_response: UnifiedGetDeploymentResponse + notes: Optional[StrictStr] = None + created_at: datetime + updated_at: datetime + __properties: ClassVar[List[str]] = ["id", "revision_number", "deployment_id", "deployment_response", "notes", "created_at", "updated_at"] + + 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 UnifiedGetDeploymentRevisionResponse 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 deployment_response + if self.deployment_response: + _dict['deployment_response'] = self.deployment_response.to_dict() + # set to None if notes (nullable) is None + # and model_fields_set contains the field + if self.notes is None and "notes" in self.model_fields_set: + _dict['notes'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetDeploymentRevisionResponse 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"), + "revision_number": obj.get("revision_number"), + "deployment_id": obj.get("deployment_id"), + "deployment_response": UnifiedGetDeploymentResponse.from_dict(obj["deployment_response"]) if obj.get("deployment_response") is not None else None, + "notes": obj.get("notes"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_deployment_rollout_response.py b/platform_api_python_client/models/unified_get_deployment_rollout_response.py new file mode 100644 index 0000000..66c0184 --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_rollout_response.py @@ -0,0 +1,90 @@ +# 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, StrictBool +from typing import Any, ClassVar, Dict, List +from platform_api_python_client.models.rollout_status import RolloutStatus +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDeploymentRolloutResponse(BaseModel): + """ + UnifiedGetDeploymentRolloutResponse + """ # noqa: E501 + paused: StrictBool + status: RolloutStatus + __properties: ClassVar[List[str]] = ["paused", "status"] + + 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 UnifiedGetDeploymentRolloutResponse 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 UnifiedGetDeploymentRolloutResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "paused": obj.get("paused"), + "status": obj.get("status") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_deployment_usage_response.py b/platform_api_python_client/models/unified_get_deployment_usage_response.py new file mode 100644 index 0000000..411bdb2 --- /dev/null +++ b/platform_api_python_client/models/unified_get_deployment_usage_response.py @@ -0,0 +1,110 @@ +# 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, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from platform_api_python_client.models.deployment_usage import DeploymentUsage +from platform_api_python_client.models.usage_availability import UsageAvailability +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDeploymentUsageResponse(BaseModel): + """ + UnifiedGetDeploymentUsageResponse + """ # noqa: E501 + values: List[DeploymentUsage] + availability: Optional[UsageAvailability] = None + last_sample_at: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["values", "availability", "last_sample_at"] + + 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 UnifiedGetDeploymentUsageResponse 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 values (list) + _items = [] + if self.values: + for _item_values in self.values: + if _item_values: + _items.append(_item_values.to_dict()) + _dict['values'] = _items + # set to None if availability (nullable) is None + # and model_fields_set contains the field + if self.availability is None and "availability" in self.model_fields_set: + _dict['availability'] = None + + # set to None if last_sample_at (nullable) is None + # and model_fields_set contains the field + if self.last_sample_at is None and "last_sample_at" in self.model_fields_set: + _dict['last_sample_at'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetDeploymentUsageResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "values": [DeploymentUsage.from_dict(_item) for _item in obj["values"]] if obj.get("values") is not None else None, + "availability": obj.get("availability"), + "last_sample_at": obj.get("last_sample_at") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_dynamo_deployment_response.py b/platform_api_python_client/models/unified_get_dynamo_deployment_response.py new file mode 100644 index 0000000..d87e3cb --- /dev/null +++ b/platform_api_python_client/models/unified_get_dynamo_deployment_response.py @@ -0,0 +1,218 @@ +# 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, 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.ccl_dynamo_pools import CclDynamoPools +from platform_api_python_client.models.deployment_status import DeploymentStatus +from platform_api_python_client.models.dynamo_communications_output import DynamoCommunicationsOutput +from platform_api_python_client.models.dynamo_image import DynamoImage +from platform_api_python_client.models.dynamo_serving_mode import DynamoServingMode +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.ingress import Ingress +from platform_api_python_client.models.volume_mount import VolumeMount +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetDynamoDeploymentResponse(BaseModel): + """ + UnifiedGetDynamoDeploymentResponse + """ # noqa: E501 + id: StrictInt + status: DeploymentStatus + creator_email: StrictStr + created_at: datetime + updated_at: datetime + revision_number: StrictInt + endpoint_url: Optional[StrictStr] + type: StrictStr + name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] + cluster_id: StrictInt + user_annotations: Optional[Dict[str, StrictStr]] = None + chart_revision: Optional[StrictStr] = None + volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None + priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None + pools: CclDynamoPools + env: Optional[Env] = None + image: Optional[DynamoImage] = None + ingress: Ingress + serving_mode: Optional[DynamoServingMode] = None + communications: Optional[DynamoCommunicationsOutput] = None + model: StrictStr + served_model_name: Optional[StrictStr] = None + extra_args: Optional[StrictStr] = None + hf_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + enable_logging: Optional[StrictBool] = True + enable_node_model_cache: Optional[StrictBool] = False + __properties: ClassVar[List[str]] = ["id", "status", "creator_email", "created_at", "updated_at", "revision_number", "endpoint_url", "type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ingress", "serving_mode", "communications", "model", "served_model_name", "extra_args", "hf_token_ref", "enable_logging", "enable_node_model_cache"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ccl_dynamo']): + raise ValueError("must be one of enum values ('ccl_dynamo')") + return value + + @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 + + 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 UnifiedGetDynamoDeploymentResponse 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 volume_mounts (list) + _items = [] + if self.volume_mounts: + for _item_volume_mounts in self.volume_mounts: + if _item_volume_mounts: + _items.append(_item_volume_mounts.to_dict()) + _dict['volume_mounts'] = _items + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of ingress + if self.ingress: + _dict['ingress'] = self.ingress.to_dict() + # override the default output from pydantic by calling `to_dict()` of communications + if self.communications: + _dict['communications'] = self.communications.to_dict() + # set to None if endpoint_url (nullable) is None + # and model_fields_set contains the field + if self.endpoint_url is None and "endpoint_url" in self.model_fields_set: + _dict['endpoint_url'] = None + + # set to None if user_annotations (nullable) is None + # and model_fields_set contains the field + if self.user_annotations is None and "user_annotations" in self.model_fields_set: + _dict['user_annotations'] = None + + # set to None if priority (nullable) is None + # and model_fields_set contains the field + if self.priority is None and "priority" in self.model_fields_set: + _dict['priority'] = None + + # set to None if communications (nullable) is None + # and model_fields_set contains the field + if self.communications is None and "communications" in self.model_fields_set: + _dict['communications'] = None + + # set to None if served_model_name (nullable) is None + # and model_fields_set contains the field + if self.served_model_name is None and "served_model_name" in self.model_fields_set: + _dict['served_model_name'] = None + + # set to None if extra_args (nullable) is None + # and model_fields_set contains the field + if self.extra_args is None and "extra_args" in self.model_fields_set: + _dict['extra_args'] = None + + # set to None if hf_token_ref (nullable) is None + # and model_fields_set contains the field + if self.hf_token_ref is None and "hf_token_ref" in self.model_fields_set: + _dict['hf_token_ref'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetDynamoDeploymentResponse 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"), + "status": obj.get("status"), + "creator_email": obj.get("creator_email"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "revision_number": obj.get("revision_number"), + "endpoint_url": obj.get("endpoint_url"), + "type": obj.get("type"), + "name": obj.get("name"), + "cluster_id": obj.get("cluster_id"), + "user_annotations": obj.get("user_annotations"), + "chart_revision": obj.get("chart_revision"), + "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, + "priority": obj.get("priority"), + "pools": CclDynamoPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": DynamoImage.from_dict(obj["image"]) if obj.get("image") is not None else None, + "ingress": Ingress.from_dict(obj["ingress"]) if obj.get("ingress") is not None else None, + "serving_mode": obj.get("serving_mode"), + "communications": DynamoCommunicationsOutput.from_dict(obj["communications"]) if obj.get("communications") is not None else None, + "model": obj.get("model"), + "served_model_name": obj.get("served_model_name"), + "extra_args": obj.get("extra_args"), + "hf_token_ref": obj.get("hf_token_ref"), + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True, + "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_inference_v3_deployment_response.py b/platform_api_python_client/models/unified_get_inference_v3_deployment_response.py new file mode 100644 index 0000000..e7f12f6 --- /dev/null +++ b/platform_api_python_client/models/unified_get_inference_v3_deployment_response.py @@ -0,0 +1,228 @@ +# 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, 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.ccl_main_pools import CclMainPools +from platform_api_python_client.models.config_file_mount import ConfigFileMount +from platform_api_python_client.models.deployment_status import DeploymentStatus +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image +from platform_api_python_client.models.ingress import Ingress +from platform_api_python_client.models.metrics_config import MetricsConfig +from platform_api_python_client.models.volume_mount import VolumeMount +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetInferenceV3DeploymentResponse(BaseModel): + """ + UnifiedGetInferenceV3DeploymentResponse + """ # noqa: E501 + id: StrictInt + status: DeploymentStatus + creator_email: StrictStr + created_at: datetime + updated_at: datetime + revision_number: StrictInt + endpoint_url: Optional[StrictStr] + type: StrictStr + name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] + cluster_id: StrictInt + user_annotations: Optional[Dict[str, StrictStr]] = None + chart_revision: Optional[StrictStr] = None + volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None + priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None + pools: CclMainPools + env: Optional[Env] = None + image: Image + ingress: Ingress + port: Annotated[int, Field(le=65535, strict=True, ge=1)] + healthcheck: Optional[StrictStr] = None + command: Optional[StrictStr] = None + config_file: Optional[ConfigFileMount] = None + hf_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + session_affinity: Optional[StrictBool] = Field(default=False, description="Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state.") + metrics: Optional[MetricsConfig] = None + enable_logging: Optional[StrictBool] = False + enable_node_model_cache: Optional[StrictBool] = False + __properties: ClassVar[List[str]] = ["id", "status", "creator_email", "created_at", "updated_at", "revision_number", "endpoint_url", "type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ingress", "port", "healthcheck", "command", "config_file", "hf_token_ref", "session_affinity", "metrics", "enable_logging", "enable_node_model_cache"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ccl_inference']): + raise ValueError("must be one of enum values ('ccl_inference')") + return value + + @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 + + 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 UnifiedGetInferenceV3DeploymentResponse 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 volume_mounts (list) + _items = [] + if self.volume_mounts: + for _item_volume_mounts in self.volume_mounts: + if _item_volume_mounts: + _items.append(_item_volume_mounts.to_dict()) + _dict['volume_mounts'] = _items + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of ingress + if self.ingress: + _dict['ingress'] = self.ingress.to_dict() + # override the default output from pydantic by calling `to_dict()` of config_file + if self.config_file: + _dict['config_file'] = self.config_file.to_dict() + # override the default output from pydantic by calling `to_dict()` of metrics + if self.metrics: + _dict['metrics'] = self.metrics.to_dict() + # set to None if endpoint_url (nullable) is None + # and model_fields_set contains the field + if self.endpoint_url is None and "endpoint_url" in self.model_fields_set: + _dict['endpoint_url'] = None + + # set to None if user_annotations (nullable) is None + # and model_fields_set contains the field + if self.user_annotations is None and "user_annotations" in self.model_fields_set: + _dict['user_annotations'] = None + + # set to None if priority (nullable) is None + # and model_fields_set contains the field + if self.priority is None and "priority" in self.model_fields_set: + _dict['priority'] = None + + # set to None if healthcheck (nullable) is None + # and model_fields_set contains the field + if self.healthcheck is None and "healthcheck" in self.model_fields_set: + _dict['healthcheck'] = None + + # set to None if command (nullable) is None + # and model_fields_set contains the field + if self.command is None and "command" in self.model_fields_set: + _dict['command'] = None + + # set to None if config_file (nullable) is None + # and model_fields_set contains the field + if self.config_file is None and "config_file" in self.model_fields_set: + _dict['config_file'] = None + + # set to None if hf_token_ref (nullable) is None + # and model_fields_set contains the field + if self.hf_token_ref is None and "hf_token_ref" in self.model_fields_set: + _dict['hf_token_ref'] = None + + # set to None if metrics (nullable) is None + # and model_fields_set contains the field + if self.metrics is None and "metrics" in self.model_fields_set: + _dict['metrics'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetInferenceV3DeploymentResponse 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"), + "status": obj.get("status"), + "creator_email": obj.get("creator_email"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "revision_number": obj.get("revision_number"), + "endpoint_url": obj.get("endpoint_url"), + "type": obj.get("type"), + "name": obj.get("name"), + "cluster_id": obj.get("cluster_id"), + "user_annotations": obj.get("user_annotations"), + "chart_revision": obj.get("chart_revision"), + "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, + "priority": obj.get("priority"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, + "ingress": Ingress.from_dict(obj["ingress"]) if obj.get("ingress") is not None else None, + "port": obj.get("port"), + "healthcheck": obj.get("healthcheck"), + "command": obj.get("command"), + "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None, + "hf_token_ref": obj.get("hf_token_ref"), + "session_affinity": obj.get("session_affinity") if obj.get("session_affinity") is not None else False, + "metrics": MetricsConfig.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None, + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False, + "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_get_job_deployment_response.py b/platform_api_python_client/models/unified_get_job_deployment_response.py new file mode 100644 index 0000000..7baf305 --- /dev/null +++ b/platform_api_python_client/models/unified_get_job_deployment_response.py @@ -0,0 +1,204 @@ +# 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, 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.ccl_main_pools import CclMainPools +from platform_api_python_client.models.config_file_mount import ConfigFileMount +from platform_api_python_client.models.deployment_status import DeploymentStatus +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image +from platform_api_python_client.models.volume_mount import VolumeMount +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedGetJobDeploymentResponse(BaseModel): + """ + UnifiedGetJobDeploymentResponse + """ # noqa: E501 + id: StrictInt + status: DeploymentStatus + creator_email: StrictStr + created_at: datetime + updated_at: datetime + revision_number: StrictInt + endpoint_url: Optional[StrictStr] + type: StrictStr + name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] + cluster_id: StrictInt + user_annotations: Optional[Dict[str, StrictStr]] = None + chart_revision: Optional[StrictStr] = None + volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None + priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None + pools: CclMainPools + env: Optional[Env] = None + image: Image + command: Optional[StrictStr] = None + config_file: Optional[ConfigFileMount] = None + completions: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1 + parallelism: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1 + backoff_limit: Optional[Annotated[int, Field(strict=True, ge=0)]] = 3 + active_deadline_seconds: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + enable_logging: Optional[StrictBool] = True + __properties: ClassVar[List[str]] = ["id", "status", "creator_email", "created_at", "updated_at", "revision_number", "endpoint_url", "type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "command", "config_file", "completions", "parallelism", "backoff_limit", "active_deadline_seconds", "enable_logging"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ccl_job']): + raise ValueError("must be one of enum values ('ccl_job')") + return value + + @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 + + 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 UnifiedGetJobDeploymentResponse 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 volume_mounts (list) + _items = [] + if self.volume_mounts: + for _item_volume_mounts in self.volume_mounts: + if _item_volume_mounts: + _items.append(_item_volume_mounts.to_dict()) + _dict['volume_mounts'] = _items + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of config_file + if self.config_file: + _dict['config_file'] = self.config_file.to_dict() + # set to None if endpoint_url (nullable) is None + # and model_fields_set contains the field + if self.endpoint_url is None and "endpoint_url" in self.model_fields_set: + _dict['endpoint_url'] = None + + # set to None if user_annotations (nullable) is None + # and model_fields_set contains the field + if self.user_annotations is None and "user_annotations" in self.model_fields_set: + _dict['user_annotations'] = None + + # set to None if priority (nullable) is None + # and model_fields_set contains the field + if self.priority is None and "priority" in self.model_fields_set: + _dict['priority'] = None + + # set to None if command (nullable) is None + # and model_fields_set contains the field + if self.command is None and "command" in self.model_fields_set: + _dict['command'] = None + + # set to None if config_file (nullable) is None + # and model_fields_set contains the field + if self.config_file is None and "config_file" in self.model_fields_set: + _dict['config_file'] = None + + # set to None if active_deadline_seconds (nullable) is None + # and model_fields_set contains the field + if self.active_deadline_seconds is None and "active_deadline_seconds" in self.model_fields_set: + _dict['active_deadline_seconds'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnifiedGetJobDeploymentResponse 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"), + "status": obj.get("status"), + "creator_email": obj.get("creator_email"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "revision_number": obj.get("revision_number"), + "endpoint_url": obj.get("endpoint_url"), + "type": obj.get("type"), + "name": obj.get("name"), + "cluster_id": obj.get("cluster_id"), + "user_annotations": obj.get("user_annotations"), + "chart_revision": obj.get("chart_revision"), + "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, + "priority": obj.get("priority"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, + "command": obj.get("command"), + "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None, + "completions": obj.get("completions") if obj.get("completions") is not None else 1, + "parallelism": obj.get("parallelism") if obj.get("parallelism") is not None else 1, + "backoff_limit": obj.get("backoff_limit") if obj.get("backoff_limit") is not None else 3, + "active_deadline_seconds": obj.get("active_deadline_seconds"), + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_list_deployment_revisions_response.py b/platform_api_python_client/models/unified_list_deployment_revisions_response.py new file mode 100644 index 0000000..8946132 --- /dev/null +++ b/platform_api_python_client/models/unified_list_deployment_revisions_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.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedListDeploymentRevisionsResponse(BaseModel): + """ + UnifiedListDeploymentRevisionsResponse + """ # noqa: E501 + results: List[UnifiedGetDeploymentRevisionResponse] + __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 UnifiedListDeploymentRevisionsResponse 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 UnifiedListDeploymentRevisionsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "results": [UnifiedGetDeploymentRevisionResponse.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/unified_update_deployment_rollout_request.py b/platform_api_python_client/models/unified_update_deployment_rollout_request.py new file mode 100644 index 0000000..e6f83be --- /dev/null +++ b/platform_api_python_client/models/unified_update_deployment_rollout_request.py @@ -0,0 +1,87 @@ +# 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, StrictBool +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class UnifiedUpdateDeploymentRolloutRequest(BaseModel): + """ + UnifiedUpdateDeploymentRolloutRequest + """ # noqa: E501 + paused: StrictBool + __properties: ClassVar[List[str]] = ["paused"] + + 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 UnifiedUpdateDeploymentRolloutRequest 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 UnifiedUpdateDeploymentRolloutRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "paused": obj.get("paused") + }) + return _obj + + diff --git a/platform_api_python_client/models/unified_write_compute_deployment_request.py b/platform_api_python_client/models/unified_write_compute_deployment_request.py index d91acf1..64bead4 100644 --- a/platform_api_python_client/models/unified_write_compute_deployment_request.py +++ b/platform_api_python_client/models/unified_write_compute_deployment_request.py @@ -20,7 +20,9 @@ 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.image_pull_secret_credentials import ImagePullSecretCredentials +from platform_api_python_client.models.ccl_main_pools import CclMainPools +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image from platform_api_python_client.models.volume_mount import VolumeMount from typing import Optional, Set from typing_extensions import Self @@ -29,39 +31,19 @@ class UnifiedWriteComputeDeploymentRequest(BaseModel): """ UnifiedWriteComputeDeploymentRequest """ # noqa: E501 + type: StrictStr name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] cluster_id: StrictInt - hardware_instance_id: StrictInt user_annotations: Optional[Dict[str, StrictStr]] = None chart_revision: Optional[StrictStr] = None volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None - image_url: StrictStr - image_pull_secret_credentials: Optional[ImagePullSecretCredentials] = None - image_pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - image_pull_secret_name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=253)]] = Field(default=None, description="Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it.") - env_vars_refs: Optional[Dict[str, Any]] = None - ssh_public_key: StrictStr + pools: CclMainPools + env: Optional[Env] = None + image: Image + ssh_public_key: Annotated[str, Field(min_length=1, strict=True)] enable_logging: Optional[StrictBool] = False - type: StrictStr - __properties: ClassVar[List[str]] = ["name", "cluster_id", "hardware_instance_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "image_url", "image_pull_secret_credentials", "image_pull_ref", "image_pull_secret_name", "env_vars_refs", "ssh_public_key", "enable_logging", "type"] - - @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('image_pull_secret_name') - def image_pull_secret_name_validate_regular_expression(cls, value): - """Validates the regular expression""" - if value is None: - return value - - if not re.match(r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", value): - raise ValueError(r"must validate the regular expression /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/") - return value + __properties: ClassVar[List[str]] = ["type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ssh_public_key", "enable_logging"] @field_validator('type') def type_validate_enum(cls, value): @@ -70,6 +52,13 @@ def type_validate_enum(cls, value): raise ValueError("must be one of enum values ('ccl_compute')") return value + @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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, @@ -116,9 +105,15 @@ def to_dict(self) -> Dict[str, Any]: if _item_volume_mounts: _items.append(_item_volume_mounts.to_dict()) _dict['volume_mounts'] = _items - # override the default output from pydantic by calling `to_dict()` of image_pull_secret_credentials - if self.image_pull_secret_credentials: - _dict['image_pull_secret_credentials'] = self.image_pull_secret_credentials.to_dict() + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() # set to None if user_annotations (nullable) is None # and model_fields_set contains the field if self.user_annotations is None and "user_annotations" in self.model_fields_set: @@ -129,21 +124,6 @@ def to_dict(self) -> Dict[str, Any]: if self.priority is None and "priority" in self.model_fields_set: _dict['priority'] = None - # set to None if image_pull_secret_credentials (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_credentials is None and "image_pull_secret_credentials" in self.model_fields_set: - _dict['image_pull_secret_credentials'] = None - - # set to None if image_pull_ref (nullable) is None - # and model_fields_set contains the field - if self.image_pull_ref is None and "image_pull_ref" in self.model_fields_set: - _dict['image_pull_ref'] = None - - # set to None if image_pull_secret_name (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_name is None and "image_pull_secret_name" in self.model_fields_set: - _dict['image_pull_secret_name'] = None - return _dict @classmethod @@ -156,21 +136,18 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "type": obj.get("type"), "name": obj.get("name"), "cluster_id": obj.get("cluster_id"), - "hardware_instance_id": obj.get("hardware_instance_id"), "user_annotations": obj.get("user_annotations"), "chart_revision": obj.get("chart_revision"), "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, "priority": obj.get("priority"), - "image_url": obj.get("image_url"), - "image_pull_secret_credentials": ImagePullSecretCredentials.from_dict(obj["image_pull_secret_credentials"]) if obj.get("image_pull_secret_credentials") is not None else None, - "image_pull_ref": obj.get("image_pull_ref"), - "image_pull_secret_name": obj.get("image_pull_secret_name"), - "env_vars_refs": obj.get("env_vars_refs"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, "ssh_public_key": obj.get("ssh_public_key"), - "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False, - "type": obj.get("type") + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False }) return _obj diff --git a/platform_api_python_client/models/unified_write_deployment_request.py b/platform_api_python_client/models/unified_write_deployment_request.py index d71c9b1..bdbdc7f 100644 --- a/platform_api_python_client/models/unified_write_deployment_request.py +++ b/platform_api_python_client/models/unified_write_deployment_request.py @@ -38,10 +38,10 @@ class UnifiedWriteDeploymentRequest(BaseModel): anyof_schema_1_validator: Optional[UnifiedWriteComputeDeploymentRequest] = None # data type: UnifiedWriteInferenceV3DeploymentRequest anyof_schema_2_validator: Optional[UnifiedWriteInferenceV3DeploymentRequest] = None - # data type: UnifiedWriteDynamoDeploymentRequest - anyof_schema_3_validator: Optional[UnifiedWriteDynamoDeploymentRequest] = None # data type: UnifiedWriteJobDeploymentRequest - anyof_schema_4_validator: Optional[UnifiedWriteJobDeploymentRequest] = None + anyof_schema_3_validator: Optional[UnifiedWriteJobDeploymentRequest] = None + # data type: UnifiedWriteDynamoDeploymentRequest + anyof_schema_4_validator: Optional[UnifiedWriteDynamoDeploymentRequest] = None if TYPE_CHECKING: actual_instance: Optional[Union[UnifiedWriteComputeDeploymentRequest, UnifiedWriteDynamoDeploymentRequest, UnifiedWriteInferenceV3DeploymentRequest, UnifiedWriteJobDeploymentRequest]] = None else: @@ -79,18 +79,18 @@ def actual_instance_must_validate_anyof(cls, v): else: return v - # validate data type: UnifiedWriteDynamoDeploymentRequest - if not isinstance(v, UnifiedWriteDynamoDeploymentRequest): - error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedWriteDynamoDeploymentRequest`") - else: - return v - # validate data type: UnifiedWriteJobDeploymentRequest if not isinstance(v, UnifiedWriteJobDeploymentRequest): error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedWriteJobDeploymentRequest`") else: return v + # validate data type: UnifiedWriteDynamoDeploymentRequest + if not isinstance(v, UnifiedWriteDynamoDeploymentRequest): + error_messages.append(f"Error! Input type `{type(v)}` is not `UnifiedWriteDynamoDeploymentRequest`") + else: + return v + if error_messages: # no match raise ValueError("No match found when setting the actual_instance in UnifiedWriteDeploymentRequest with anyOf schemas: UnifiedWriteComputeDeploymentRequest, UnifiedWriteDynamoDeploymentRequest, UnifiedWriteInferenceV3DeploymentRequest, UnifiedWriteJobDeploymentRequest. Details: " + ", ".join(error_messages)) @@ -118,15 +118,15 @@ def from_json(cls, json_str: str) -> Self: return instance except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # anyof_schema_3_validator: Optional[UnifiedWriteDynamoDeploymentRequest] = None + # anyof_schema_3_validator: Optional[UnifiedWriteJobDeploymentRequest] = None try: - instance.actual_instance = UnifiedWriteDynamoDeploymentRequest.from_json(json_str) + instance.actual_instance = UnifiedWriteJobDeploymentRequest.from_json(json_str) return instance except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # anyof_schema_4_validator: Optional[UnifiedWriteJobDeploymentRequest] = None + # anyof_schema_4_validator: Optional[UnifiedWriteDynamoDeploymentRequest] = None try: - instance.actual_instance = UnifiedWriteJobDeploymentRequest.from_json(json_str) + instance.actual_instance = UnifiedWriteDynamoDeploymentRequest.from_json(json_str) return instance except (ValidationError, ValueError) as e: error_messages.append(str(e)) diff --git a/platform_api_python_client/models/unified_write_dynamo_deployment_request.py b/platform_api_python_client/models/unified_write_dynamo_deployment_request.py index d63218c..dc65513 100644 --- a/platform_api_python_client/models/unified_write_dynamo_deployment_request.py +++ b/platform_api_python_client/models/unified_write_dynamo_deployment_request.py @@ -20,10 +20,12 @@ 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.backend_protocol import BackendProtocol +from platform_api_python_client.models.ccl_dynamo_pools import CclDynamoPools from platform_api_python_client.models.dynamo_communications_input import DynamoCommunicationsInput +from platform_api_python_client.models.dynamo_image import DynamoImage from platform_api_python_client.models.dynamo_serving_mode import DynamoServingMode -from platform_api_python_client.models.dynamo_worker_pools import DynamoWorkerPools +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.ingress import Ingress from platform_api_python_client.models.volume_mount import VolumeMount from typing import Optional, Set from typing_extensions import Self @@ -32,56 +34,26 @@ class UnifiedWriteDynamoDeploymentRequest(BaseModel): """ UnifiedWriteDynamoDeploymentRequest """ # noqa: E501 - max_surge: Optional[StrictInt] = None - max_unavailable: Optional[StrictInt] = None + type: StrictStr name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] cluster_id: StrictInt - hardware_instance_id: Optional[StrictInt] = None user_annotations: Optional[Dict[str, StrictStr]] = None chart_revision: Optional[StrictStr] = None volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None + pools: CclDynamoPools + env: Optional[Env] = None + image: Optional[DynamoImage] = None + ingress: Ingress serving_mode: Optional[DynamoServingMode] = None - worker_pools: Optional[DynamoWorkerPools] = None communications: Optional[DynamoCommunicationsInput] = None model: StrictStr served_model_name: Optional[StrictStr] = None - runtime_version: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Dynamo runtime image tag (for example 1.4.0). Defaults to the platform's current release; GET /prebuilt-images?type=dynamo lists the versions the platform has validated, but any tag may be requested. require_gpu_direct_rdma needs an EFA-capable image. Changing it restarts every component of a running deployment.") - min_replicas: Optional[StrictInt] = None - max_replicas: Optional[StrictInt] = None - concurrency: Optional[StrictInt] = None - cooldown_period: Optional[StrictInt] = None extra_args: Optional[StrictStr] = None - hf_token: Optional[StrictStr] = None hf_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - env_vars: Optional[Dict[str, StrictStr]] = None - env_vars_refs: Optional[Dict[str, Any]] = None - endpoint_bearer_token: Optional[StrictStr] = None - bearer_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - endpoint_certificate_authority: Optional[StrictStr] = None - image_pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None enable_logging: Optional[StrictBool] = True enable_node_model_cache: Optional[StrictBool] = False - backend_protocol: Optional[BackendProtocol] = None - type: StrictStr - __properties: ClassVar[List[str]] = ["max_surge", "max_unavailable", "name", "cluster_id", "hardware_instance_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "serving_mode", "worker_pools", "communications", "model", "served_model_name", "runtime_version", "min_replicas", "max_replicas", "concurrency", "cooldown_period", "extra_args", "hf_token", "hf_token_ref", "env_vars", "env_vars_refs", "endpoint_bearer_token", "bearer_token_ref", "endpoint_certificate_authority", "image_pull_ref", "enable_logging", "enable_node_model_cache", "backend_protocol", "type"] - - @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('runtime_version') - def runtime_version_validate_regular_expression(cls, value): - """Validates the regular expression""" - if value is None: - return value - - if not re.match(r"^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$", value): - raise ValueError(r"must validate the regular expression /^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$/") - return value + __properties: ClassVar[List[str]] = ["type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ingress", "serving_mode", "communications", "model", "served_model_name", "extra_args", "hf_token_ref", "enable_logging", "enable_node_model_cache"] @field_validator('type') def type_validate_enum(cls, value): @@ -90,6 +62,13 @@ def type_validate_enum(cls, value): raise ValueError("must be one of enum values ('ccl_dynamo')") return value + @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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, @@ -136,27 +115,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_volume_mounts: _items.append(_item_volume_mounts.to_dict()) _dict['volume_mounts'] = _items - # override the default output from pydantic by calling `to_dict()` of worker_pools - if self.worker_pools: - _dict['worker_pools'] = self.worker_pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of ingress + if self.ingress: + _dict['ingress'] = self.ingress.to_dict() # override the default output from pydantic by calling `to_dict()` of communications if self.communications: _dict['communications'] = self.communications.to_dict() - # set to None if max_surge (nullable) is None - # and model_fields_set contains the field - if self.max_surge is None and "max_surge" in self.model_fields_set: - _dict['max_surge'] = None - - # set to None if max_unavailable (nullable) is None - # and model_fields_set contains the field - if self.max_unavailable is None and "max_unavailable" in self.model_fields_set: - _dict['max_unavailable'] = None - - # set to None if hardware_instance_id (nullable) is None - # and model_fields_set contains the field - if self.hardware_instance_id is None and "hardware_instance_id" in self.model_fields_set: - _dict['hardware_instance_id'] = None - # set to None if user_annotations (nullable) is None # and model_fields_set contains the field if self.user_annotations is None and "user_annotations" in self.model_fields_set: @@ -167,11 +140,6 @@ def to_dict(self) -> Dict[str, Any]: if self.priority is None and "priority" in self.model_fields_set: _dict['priority'] = None - # set to None if worker_pools (nullable) is None - # and model_fields_set contains the field - if self.worker_pools is None and "worker_pools" in self.model_fields_set: - _dict['worker_pools'] = None - # set to None if communications (nullable) is None # and model_fields_set contains the field if self.communications is None and "communications" in self.model_fields_set: @@ -182,61 +150,16 @@ def to_dict(self) -> Dict[str, Any]: if self.served_model_name is None and "served_model_name" in self.model_fields_set: _dict['served_model_name'] = None - # set to None if min_replicas (nullable) is None - # and model_fields_set contains the field - if self.min_replicas is None and "min_replicas" in self.model_fields_set: - _dict['min_replicas'] = None - - # set to None if max_replicas (nullable) is None - # and model_fields_set contains the field - if self.max_replicas is None and "max_replicas" in self.model_fields_set: - _dict['max_replicas'] = None - - # set to None if concurrency (nullable) is None - # and model_fields_set contains the field - if self.concurrency is None and "concurrency" in self.model_fields_set: - _dict['concurrency'] = None - - # set to None if cooldown_period (nullable) is None - # and model_fields_set contains the field - if self.cooldown_period is None and "cooldown_period" in self.model_fields_set: - _dict['cooldown_period'] = None - # set to None if extra_args (nullable) is None # and model_fields_set contains the field if self.extra_args is None and "extra_args" in self.model_fields_set: _dict['extra_args'] = None - # set to None if hf_token (nullable) is None - # and model_fields_set contains the field - if self.hf_token is None and "hf_token" in self.model_fields_set: - _dict['hf_token'] = None - # set to None if hf_token_ref (nullable) is None # and model_fields_set contains the field if self.hf_token_ref is None and "hf_token_ref" in self.model_fields_set: _dict['hf_token_ref'] = None - # set to None if endpoint_bearer_token (nullable) is None - # and model_fields_set contains the field - if self.endpoint_bearer_token is None and "endpoint_bearer_token" in self.model_fields_set: - _dict['endpoint_bearer_token'] = None - - # set to None if bearer_token_ref (nullable) is None - # and model_fields_set contains the field - if self.bearer_token_ref is None and "bearer_token_ref" in self.model_fields_set: - _dict['bearer_token_ref'] = None - - # set to None if endpoint_certificate_authority (nullable) is None - # and model_fields_set contains the field - if self.endpoint_certificate_authority is None and "endpoint_certificate_authority" in self.model_fields_set: - _dict['endpoint_certificate_authority'] = None - - # set to None if image_pull_ref (nullable) is None - # and model_fields_set contains the field - if self.image_pull_ref is None and "image_pull_ref" in self.model_fields_set: - _dict['image_pull_ref'] = None - return _dict @classmethod @@ -249,38 +172,25 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "max_surge": obj.get("max_surge"), - "max_unavailable": obj.get("max_unavailable"), + "type": obj.get("type"), "name": obj.get("name"), "cluster_id": obj.get("cluster_id"), - "hardware_instance_id": obj.get("hardware_instance_id"), "user_annotations": obj.get("user_annotations"), "chart_revision": obj.get("chart_revision"), "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, "priority": obj.get("priority"), + "pools": CclDynamoPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": DynamoImage.from_dict(obj["image"]) if obj.get("image") is not None else None, + "ingress": Ingress.from_dict(obj["ingress"]) if obj.get("ingress") is not None else None, "serving_mode": obj.get("serving_mode"), - "worker_pools": DynamoWorkerPools.from_dict(obj["worker_pools"]) if obj.get("worker_pools") is not None else None, "communications": DynamoCommunicationsInput.from_dict(obj["communications"]) if obj.get("communications") is not None else None, "model": obj.get("model"), "served_model_name": obj.get("served_model_name"), - "runtime_version": obj.get("runtime_version"), - "min_replicas": obj.get("min_replicas"), - "max_replicas": obj.get("max_replicas"), - "concurrency": obj.get("concurrency"), - "cooldown_period": obj.get("cooldown_period"), "extra_args": obj.get("extra_args"), - "hf_token": obj.get("hf_token"), "hf_token_ref": obj.get("hf_token_ref"), - "env_vars": obj.get("env_vars"), - "env_vars_refs": obj.get("env_vars_refs"), - "endpoint_bearer_token": obj.get("endpoint_bearer_token"), - "bearer_token_ref": obj.get("bearer_token_ref"), - "endpoint_certificate_authority": obj.get("endpoint_certificate_authority"), - "image_pull_ref": obj.get("image_pull_ref"), "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True, - "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False, - "backend_protocol": obj.get("backend_protocol"), - "type": obj.get("type") + "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False }) return _obj diff --git a/platform_api_python_client/models/unified_write_inference_v3_deployment_request.py b/platform_api_python_client/models/unified_write_inference_v3_deployment_request.py index c79e3e2..021250d 100644 --- a/platform_api_python_client/models/unified_write_inference_v3_deployment_request.py +++ b/platform_api_python_client/models/unified_write_inference_v3_deployment_request.py @@ -20,9 +20,11 @@ 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.backend_protocol import BackendProtocol +from platform_api_python_client.models.ccl_main_pools import CclMainPools from platform_api_python_client.models.config_file_mount import ConfigFileMount -from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image +from platform_api_python_client.models.ingress import Ingress from platform_api_python_client.models.metrics_config import MetricsConfig from platform_api_python_client.models.volume_mount import VolumeMount from typing import Optional, Set @@ -32,58 +34,27 @@ class UnifiedWriteInferenceV3DeploymentRequest(BaseModel): """ UnifiedWriteInferenceV3DeploymentRequest """ # noqa: E501 - max_surge: Optional[StrictInt] = None - max_unavailable: Optional[StrictInt] = None + type: StrictStr name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] cluster_id: StrictInt - hardware_instance_id: StrictInt user_annotations: Optional[Dict[str, StrictStr]] = None chart_revision: Optional[StrictStr] = None volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None - hf_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - image_url: StrictStr - image_pull_secret_credentials: Optional[ImagePullSecretCredentials] = None - image_pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - image_pull_secret_name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=253)]] = Field(default=None, description="Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it.") + pools: CclMainPools + env: Optional[Env] = None + image: Image + ingress: Ingress port: Annotated[int, Field(le=65535, strict=True, ge=1)] - min_replicas: StrictInt - max_replicas: StrictInt - concurrency: Optional[StrictInt] = None - cooldown_period: Optional[Annotated[int, Field(le=3600, strict=True, ge=0)]] = None healthcheck: Optional[StrictStr] = None - env_vars: Optional[Dict[str, StrictStr]] = None command: Optional[StrictStr] = None - endpoint_bearer_token: Optional[StrictStr] = None - bearer_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - endpoint_certificate_authority: Optional[StrictStr] = None - hf_token: Optional[StrictStr] = None - env_vars_refs: Optional[Dict[str, Any]] = None - backend_protocol: Optional[BackendProtocol] = None - enable_logging: Optional[StrictBool] = False - enable_node_model_cache: Optional[StrictBool] = False - session_affinity: Optional[StrictBool] = Field(default=False, description="Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state.") config_file: Optional[ConfigFileMount] = None + hf_token_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + session_affinity: Optional[StrictBool] = Field(default=False, description="Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state.") metrics: Optional[MetricsConfig] = None - type: StrictStr - __properties: ClassVar[List[str]] = ["max_surge", "max_unavailable", "name", "cluster_id", "hardware_instance_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "hf_token_ref", "image_url", "image_pull_secret_credentials", "image_pull_ref", "image_pull_secret_name", "port", "min_replicas", "max_replicas", "concurrency", "cooldown_period", "healthcheck", "env_vars", "command", "endpoint_bearer_token", "bearer_token_ref", "endpoint_certificate_authority", "hf_token", "env_vars_refs", "backend_protocol", "enable_logging", "enable_node_model_cache", "session_affinity", "config_file", "metrics", "type"] - - @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('image_pull_secret_name') - def image_pull_secret_name_validate_regular_expression(cls, value): - """Validates the regular expression""" - if value is None: - return value - - if not re.match(r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", value): - raise ValueError(r"must validate the regular expression /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/") - return value + enable_logging: Optional[StrictBool] = False + enable_node_model_cache: Optional[StrictBool] = False + __properties: ClassVar[List[str]] = ["type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "ingress", "port", "healthcheck", "command", "config_file", "hf_token_ref", "session_affinity", "metrics", "enable_logging", "enable_node_model_cache"] @field_validator('type') def type_validate_enum(cls, value): @@ -92,6 +63,13 @@ def type_validate_enum(cls, value): raise ValueError("must be one of enum values ('ccl_inference')") return value + @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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, @@ -138,25 +116,24 @@ def to_dict(self) -> Dict[str, Any]: if _item_volume_mounts: _items.append(_item_volume_mounts.to_dict()) _dict['volume_mounts'] = _items - # override the default output from pydantic by calling `to_dict()` of image_pull_secret_credentials - if self.image_pull_secret_credentials: - _dict['image_pull_secret_credentials'] = self.image_pull_secret_credentials.to_dict() + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of ingress + if self.ingress: + _dict['ingress'] = self.ingress.to_dict() # override the default output from pydantic by calling `to_dict()` of config_file if self.config_file: _dict['config_file'] = self.config_file.to_dict() # override the default output from pydantic by calling `to_dict()` of metrics if self.metrics: _dict['metrics'] = self.metrics.to_dict() - # set to None if max_surge (nullable) is None - # and model_fields_set contains the field - if self.max_surge is None and "max_surge" in self.model_fields_set: - _dict['max_surge'] = None - - # set to None if max_unavailable (nullable) is None - # and model_fields_set contains the field - if self.max_unavailable is None and "max_unavailable" in self.model_fields_set: - _dict['max_unavailable'] = None - # set to None if user_annotations (nullable) is None # and model_fields_set contains the field if self.user_annotations is None and "user_annotations" in self.model_fields_set: @@ -167,76 +144,26 @@ def to_dict(self) -> Dict[str, Any]: if self.priority is None and "priority" in self.model_fields_set: _dict['priority'] = None - # set to None if hf_token_ref (nullable) is None - # and model_fields_set contains the field - if self.hf_token_ref is None and "hf_token_ref" in self.model_fields_set: - _dict['hf_token_ref'] = None - - # set to None if image_pull_secret_credentials (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_credentials is None and "image_pull_secret_credentials" in self.model_fields_set: - _dict['image_pull_secret_credentials'] = None - - # set to None if image_pull_ref (nullable) is None - # and model_fields_set contains the field - if self.image_pull_ref is None and "image_pull_ref" in self.model_fields_set: - _dict['image_pull_ref'] = None - - # set to None if image_pull_secret_name (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_name is None and "image_pull_secret_name" in self.model_fields_set: - _dict['image_pull_secret_name'] = None - - # set to None if concurrency (nullable) is None - # and model_fields_set contains the field - if self.concurrency is None and "concurrency" in self.model_fields_set: - _dict['concurrency'] = None - - # set to None if cooldown_period (nullable) is None - # and model_fields_set contains the field - if self.cooldown_period is None and "cooldown_period" in self.model_fields_set: - _dict['cooldown_period'] = None - # set to None if healthcheck (nullable) is None # and model_fields_set contains the field if self.healthcheck is None and "healthcheck" in self.model_fields_set: _dict['healthcheck'] = None - # set to None if env_vars (nullable) is None - # and model_fields_set contains the field - if self.env_vars is None and "env_vars" in self.model_fields_set: - _dict['env_vars'] = None - # set to None if command (nullable) is None # and model_fields_set contains the field if self.command is None and "command" in self.model_fields_set: _dict['command'] = None - # set to None if endpoint_bearer_token (nullable) is None - # and model_fields_set contains the field - if self.endpoint_bearer_token is None and "endpoint_bearer_token" in self.model_fields_set: - _dict['endpoint_bearer_token'] = None - - # set to None if bearer_token_ref (nullable) is None - # and model_fields_set contains the field - if self.bearer_token_ref is None and "bearer_token_ref" in self.model_fields_set: - _dict['bearer_token_ref'] = None - - # set to None if endpoint_certificate_authority (nullable) is None - # and model_fields_set contains the field - if self.endpoint_certificate_authority is None and "endpoint_certificate_authority" in self.model_fields_set: - _dict['endpoint_certificate_authority'] = None - - # set to None if hf_token (nullable) is None - # and model_fields_set contains the field - if self.hf_token is None and "hf_token" in self.model_fields_set: - _dict['hf_token'] = None - # set to None if config_file (nullable) is None # and model_fields_set contains the field if self.config_file is None and "config_file" in self.model_fields_set: _dict['config_file'] = None + # set to None if hf_token_ref (nullable) is None + # and model_fields_set contains the field + if self.hf_token_ref is None and "hf_token_ref" in self.model_fields_set: + _dict['hf_token_ref'] = None + # set to None if metrics (nullable) is None # and model_fields_set contains the field if self.metrics is None and "metrics" in self.model_fields_set: @@ -254,40 +181,26 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "max_surge": obj.get("max_surge"), - "max_unavailable": obj.get("max_unavailable"), + "type": obj.get("type"), "name": obj.get("name"), "cluster_id": obj.get("cluster_id"), - "hardware_instance_id": obj.get("hardware_instance_id"), "user_annotations": obj.get("user_annotations"), "chart_revision": obj.get("chart_revision"), "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, "priority": obj.get("priority"), - "hf_token_ref": obj.get("hf_token_ref"), - "image_url": obj.get("image_url"), - "image_pull_secret_credentials": ImagePullSecretCredentials.from_dict(obj["image_pull_secret_credentials"]) if obj.get("image_pull_secret_credentials") is not None else None, - "image_pull_ref": obj.get("image_pull_ref"), - "image_pull_secret_name": obj.get("image_pull_secret_name"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, + "ingress": Ingress.from_dict(obj["ingress"]) if obj.get("ingress") is not None else None, "port": obj.get("port"), - "min_replicas": obj.get("min_replicas"), - "max_replicas": obj.get("max_replicas"), - "concurrency": obj.get("concurrency"), - "cooldown_period": obj.get("cooldown_period"), "healthcheck": obj.get("healthcheck"), - "env_vars": obj.get("env_vars"), "command": obj.get("command"), - "endpoint_bearer_token": obj.get("endpoint_bearer_token"), - "bearer_token_ref": obj.get("bearer_token_ref"), - "endpoint_certificate_authority": obj.get("endpoint_certificate_authority"), - "hf_token": obj.get("hf_token"), - "env_vars_refs": obj.get("env_vars_refs"), - "backend_protocol": obj.get("backend_protocol"), - "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False, - "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False, - "session_affinity": obj.get("session_affinity") if obj.get("session_affinity") is not None else False, "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None, + "hf_token_ref": obj.get("hf_token_ref"), + "session_affinity": obj.get("session_affinity") if obj.get("session_affinity") is not None else False, "metrics": MetricsConfig.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None, - "type": obj.get("type") + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False, + "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False }) return _obj diff --git a/platform_api_python_client/models/unified_write_job_deployment_request.py b/platform_api_python_client/models/unified_write_job_deployment_request.py index a0b647a..23c58d1 100644 --- a/platform_api_python_client/models/unified_write_job_deployment_request.py +++ b/platform_api_python_client/models/unified_write_job_deployment_request.py @@ -20,8 +20,10 @@ 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.ccl_main_pools import CclMainPools from platform_api_python_client.models.config_file_mount import ConfigFileMount -from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials +from platform_api_python_client.models.env import Env +from platform_api_python_client.models.image import Image from platform_api_python_client.models.volume_mount import VolumeMount from typing import Optional, Set from typing_extensions import Self @@ -30,45 +32,24 @@ class UnifiedWriteJobDeploymentRequest(BaseModel): """ UnifiedWriteJobDeploymentRequest """ # noqa: E501 + type: StrictStr name: Annotated[str, Field(min_length=1, strict=True, max_length=20)] cluster_id: StrictInt - hardware_instance_id: StrictInt user_annotations: Optional[Dict[str, StrictStr]] = None chart_revision: Optional[StrictStr] = None volume_mounts: Optional[Annotated[List[VolumeMount], Field(max_length=10)]] = None priority: Optional[Annotated[str, Field(strict=True, max_length=253)]] = None - image_url: StrictStr - image_pull_secret_credentials: Optional[ImagePullSecretCredentials] = None - image_pull_ref: Optional[Annotated[int, Field(strict=True, ge=1)]] = None - image_pull_secret_name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=253)]] = Field(default=None, description="Name of a pre-existing image pull Secret in the deployment namespace. Created, refreshed and deleted externally. Mutually exclusive with inline registry credentials and image_pull_ref. Include on updates to retain it; null clears it.") - env_vars: Optional[Dict[str, StrictStr]] = None - env_vars_refs: Optional[Dict[str, Any]] = None + pools: CclMainPools + env: Optional[Env] = None + image: Image command: Optional[StrictStr] = None - completions: Optional[StrictInt] = 1 - parallelism: Optional[StrictInt] = 1 - backoff_limit: Optional[StrictInt] = 3 - active_deadline_seconds: Optional[StrictInt] = None - enable_logging: Optional[StrictBool] = True config_file: Optional[ConfigFileMount] = None - type: StrictStr - __properties: ClassVar[List[str]] = ["name", "cluster_id", "hardware_instance_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "image_url", "image_pull_secret_credentials", "image_pull_ref", "image_pull_secret_name", "env_vars", "env_vars_refs", "command", "completions", "parallelism", "backoff_limit", "active_deadline_seconds", "enable_logging", "config_file", "type"] - - @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('image_pull_secret_name') - def image_pull_secret_name_validate_regular_expression(cls, value): - """Validates the regular expression""" - if value is None: - return value - - if not re.match(r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", value): - raise ValueError(r"must validate the regular expression /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/") - return value + completions: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1 + parallelism: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1 + backoff_limit: Optional[Annotated[int, Field(strict=True, ge=0)]] = 3 + active_deadline_seconds: Optional[Annotated[int, Field(strict=True, ge=1)]] = None + enable_logging: Optional[StrictBool] = True + __properties: ClassVar[List[str]] = ["type", "name", "cluster_id", "user_annotations", "chart_revision", "volume_mounts", "priority", "pools", "env", "image", "command", "config_file", "completions", "parallelism", "backoff_limit", "active_deadline_seconds", "enable_logging"] @field_validator('type') def type_validate_enum(cls, value): @@ -77,6 +58,13 @@ def type_validate_enum(cls, value): raise ValueError("must be one of enum values ('ccl_job')") return value + @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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, @@ -123,9 +111,15 @@ def to_dict(self) -> Dict[str, Any]: if _item_volume_mounts: _items.append(_item_volume_mounts.to_dict()) _dict['volume_mounts'] = _items - # override the default output from pydantic by calling `to_dict()` of image_pull_secret_credentials - if self.image_pull_secret_credentials: - _dict['image_pull_secret_credentials'] = self.image_pull_secret_credentials.to_dict() + # override the default output from pydantic by calling `to_dict()` of pools + if self.pools: + _dict['pools'] = self.pools.to_dict() + # override the default output from pydantic by calling `to_dict()` of env + if self.env: + _dict['env'] = self.env.to_dict() + # override the default output from pydantic by calling `to_dict()` of image + if self.image: + _dict['image'] = self.image.to_dict() # override the default output from pydantic by calling `to_dict()` of config_file if self.config_file: _dict['config_file'] = self.config_file.to_dict() @@ -139,41 +133,21 @@ def to_dict(self) -> Dict[str, Any]: if self.priority is None and "priority" in self.model_fields_set: _dict['priority'] = None - # set to None if image_pull_secret_credentials (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_credentials is None and "image_pull_secret_credentials" in self.model_fields_set: - _dict['image_pull_secret_credentials'] = None - - # set to None if image_pull_ref (nullable) is None - # and model_fields_set contains the field - if self.image_pull_ref is None and "image_pull_ref" in self.model_fields_set: - _dict['image_pull_ref'] = None - - # set to None if image_pull_secret_name (nullable) is None - # and model_fields_set contains the field - if self.image_pull_secret_name is None and "image_pull_secret_name" in self.model_fields_set: - _dict['image_pull_secret_name'] = None - - # set to None if env_vars (nullable) is None - # and model_fields_set contains the field - if self.env_vars is None and "env_vars" in self.model_fields_set: - _dict['env_vars'] = None - # set to None if command (nullable) is None # and model_fields_set contains the field if self.command is None and "command" in self.model_fields_set: _dict['command'] = None - # set to None if active_deadline_seconds (nullable) is None - # and model_fields_set contains the field - if self.active_deadline_seconds is None and "active_deadline_seconds" in self.model_fields_set: - _dict['active_deadline_seconds'] = None - # set to None if config_file (nullable) is None # and model_fields_set contains the field if self.config_file is None and "config_file" in self.model_fields_set: _dict['config_file'] = None + # set to None if active_deadline_seconds (nullable) is None + # and model_fields_set contains the field + if self.active_deadline_seconds is None and "active_deadline_seconds" in self.model_fields_set: + _dict['active_deadline_seconds'] = None + return _dict @classmethod @@ -186,27 +160,23 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "type": obj.get("type"), "name": obj.get("name"), "cluster_id": obj.get("cluster_id"), - "hardware_instance_id": obj.get("hardware_instance_id"), "user_annotations": obj.get("user_annotations"), "chart_revision": obj.get("chart_revision"), "volume_mounts": [VolumeMount.from_dict(_item) for _item in obj["volume_mounts"]] if obj.get("volume_mounts") is not None else None, "priority": obj.get("priority"), - "image_url": obj.get("image_url"), - "image_pull_secret_credentials": ImagePullSecretCredentials.from_dict(obj["image_pull_secret_credentials"]) if obj.get("image_pull_secret_credentials") is not None else None, - "image_pull_ref": obj.get("image_pull_ref"), - "image_pull_secret_name": obj.get("image_pull_secret_name"), - "env_vars": obj.get("env_vars"), - "env_vars_refs": obj.get("env_vars_refs"), + "pools": CclMainPools.from_dict(obj["pools"]) if obj.get("pools") is not None else None, + "env": Env.from_dict(obj["env"]) if obj.get("env") is not None else None, + "image": Image.from_dict(obj["image"]) if obj.get("image") is not None else None, "command": obj.get("command"), + "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None, "completions": obj.get("completions") if obj.get("completions") is not None else 1, "parallelism": obj.get("parallelism") if obj.get("parallelism") is not None else 1, "backoff_limit": obj.get("backoff_limit") if obj.get("backoff_limit") is not None else 3, "active_deadline_seconds": obj.get("active_deadline_seconds"), - "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True, - "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None, - "type": obj.get("type") + "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True }) return _obj diff --git a/platform_api_python_client/models/update_insight_status_request.py b/platform_api_python_client/models/update_insight_status_request.py new file mode 100644 index 0000000..2242304 --- /dev/null +++ b/platform_api_python_client/models/update_insight_status_request.py @@ -0,0 +1,106 @@ +# 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, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from platform_api_python_client.models.insight_status import InsightStatus +from typing import Optional, Set +from typing_extensions import Self + +class UpdateInsightStatusRequest(BaseModel): + """ + UpdateInsightStatusRequest + """ # noqa: E501 + status: InsightStatus + comment: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=2000)]] = None + __properties: ClassVar[List[str]] = ["status", "comment"] + + @field_validator('comment') + def comment_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^[^\x00]*$", value): + raise ValueError(r"must validate the regular expression /^[^\x00]*$/") + 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 UpdateInsightStatusRequest 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 comment (nullable) is None + # and model_fields_set contains the field + if self.comment is None and "comment" in self.model_fields_set: + _dict['comment'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateInsightStatusRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status"), + "comment": obj.get("comment") + }) + return _obj + + diff --git a/pyproject.toml b/pyproject.toml index b728578..17f2217 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "platform_api_python_client" -version = "4.35.0" +version = "4.36.0" description = "Platform External API" authors = ["OpenAPI Generator Community "] license = "NoLicense" diff --git a/setup.py b/setup.py index 8b2e6a5..5dc9508 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.35.0" +VERSION = "4.36.0" PYTHON_REQUIRES = ">= 3.8" REQUIRES = [ "urllib3 >= 1.25.3, < 3.0.0", diff --git a/test/test_ccl_dynamo_pools.py b/test/test_ccl_dynamo_pools.py new file mode 100644 index 0000000..7584479 --- /dev/null +++ b/test/test_ccl_dynamo_pools.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.ccl_dynamo_pools import CclDynamoPools + +class TestCclDynamoPools(unittest.TestCase): + """CclDynamoPools unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CclDynamoPools: + """Test CclDynamoPools + 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 `CclDynamoPools` + """ + model = CclDynamoPools() + if include_optional: + return CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ) + ) + else: + return CclDynamoPools( + ) + """ + + def testCclDynamoPools(self): + """Test CclDynamoPools""" + # 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_ccl_main_pools.py b/test/test_ccl_main_pools.py new file mode 100644 index 0000000..3703385 --- /dev/null +++ b/test/test_ccl_main_pools.py @@ -0,0 +1,62 @@ +# 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.ccl_main_pools import CclMainPools + +class TestCclMainPools(unittest.TestCase): + """CclMainPools unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CclMainPools: + """Test CclMainPools + 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 `CclMainPools` + """ + model = CclMainPools() + if include_optional: + return CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ) + ) + else: + return CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + ) + """ + + def testCclMainPools(self): + """Test CclMainPools""" + # 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_dynamo_deployment_request.py b/test/test_create_dynamo_deployment_request.py index d0f907e..2c18f60 100644 --- a/test/test_create_dynamo_deployment_request.py +++ b/test/test_create_dynamo_deployment_request.py @@ -56,14 +56,14 @@ def make_instance(self, include_optional) -> CreateDynamoDeploymentRequest: worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), diff --git a/test/test_deployment_response.py b/test/test_deployment_response.py index 33f51c6..762b84d 100644 --- a/test/test_deployment_response.py +++ b/test/test_deployment_response.py @@ -63,14 +63,14 @@ def make_instance(self, include_optional) -> DeploymentResponse: worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), diff --git a/test/test_dynamo_image.py b/test/test_dynamo_image.py new file mode 100644 index 0000000..e3adc39 --- /dev/null +++ b/test/test_dynamo_image.py @@ -0,0 +1,52 @@ +# 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.dynamo_image import DynamoImage + +class TestDynamoImage(unittest.TestCase): + """DynamoImage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DynamoImage: + """Test DynamoImage + 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 `DynamoImage` + """ + model = DynamoImage() + if include_optional: + return DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0 + ) + else: + return DynamoImage( + ) + """ + + def testDynamoImage(self): + """Test DynamoImage""" + # 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_dynamo_worker_pool_config.py b/test/test_dynamo_worker_pool_config.py index 799f56d..217f2a7 100644 --- a/test/test_dynamo_worker_pool_config.py +++ b/test/test_dynamo_worker_pool_config.py @@ -37,7 +37,7 @@ def make_instance(self, include_optional) -> DynamoWorkerPoolConfig: return DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0 diff --git a/test/test_dynamo_worker_pools.py b/test/test_dynamo_worker_pools.py index f732de0..b22e469 100644 --- a/test/test_dynamo_worker_pools.py +++ b/test/test_dynamo_worker_pools.py @@ -38,21 +38,21 @@ def make_instance(self, include_optional) -> DynamoWorkerPools: worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), decode = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ) diff --git a/test/test_env.py b/test/test_env.py new file mode 100644 index 0000000..6e376d5 --- /dev/null +++ b/test/test_env.py @@ -0,0 +1,54 @@ +# 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.env import Env + +class TestEnv(unittest.TestCase): + """Env unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Env: + """Test Env + 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 `Env` + """ + model = Env() + if include_optional: + return Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs() + ) + else: + return Env( + ) + """ + + def testEnv(self): + """Test Env""" + # 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 a2358bd..29eeaa8 100644 --- a/test/test_external_api.py +++ b/test/test_external_api.py @@ -327,6 +327,13 @@ def test_get_inference_v3_deployment_deployments_inference_v3_deployment_id_get( """ pass + def test_get_insight_insights_insight_id_get(self) -> None: + """Test case for get_insight_insights_insight_id_get + + Get Insight + """ + pass + def test_get_job_deployment_deployments_job_deployment_id_get(self) -> None: """Test case for get_job_deployment_deployments_job_deployment_id_get @@ -348,6 +355,48 @@ def test_get_prebuilt_images_prebuilt_images_get(self) -> None: """ pass + def test_get_unified_deployment_deployments_deployment_id_get(self) -> None: + """Test case for get_unified_deployment_deployments_deployment_id_get + + Get Unified Deployment + """ + pass + + def test_get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get(self) -> None: + """Test case for get_unified_deployment_logs_deployments_deployment_id_revisions_revision_number_logs_get + + Get Unified Deployment Logs + """ + pass + + def test_get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get(self) -> None: + """Test case for get_unified_deployment_pods_deployments_deployment_id_revisions_revision_number_pods_get + + Get Unified Deployment Pods + """ + pass + + def test_get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get(self) -> None: + """Test case for get_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_get + + Get Unified Deployment Revision + """ + pass + + def test_get_unified_deployment_rollout_deployments_deployment_id_rollout_get(self) -> None: + """Test case for get_unified_deployment_rollout_deployments_deployment_id_rollout_get + + Get Unified Deployment Rollout + """ + pass + + def test_get_unified_deployment_usage_deployments_deployment_id_usage_get(self) -> None: + """Test case for get_unified_deployment_usage_deployments_deployment_id_usage_get + + Get Unified Deployment Usage + """ + pass + def test_get_usage_daily_bills_get(self) -> None: """Test case for get_usage_daily_bills_get @@ -404,6 +453,13 @@ def test_list_cluster_org_gpu_quotas_clusters_cluster_id_gpu_quota_organizations """ pass + def test_list_insights_insights_get(self) -> None: + """Test case for list_insights_insights_get + + List Insights + """ + pass + def test_list_service_accounts_service_accounts_get(self) -> None: """Test case for list_service_accounts_service_accounts_get @@ -411,6 +467,13 @@ def test_list_service_accounts_service_accounts_get(self) -> None: """ pass + def test_list_unified_deployment_revisions_deployments_deployment_id_revisions_get(self) -> None: + """Test case for list_unified_deployment_revisions_deployments_deployment_id_revisions_get + + List Unified Deployment Revisions + """ + pass + def test_put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put(self) -> None: """Test case for put_org_gpu_quota_on_cluster_clusters_cluster_id_organizations_organization_id_gpu_quota_put @@ -425,6 +488,13 @@ def test_rollout_existing_revision_deployments_revisions_deployment_id_revision_ """ pass + def test_rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put(self) -> None: + """Test case for rollout_unified_deployment_revision_deployments_deployment_id_revisions_revision_number_put + + Rollout Unified Deployment Revision + """ + pass + def test_setup_stripe_customer_payments_setup_post(self) -> None: """Test case for setup_stripe_customer_payments_setup_post @@ -502,6 +572,13 @@ def test_update_inference_v3_deployment_deployments_inference_v3_put(self) -> No """ pass + def test_update_insight_status_insights_insight_id_status_patch(self) -> None: + """Test case for update_insight_status_insights_insight_id_status_patch + + Update Insight Status + """ + pass + def test_update_service_account_service_accounts_workos_id_put(self) -> None: """Test case for update_service_account_service_accounts_workos_id_put @@ -516,6 +593,13 @@ def test_update_unified_deployment_deployments_deployment_id_put(self) -> None: """ pass + def test_update_unified_deployment_rollout_deployments_deployment_id_rollout_put(self) -> None: + """Test case for update_unified_deployment_rollout_deployments_deployment_id_rollout_put + + Update Unified Deployment Rollout + """ + pass + def test_update_unified_deployment_status_deployments_deployment_id_status_put(self) -> None: """Test case for update_unified_deployment_status_deployments_deployment_id_status_put diff --git a/test/test_get_dynamo_deployment_response.py b/test/test_get_dynamo_deployment_response.py index 86197a9..44b59ae 100644 --- a/test/test_get_dynamo_deployment_response.py +++ b/test/test_get_dynamo_deployment_response.py @@ -63,14 +63,14 @@ def make_instance(self, include_optional) -> GetDynamoDeploymentResponse: worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( hardware_instance_id = 56, replicas = 1.0, - min_replicas = 1.0, + min_replicas = 0.0, max_replicas = 1.0, concurrency = 1.0, cooldown_period = 0.0, ), diff --git a/test/test_image.py b/test/test_image.py new file mode 100644 index 0000000..e2ef201 --- /dev/null +++ b/test/test_image.py @@ -0,0 +1,54 @@ +# 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.image import Image + +class TestImage(unittest.TestCase): + """Image unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Image: + """Test Image + 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 `Image` + """ + model = Image() + if include_optional: + return Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0' + ) + else: + return Image( + url = '', + ) + """ + + def testImage(self): + """Test Image""" + # 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_ingress.py b/test/test_ingress.py new file mode 100644 index 0000000..a8bb13f --- /dev/null +++ b/test/test_ingress.py @@ -0,0 +1,53 @@ +# 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.ingress import Ingress + +class TestIngress(unittest.TestCase): + """Ingress unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Ingress: + """Test Ingress + 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 `Ingress` + """ + model = Ingress() + if include_optional: + return Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '' + ) + else: + return Ingress( + ) + """ + + def testIngress(self): + """Test Ingress""" + # 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_insight_list_item_response.py b/test/test_insight_list_item_response.py new file mode 100644 index 0000000..fc0f3ca --- /dev/null +++ b/test/test_insight_list_item_response.py @@ -0,0 +1,72 @@ +# 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.insight_list_item_response import InsightListItemResponse + +class TestInsightListItemResponse(unittest.TestCase): + """InsightListItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InsightListItemResponse: + """Test InsightListItemResponse + 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 `InsightListItemResponse` + """ + model = InsightListItemResponse() + if include_optional: + return InsightListItemResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ) + ) + else: + return InsightListItemResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ), + ) + """ + + def testInsightListItemResponse(self): + """Test InsightListItemResponse""" + # 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_insight_resource.py b/test/test_insight_resource.py new file mode 100644 index 0000000..3ca3f83 --- /dev/null +++ b/test/test_insight_resource.py @@ -0,0 +1,55 @@ +# 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.insight_resource import InsightResource + +class TestInsightResource(unittest.TestCase): + """InsightResource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InsightResource: + """Test InsightResource + 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 `InsightResource` + """ + model = InsightResource() + if include_optional: + return InsightResource( + type = 'cluster', + id = 56, + name = '' + ) + else: + return InsightResource( + type = 'cluster', + id = 56, + ) + """ + + def testInsightResource(self): + """Test InsightResource""" + # 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_insight_resource_type.py b/test/test_insight_resource_type.py new file mode 100644 index 0000000..b21c9eb --- /dev/null +++ b/test/test_insight_resource_type.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.insight_resource_type import InsightResourceType + +class TestInsightResourceType(unittest.TestCase): + """InsightResourceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testInsightResourceType(self): + """Test InsightResourceType""" + # inst = InsightResourceType() + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_insight_response.py b/test/test_insight_response.py new file mode 100644 index 0000000..1619b18 --- /dev/null +++ b/test/test_insight_response.py @@ -0,0 +1,97 @@ +# 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.insight_response import InsightResponse + +class TestInsightResponse(unittest.TestCase): + """InsightResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InsightResponse: + """Test InsightResponse + 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 `InsightResponse` + """ + model = InsightResponse() + if include_optional: + return InsightResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ), + observed_summary = '', + recommended_steps = '', + content = '', + reported_by = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + history = [ + platform_api_python_client.models.insight_status_change_response.InsightStatusChangeResponse( + from_status = 'new', + to_status = 'new', + actor_name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + comment = '', ) + ] + ) + else: + return InsightResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ), + observed_summary = '', + recommended_steps = '', + reported_by = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + history = [ + platform_api_python_client.models.insight_status_change_response.InsightStatusChangeResponse( + from_status = 'new', + to_status = 'new', + actor_name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + comment = '', ) + ], + ) + """ + + def testInsightResponse(self): + """Test InsightResponse""" + # 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_insight_severity.py b/test/test_insight_severity.py new file mode 100644 index 0000000..7bcbf55 --- /dev/null +++ b/test/test_insight_severity.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.insight_severity import InsightSeverity + +class TestInsightSeverity(unittest.TestCase): + """InsightSeverity unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testInsightSeverity(self): + """Test InsightSeverity""" + # inst = InsightSeverity() + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_insight_status.py b/test/test_insight_status.py new file mode 100644 index 0000000..20c86e8 --- /dev/null +++ b/test/test_insight_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.insight_status import InsightStatus + +class TestInsightStatus(unittest.TestCase): + """InsightStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testInsightStatus(self): + """Test InsightStatus""" + # inst = InsightStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_insight_status_change_response.py b/test/test_insight_status_change_response.py new file mode 100644 index 0000000..a5441d7 --- /dev/null +++ b/test/test_insight_status_change_response.py @@ -0,0 +1,58 @@ +# 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.insight_status_change_response import InsightStatusChangeResponse + +class TestInsightStatusChangeResponse(unittest.TestCase): + """InsightStatusChangeResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InsightStatusChangeResponse: + """Test InsightStatusChangeResponse + 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 `InsightStatusChangeResponse` + """ + model = InsightStatusChangeResponse() + if include_optional: + return InsightStatusChangeResponse( + from_status = 'new', + to_status = 'new', + actor_name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + comment = '' + ) + else: + return InsightStatusChangeResponse( + from_status = 'new', + to_status = 'new', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + ) + """ + + def testInsightStatusChangeResponse(self): + """Test InsightStatusChangeResponse""" + # 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_insights_response.py b/test/test_list_insights_response.py new file mode 100644 index 0000000..11e1604 --- /dev/null +++ b/test/test_list_insights_response.py @@ -0,0 +1,78 @@ +# 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_insights_response import ListInsightsResponse + +class TestListInsightsResponse(unittest.TestCase): + """ListInsightsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListInsightsResponse: + """Test ListInsightsResponse + 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 `ListInsightsResponse` + """ + model = ListInsightsResponse() + if include_optional: + return ListInsightsResponse( + results = [ + platform_api_python_client.models.insight_list_item_response.InsightListItemResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ), ) + ] + ) + else: + return ListInsightsResponse( + results = [ + platform_api_python_client.models.insight_list_item_response.InsightListItemResponse( + id = 56, + identity = '', + severity = 'critical', + status = 'new', + title = '', + observed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resource = platform_api_python_client.models.insight_resource.InsightResource( + type = 'cluster', + id = 56, + name = '', ), ) + ], + ) + """ + + def testListInsightsResponse(self): + """Test ListInsightsResponse""" + # 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_pool.py b/test/test_pool.py new file mode 100644 index 0000000..8837542 --- /dev/null +++ b/test/test_pool.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.pool import Pool + +class TestPool(unittest.TestCase): + """Pool unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Pool: + """Test Pool + 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 `Pool` + """ + model = Pool() + if include_optional: + return Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0 + ) + else: + return Pool( + hardware_instance_id = 56, + ) + """ + + def testPool(self): + """Test Pool""" + # 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_unified_get_compute_deployment_response.py b/test/test_unified_get_compute_deployment_response.py new file mode 100644 index 0000000..d1cba8e --- /dev/null +++ b/test/test_unified_get_compute_deployment_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 + + +import unittest + +from platform_api_python_client.models.unified_get_compute_deployment_response import UnifiedGetComputeDeploymentResponse + +class TestUnifiedGetComputeDeploymentResponse(unittest.TestCase): + """UnifiedGetComputeDeploymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetComputeDeploymentResponse: + """Test UnifiedGetComputeDeploymentResponse + 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 `UnifiedGetComputeDeploymentResponse` + """ + model = UnifiedGetComputeDeploymentResponse() + if include_optional: + return UnifiedGetComputeDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_compute', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + user_annotations = { + 'key' : '' + }, + chart_revision = '', + volume_mounts = [ + platform_api_python_client.models.volume_mount.VolumeMount( + volume_id = 56, + mount_path = '0', + read_only = True, ) + ], + priority = '', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ssh_public_key = '0', + enable_logging = True, + exposed_port = 56 + ) + else: + return UnifiedGetComputeDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_compute', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ssh_public_key = '0', + exposed_port = 56, + ) + """ + + def testUnifiedGetComputeDeploymentResponse(self): + """Test UnifiedGetComputeDeploymentResponse""" + # 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_unified_get_deployment_logs_response.py b/test/test_unified_get_deployment_logs_response.py new file mode 100644 index 0000000..b34d782 --- /dev/null +++ b/test/test_unified_get_deployment_logs_response.py @@ -0,0 +1,62 @@ +# 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.unified_get_deployment_logs_response import UnifiedGetDeploymentLogsResponse + +class TestUnifiedGetDeploymentLogsResponse(unittest.TestCase): + """UnifiedGetDeploymentLogsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentLogsResponse: + """Test UnifiedGetDeploymentLogsResponse + 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 `UnifiedGetDeploymentLogsResponse` + """ + model = UnifiedGetDeploymentLogsResponse() + if include_optional: + return UnifiedGetDeploymentLogsResponse( + events = [ + platform_api_python_client.models.deployment_log_event_v4.DeploymentLogEventV4( + id = '', + timestamp = 56, + message = '', ) + ] + ) + else: + return UnifiedGetDeploymentLogsResponse( + events = [ + platform_api_python_client.models.deployment_log_event_v4.DeploymentLogEventV4( + id = '', + timestamp = 56, + message = '', ) + ], + ) + """ + + def testUnifiedGetDeploymentLogsResponse(self): + """Test UnifiedGetDeploymentLogsResponse""" + # 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_unified_get_deployment_pods_response.py b/test/test_unified_get_deployment_pods_response.py new file mode 100644 index 0000000..327afd7 --- /dev/null +++ b/test/test_unified_get_deployment_pods_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.unified_get_deployment_pods_response import UnifiedGetDeploymentPodsResponse + +class TestUnifiedGetDeploymentPodsResponse(unittest.TestCase): + """UnifiedGetDeploymentPodsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentPodsResponse: + """Test UnifiedGetDeploymentPodsResponse + 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 `UnifiedGetDeploymentPodsResponse` + """ + model = UnifiedGetDeploymentPodsResponse() + if include_optional: + return UnifiedGetDeploymentPodsResponse( + pods = [ + '' + ] + ) + else: + return UnifiedGetDeploymentPodsResponse( + pods = [ + '' + ], + ) + """ + + def testUnifiedGetDeploymentPodsResponse(self): + """Test UnifiedGetDeploymentPodsResponse""" + # 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_unified_get_deployment_response.py b/test/test_unified_get_deployment_response.py new file mode 100644 index 0000000..8da30b9 --- /dev/null +++ b/test/test_unified_get_deployment_response.py @@ -0,0 +1,159 @@ +# 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.unified_get_deployment_response import UnifiedGetDeploymentResponse + +class TestUnifiedGetDeploymentResponse(unittest.TestCase): + """UnifiedGetDeploymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentResponse: + """Test UnifiedGetDeploymentResponse + 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 `UnifiedGetDeploymentResponse` + """ + model = UnifiedGetDeploymentResponse() + if include_optional: + return UnifiedGetDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_compute', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + user_annotations = { + 'key' : '' + }, + chart_revision = '', + volume_mounts = [ + platform_api_python_client.models.volume_mount.VolumeMount( + volume_id = 56, + mount_path = '0', + read_only = True, ) + ], + priority = '', + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ssh_public_key = '0', + enable_logging = True, + exposed_port = 56, + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + port = 1.0, + healthcheck = '', + command = '', + config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( + filename = '20', + mount_path = '0', + content = '0', ), + hf_token_ref = 1.0, + session_affinity = True, + metrics = platform_api_python_client.models.metrics_config.MetricsConfig( + port = 1.0, + path = '/W(,j>6>eow3jCO&}nl`:&~', ), + enable_node_model_cache = True, + completions = 1.0, + parallelism = 1.0, + backoff_limit = 0.0, + active_deadline_seconds = 1.0, + serving_mode = 'aggregated', + communications = platform_api_python_client.models.dynamo_communications.DynamoCommunications( + kv_transfer = platform_api_python_client.models.dynamo_kv_transfer_configuration.DynamoKvTransferConfiguration( + policy = 'allow_tcp', ), ), + model = '', + served_model_name = '', + extra_args = '' + ) + else: + return UnifiedGetDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_compute', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ssh_public_key = '0', + exposed_port = 56, + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + port = 1.0, + model = '', + ) + """ + + def testUnifiedGetDeploymentResponse(self): + """Test UnifiedGetDeploymentResponse""" + # 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_unified_get_deployment_revision_response.py b/test/test_unified_get_deployment_revision_response.py new file mode 100644 index 0000000..f89710f --- /dev/null +++ b/test/test_unified_get_deployment_revision_response.py @@ -0,0 +1,63 @@ +# 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.unified_get_deployment_revision_response import UnifiedGetDeploymentRevisionResponse + +class TestUnifiedGetDeploymentRevisionResponse(unittest.TestCase): + """UnifiedGetDeploymentRevisionResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentRevisionResponse: + """Test UnifiedGetDeploymentRevisionResponse + 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 `UnifiedGetDeploymentRevisionResponse` + """ + model = UnifiedGetDeploymentRevisionResponse() + if include_optional: + return UnifiedGetDeploymentRevisionResponse( + id = 56, + revision_number = 56, + deployment_id = 56, + deployment_response = None, + notes = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return UnifiedGetDeploymentRevisionResponse( + id = 56, + revision_number = 56, + deployment_id = 56, + deployment_response = None, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + ) + """ + + def testUnifiedGetDeploymentRevisionResponse(self): + """Test UnifiedGetDeploymentRevisionResponse""" + # 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_unified_get_deployment_rollout_response.py b/test/test_unified_get_deployment_rollout_response.py new file mode 100644 index 0000000..2014d05 --- /dev/null +++ b/test/test_unified_get_deployment_rollout_response.py @@ -0,0 +1,54 @@ +# 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.unified_get_deployment_rollout_response import UnifiedGetDeploymentRolloutResponse + +class TestUnifiedGetDeploymentRolloutResponse(unittest.TestCase): + """UnifiedGetDeploymentRolloutResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentRolloutResponse: + """Test UnifiedGetDeploymentRolloutResponse + 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 `UnifiedGetDeploymentRolloutResponse` + """ + model = UnifiedGetDeploymentRolloutResponse() + if include_optional: + return UnifiedGetDeploymentRolloutResponse( + paused = True, + status = 'Progressing' + ) + else: + return UnifiedGetDeploymentRolloutResponse( + paused = True, + status = 'Progressing', + ) + """ + + def testUnifiedGetDeploymentRolloutResponse(self): + """Test UnifiedGetDeploymentRolloutResponse""" + # 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_unified_get_deployment_usage_response.py b/test/test_unified_get_deployment_usage_response.py new file mode 100644 index 0000000..1ec26a7 --- /dev/null +++ b/test/test_unified_get_deployment_usage_response.py @@ -0,0 +1,74 @@ +# 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.unified_get_deployment_usage_response import UnifiedGetDeploymentUsageResponse + +class TestUnifiedGetDeploymentUsageResponse(unittest.TestCase): + """UnifiedGetDeploymentUsageResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDeploymentUsageResponse: + """Test UnifiedGetDeploymentUsageResponse + 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 `UnifiedGetDeploymentUsageResponse` + """ + model = UnifiedGetDeploymentUsageResponse() + if include_optional: + return UnifiedGetDeploymentUsageResponse( + values = [ + platform_api_python_client.models.deployment_usage.DeploymentUsage( + metric = { + 'key' : '' + }, + values = [ + platform_api_python_client.models.deployment_usage_value.DeploymentUsageValue( + timestamp = 56, + value = 1.337, ) + ], ) + ], + availability = 'available', + last_sample_at = 56 + ) + else: + return UnifiedGetDeploymentUsageResponse( + values = [ + platform_api_python_client.models.deployment_usage.DeploymentUsage( + metric = { + 'key' : '' + }, + values = [ + platform_api_python_client.models.deployment_usage_value.DeploymentUsageValue( + timestamp = 56, + value = 1.337, ) + ], ) + ], + ) + """ + + def testUnifiedGetDeploymentUsageResponse(self): + """Test UnifiedGetDeploymentUsageResponse""" + # 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_unified_get_dynamo_deployment_response.py b/test/test_unified_get_dynamo_deployment_response.py new file mode 100644 index 0000000..462bcff --- /dev/null +++ b/test/test_unified_get_dynamo_deployment_response.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 + + +import unittest + +from platform_api_python_client.models.unified_get_dynamo_deployment_response import UnifiedGetDynamoDeploymentResponse + +class TestUnifiedGetDynamoDeploymentResponse(unittest.TestCase): + """UnifiedGetDynamoDeploymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetDynamoDeploymentResponse: + """Test UnifiedGetDynamoDeploymentResponse + 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 `UnifiedGetDynamoDeploymentResponse` + """ + model = UnifiedGetDynamoDeploymentResponse() + if include_optional: + return UnifiedGetDynamoDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_dynamo', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + user_annotations = { + 'key' : '' + }, + chart_revision = '', + volume_mounts = [ + platform_api_python_client.models.volume_mount.VolumeMount( + volume_id = 56, + mount_path = '0', + read_only = True, ) + ], + priority = '', + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + serving_mode = 'aggregated', + communications = platform_api_python_client.models.dynamo_communications.DynamoCommunications( + kv_transfer = platform_api_python_client.models.dynamo_kv_transfer_configuration.DynamoKvTransferConfiguration( + policy = 'allow_tcp', ), ), + model = '', + served_model_name = '', + extra_args = '', + hf_token_ref = 1.0, + enable_logging = True, + enable_node_model_cache = True + ) + else: + return UnifiedGetDynamoDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_dynamo', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + model = '', + ) + """ + + def testUnifiedGetDynamoDeploymentResponse(self): + """Test UnifiedGetDynamoDeploymentResponse""" + # 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_unified_get_inference_v3_deployment_response.py b/test/test_unified_get_inference_v3_deployment_response.py new file mode 100644 index 0000000..a7ba339 --- /dev/null +++ b/test/test_unified_get_inference_v3_deployment_response.py @@ -0,0 +1,131 @@ +# 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.unified_get_inference_v3_deployment_response import UnifiedGetInferenceV3DeploymentResponse + +class TestUnifiedGetInferenceV3DeploymentResponse(unittest.TestCase): + """UnifiedGetInferenceV3DeploymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetInferenceV3DeploymentResponse: + """Test UnifiedGetInferenceV3DeploymentResponse + 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 `UnifiedGetInferenceV3DeploymentResponse` + """ + model = UnifiedGetInferenceV3DeploymentResponse() + if include_optional: + return UnifiedGetInferenceV3DeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_inference', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + user_annotations = { + 'key' : '' + }, + chart_revision = '', + volume_mounts = [ + platform_api_python_client.models.volume_mount.VolumeMount( + volume_id = 56, + mount_path = '0', + read_only = True, ) + ], + priority = '', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + port = 1.0, + healthcheck = '', + command = '', + config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( + filename = '20', + mount_path = '0', + content = '0', ), + hf_token_ref = 1.0, + session_affinity = True, + metrics = platform_api_python_client.models.metrics_config.MetricsConfig( + port = 1.0, + path = '/W(,j>6>eow3jCO&}nl`:&~', ), + enable_logging = True, + enable_node_model_cache = True + ) + else: + return UnifiedGetInferenceV3DeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_inference', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + port = 1.0, + ) + """ + + def testUnifiedGetInferenceV3DeploymentResponse(self): + """Test UnifiedGetInferenceV3DeploymentResponse""" + # 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_unified_get_job_deployment_response.py b/test/test_unified_get_job_deployment_response.py new file mode 100644 index 0000000..0a7c614 --- /dev/null +++ b/test/test_unified_get_job_deployment_response.py @@ -0,0 +1,118 @@ +# 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.unified_get_job_deployment_response import UnifiedGetJobDeploymentResponse + +class TestUnifiedGetJobDeploymentResponse(unittest.TestCase): + """UnifiedGetJobDeploymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedGetJobDeploymentResponse: + """Test UnifiedGetJobDeploymentResponse + 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 `UnifiedGetJobDeploymentResponse` + """ + model = UnifiedGetJobDeploymentResponse() + if include_optional: + return UnifiedGetJobDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_job', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + user_annotations = { + 'key' : '' + }, + chart_revision = '', + volume_mounts = [ + platform_api_python_client.models.volume_mount.VolumeMount( + volume_id = 56, + mount_path = '0', + read_only = True, ) + ], + priority = '', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + command = '', + config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( + filename = '20', + mount_path = '0', + content = '0', ), + completions = 1.0, + parallelism = 1.0, + backoff_limit = 0.0, + active_deadline_seconds = 1.0, + enable_logging = True + ) + else: + return UnifiedGetJobDeploymentResponse( + id = 56, + status = 'active', + creator_email = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + revision_number = 56, + endpoint_url = '', + type = 'ccl_job', + name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', + cluster_id = 56, + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ) + """ + + def testUnifiedGetJobDeploymentResponse(self): + """Test UnifiedGetJobDeploymentResponse""" + # 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_unified_list_deployment_revisions_response.py b/test/test_unified_list_deployment_revisions_response.py new file mode 100644 index 0000000..086d193 --- /dev/null +++ b/test/test_unified_list_deployment_revisions_response.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.unified_list_deployment_revisions_response import UnifiedListDeploymentRevisionsResponse + +class TestUnifiedListDeploymentRevisionsResponse(unittest.TestCase): + """UnifiedListDeploymentRevisionsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedListDeploymentRevisionsResponse: + """Test UnifiedListDeploymentRevisionsResponse + 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 `UnifiedListDeploymentRevisionsResponse` + """ + model = UnifiedListDeploymentRevisionsResponse() + if include_optional: + return UnifiedListDeploymentRevisionsResponse( + results = [ + platform_api_python_client.models.unified_get_deployment_revision_response.UnifiedGetDeploymentRevisionResponse( + id = 56, + revision_number = 56, + deployment_id = 56, + deployment_response = null, + notes = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ] + ) + else: + return UnifiedListDeploymentRevisionsResponse( + results = [ + platform_api_python_client.models.unified_get_deployment_revision_response.UnifiedGetDeploymentRevisionResponse( + id = 56, + revision_number = 56, + deployment_id = 56, + deployment_response = null, + notes = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + ) + """ + + def testUnifiedListDeploymentRevisionsResponse(self): + """Test UnifiedListDeploymentRevisionsResponse""" + # 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_unified_update_deployment_rollout_request.py b/test/test_unified_update_deployment_rollout_request.py new file mode 100644 index 0000000..af4f9ed --- /dev/null +++ b/test/test_unified_update_deployment_rollout_request.py @@ -0,0 +1,52 @@ +# 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.unified_update_deployment_rollout_request import UnifiedUpdateDeploymentRolloutRequest + +class TestUnifiedUpdateDeploymentRolloutRequest(unittest.TestCase): + """UnifiedUpdateDeploymentRolloutRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnifiedUpdateDeploymentRolloutRequest: + """Test UnifiedUpdateDeploymentRolloutRequest + 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 `UnifiedUpdateDeploymentRolloutRequest` + """ + model = UnifiedUpdateDeploymentRolloutRequest() + if include_optional: + return UnifiedUpdateDeploymentRolloutRequest( + paused = True + ) + else: + return UnifiedUpdateDeploymentRolloutRequest( + paused = True, + ) + """ + + def testUnifiedUpdateDeploymentRolloutRequest(self): + """Test UnifiedUpdateDeploymentRolloutRequest""" + # 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_unified_write_compute_deployment_request.py b/test/test_unified_write_compute_deployment_request.py index 8e3e2ac..5ae2697 100644 --- a/test/test_unified_write_compute_deployment_request.py +++ b/test/test_unified_write_compute_deployment_request.py @@ -35,9 +35,9 @@ def make_instance(self, include_optional) -> UnifiedWriteComputeDeploymentReques model = UnifiedWriteComputeDeploymentRequest() if include_optional: return UnifiedWriteComputeDeploymentRequest( + type = 'ccl_compute', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, user_annotations = { 'key' : '' }, @@ -49,25 +49,42 @@ def make_instance(self, include_optional) -> UnifiedWriteComputeDeploymentReques read_only = True, ) ], priority = '', - image_url = '', - image_pull_secret_credentials = platform_api_python_client.models.image_pull_secret_credentials.ImagePullSecretCredentials( - username = '', - password = '', ), - image_pull_ref = 1.0, - image_pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', - env_vars_refs = platform_api_python_client.models.env_vars_refs.Env Vars Refs(), - ssh_public_key = '', - enable_logging = True, - type = 'ccl_compute' + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ssh_public_key = '0', + enable_logging = True ) else: return UnifiedWriteComputeDeploymentRequest( + type = 'ccl_compute', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, - image_url = '', - ssh_public_key = '', - type = 'ccl_compute', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ssh_public_key = '0', ) """ diff --git a/test/test_unified_write_deployment_request.py b/test/test_unified_write_deployment_request.py index 2f05fe6..fcdacaa 100644 --- a/test/test_unified_write_deployment_request.py +++ b/test/test_unified_write_deployment_request.py @@ -35,9 +35,9 @@ def make_instance(self, include_optional) -> UnifiedWriteDeploymentRequest: model = UnifiedWriteDeploymentRequest() if include_optional: return UnifiedWriteDeploymentRequest( + type = 'ccl_compute', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, user_annotations = { 'key' : '' }, @@ -49,83 +49,87 @@ def make_instance(self, include_optional) -> UnifiedWriteDeploymentRequest: read_only = True, ) ], priority = '', - image_url = '', - image_pull_secret_credentials = platform_api_python_client.models.image_pull_secret_credentials.ImagePullSecretCredentials( - username = '', - password = '', ), - image_pull_ref = 1.0, - image_pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', - env_vars_refs = platform_api_python_client.models.env_vars_refs.Env Vars Refs(), - ssh_public_key = '', + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ssh_public_key = '0', enable_logging = True, - type = 'ccl_compute', - max_surge = 56, - max_unavailable = 56, - hf_token_ref = 1.0, + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), port = 1.0, - min_replicas = 56, - max_replicas = 56, - concurrency = 56, - cooldown_period = 56, healthcheck = '', - env_vars = { - 'key' : '' - }, command = '', - endpoint_bearer_token = '', - bearer_token_ref = 1.0, - endpoint_certificate_authority = '', - hf_token = '', - backend_protocol = 'HTTP', - enable_node_model_cache = True, - session_affinity = True, config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( filename = '20', mount_path = '0', content = '0', ), + hf_token_ref = 1.0, + session_affinity = True, metrics = platform_api_python_client.models.metrics_config.MetricsConfig( port = 1.0, path = '/W(,j>6>eow3jCO&}nl`:&~', ), + enable_node_model_cache = True, + completions = 1.0, + parallelism = 1.0, + backoff_limit = 0.0, + active_deadline_seconds = 1.0, serving_mode = 'aggregated', - worker_pools = platform_api_python_client.models.dynamo_worker_pools.DynamoWorkerPools( - worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( - hardware_instance_id = 56, - replicas = 1.0, - min_replicas = 1.0, - max_replicas = 1.0, - concurrency = 1.0, - cooldown_period = 0.0, ), - prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( - hardware_instance_id = 56, - replicas = 1.0, - min_replicas = 1.0, - max_replicas = 1.0, - concurrency = 1.0, - cooldown_period = 0.0, ), - decode = , ), communications = platform_api_python_client.models.dynamo_communications.DynamoCommunications( kv_transfer = platform_api_python_client.models.dynamo_kv_transfer_configuration.DynamoKvTransferConfiguration( policy = 'allow_tcp', ), ), model = '', served_model_name = '', - runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', - extra_args = '', - completions = 56, - parallelism = 56, - backoff_limit = 56, - active_deadline_seconds = 56 + extra_args = '' ) else: return UnifiedWriteDeploymentRequest( + type = 'ccl_compute', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, - image_url = '', - ssh_public_key = '', - type = 'ccl_compute', + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ssh_public_key = '0', + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), port = 1.0, - min_replicas = 56, - max_replicas = 56, model = '', ) """ diff --git a/test/test_unified_write_dynamo_deployment_request.py b/test/test_unified_write_dynamo_deployment_request.py index 98d3094..265eebd 100644 --- a/test/test_unified_write_dynamo_deployment_request.py +++ b/test/test_unified_write_dynamo_deployment_request.py @@ -35,11 +35,9 @@ def make_instance(self, include_optional) -> UnifiedWriteDynamoDeploymentRequest model = UnifiedWriteDynamoDeploymentRequest() if include_optional: return UnifiedWriteDynamoDeploymentRequest( - max_surge = 56, - max_unavailable = 56, + type = 'ccl_dynamo', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, user_annotations = { 'key' : '' }, @@ -51,55 +49,67 @@ def make_instance(self, include_optional) -> UnifiedWriteDynamoDeploymentRequest read_only = True, ) ], priority = '', - serving_mode = 'aggregated', - worker_pools = platform_api_python_client.models.dynamo_worker_pools.DynamoWorkerPools( - worker = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( hardware_instance_id = 56, - replicas = 1.0, - min_replicas = 1.0, - max_replicas = 1.0, - concurrency = 1.0, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, cooldown_period = 0.0, ), - prefill = platform_api_python_client.models.dynamo_worker_pool_config.DynamoWorkerPoolConfig( + prefill = platform_api_python_client.models.pool.Pool( hardware_instance_id = 56, - replicas = 1.0, - min_replicas = 1.0, - max_replicas = 1.0, - concurrency = 1.0, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, cooldown_period = 0.0, ), decode = , ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.dynamo_image.DynamoImage( + runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', + pull_ref = 1.0, ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), + serving_mode = 'aggregated', communications = platform_api_python_client.models.dynamo_communications.DynamoCommunications( kv_transfer = platform_api_python_client.models.dynamo_kv_transfer_configuration.DynamoKvTransferConfiguration( policy = 'allow_tcp', ), ), model = '', served_model_name = '', - runtime_version = 'e6bUUGjjNSwg0_bs9ZayIMrKdgNvb6gvxmPb9GcsM61ate1RA89q3w1l4eH4XxEz.5awxoFZxHzs6ED.kjUSnTINkYPUndNl8pmPg5K897Fu1JEFj9R1_dz9rEoBi0L', - min_replicas = 56, - max_replicas = 56, - concurrency = 56, - cooldown_period = 56, extra_args = '', - hf_token = '', hf_token_ref = 1.0, - env_vars = { - 'key' : '' - }, - env_vars_refs = platform_api_python_client.models.env_vars_refs.Env Vars Refs(), - endpoint_bearer_token = '', - bearer_token_ref = 1.0, - endpoint_certificate_authority = '', - image_pull_ref = 1.0, enable_logging = True, - enable_node_model_cache = True, - backend_protocol = 'HTTP', - type = 'ccl_dynamo' + enable_node_model_cache = True ) else: return UnifiedWriteDynamoDeploymentRequest( + type = 'ccl_dynamo', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, + pools = platform_api_python_client.models.ccl_dynamo_pools.CclDynamoPools( + worker = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + prefill = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), + decode = , ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), model = '', - type = 'ccl_dynamo', ) """ diff --git a/test/test_unified_write_inference_v3_deployment_request.py b/test/test_unified_write_inference_v3_deployment_request.py index 21a9102..c5a60ad 100644 --- a/test/test_unified_write_inference_v3_deployment_request.py +++ b/test/test_unified_write_inference_v3_deployment_request.py @@ -35,11 +35,9 @@ def make_instance(self, include_optional) -> UnifiedWriteInferenceV3DeploymentRe model = UnifiedWriteInferenceV3DeploymentRequest() if include_optional: return UnifiedWriteInferenceV3DeploymentRequest( - max_surge = 56, - max_unavailable = 56, + type = 'ccl_inference', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, user_annotations = { 'key' : '' }, @@ -51,51 +49,62 @@ def make_instance(self, include_optional) -> UnifiedWriteInferenceV3DeploymentRe read_only = True, ) ], priority = '', - hf_token_ref = 1.0, - image_url = '', - image_pull_secret_credentials = platform_api_python_client.models.image_pull_secret_credentials.ImagePullSecretCredentials( - username = '', - password = '', ), - image_pull_ref = 1.0, - image_pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), port = 1.0, - min_replicas = 56, - max_replicas = 56, - concurrency = 56, - cooldown_period = 0.0, healthcheck = '', - env_vars = { - 'key' : '' - }, command = '', - endpoint_bearer_token = '', - bearer_token_ref = 1.0, - endpoint_certificate_authority = '', - hf_token = '', - env_vars_refs = platform_api_python_client.models.env_vars_refs.Env Vars Refs(), - backend_protocol = 'HTTP', - enable_logging = True, - enable_node_model_cache = True, - session_affinity = True, config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( filename = '20', mount_path = '0', content = '0', ), + hf_token_ref = 1.0, + session_affinity = True, metrics = platform_api_python_client.models.metrics_config.MetricsConfig( port = 1.0, path = '/W(,j>6>eow3jCO&}nl`:&~', ), - type = 'ccl_inference' + enable_logging = True, + enable_node_model_cache = True ) else: return UnifiedWriteInferenceV3DeploymentRequest( + type = 'ccl_inference', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, - image_url = '', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), + ingress = platform_api_python_client.models.ingress.Ingress( + backend_protocol = 'HTTP', + bearer_token_ref = 1.0, + certificate_authority = '', ), port = 1.0, - min_replicas = 56, - max_replicas = 56, - type = 'ccl_inference', ) """ diff --git a/test/test_unified_write_job_deployment_request.py b/test/test_unified_write_job_deployment_request.py index cf7782e..c17548e 100644 --- a/test/test_unified_write_job_deployment_request.py +++ b/test/test_unified_write_job_deployment_request.py @@ -35,9 +35,9 @@ def make_instance(self, include_optional) -> UnifiedWriteJobDeploymentRequest: model = UnifiedWriteJobDeploymentRequest() if include_optional: return UnifiedWriteJobDeploymentRequest( + type = 'ccl_job', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, user_annotations = { 'key' : '' }, @@ -49,35 +49,49 @@ def make_instance(self, include_optional) -> UnifiedWriteJobDeploymentRequest: read_only = True, ) ], priority = '', - image_url = '', - image_pull_secret_credentials = platform_api_python_client.models.image_pull_secret_credentials.ImagePullSecretCredentials( - username = '', - password = '', ), - image_pull_ref = 1.0, - image_pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', - env_vars = { - 'key' : '' - }, - env_vars_refs = platform_api_python_client.models.env_vars_refs.Env Vars Refs(), + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + env = platform_api_python_client.models.env.Env( + vars = { + 'key' : '' + }, + refs = platform_api_python_client.models.refs.Refs(), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), command = '', - completions = 56, - parallelism = 56, - backoff_limit = 56, - active_deadline_seconds = 56, - enable_logging = True, config_file = platform_api_python_client.models.config_file_mount.ConfigFileMount( filename = '20', mount_path = '0', content = '0', ), - type = 'ccl_job' + completions = 1.0, + parallelism = 1.0, + backoff_limit = 0.0, + active_deadline_seconds = 1.0, + enable_logging = True ) else: return UnifiedWriteJobDeploymentRequest( + type = 'ccl_job', name = 'ar1c2v7s6djuy1zmetozkhdomha1b0', cluster_id = 56, - hardware_instance_id = 56, - image_url = '', - type = 'ccl_job', + pools = platform_api_python_client.models.ccl_main_pools.CclMainPools( + main = platform_api_python_client.models.pool.Pool( + hardware_instance_id = 56, + min_replicas = 56, + max_replicas = 56, + concurrency = 56, + cooldown_period = 0.0, ), ), + image = platform_api_python_client.models.image.Image( + url = '', + pull_ref = 1.0, + pull_secret_name = 'w1c2v7s6djuy1zmetozkhdomha1bae37b8ocvx8o53ow2eg7p6qw9qklp6l4y010fogx.mjvnh6nzn2yp6d7tmo7zxedi-pkbmhcbu-4d4ncp9sp-gpju7f9r1ly-n2jyba-zuswj171d3kxld4uyykb66fgvcwlw.s.p6div96l1hmssf5by0949ps5we2h1m5s.4.7ftu50o3hq25-ctix-xt8fyuzw85-6ya.ezgfzdm4groy.ccn4nxdzyngfr2bsdqi-90qr77qnqf26kpzuf5a652r9yc8wgc.uoko8ht4bjsb-86ca0gq8ejs584qp107f5qv9ze3gk7q64-5mecujmelufynb1wtb8v2n1x9-y9o36a.uqixpalso4ehay1yebs1kiembt-homr2.864bew-vpjuuty7-xv4qjygg3hwqd-5gynywalvhvvesyveyxp35spjahpsiagrj0jehh3a3x8z9axqtswj383252z.d6d4ifob3rgi7j1fao-vb9l55lz.bsk1mqype9zx3n6q-u55t879v1lf.1.k.isf-swgdlh.0.m4u5aoqakjc4xlcmbpoy4ndizk4s3cdhxttexawd8mnl6e4uzxalowdqy9rokd32ct-w5p-yt-emwrzfi.lulqkw0osnqktff9fp6xbt97440w4wt3xjayovyb7flljlnosgtrofp.o.j.p5-2p577rg1fwny6cq1e2d3p5aa62rscqk6cxzeqcrvjnbqd52lumjr3qda19c-7skjef4ovphp57sme4j.v.ex0xp4ft9xd1-4zvmus0m5p.v0h-jlvu47xor814uas43gvg7px7mohsvz1n3b561az73nipt-so37iphbtnhmw48ibn.m.bk41trymo7d0ea3vl3k8vn3ygn2a7ps3-pdkhjjxrdr3lz6urrzqtzh9wngf-95dvz5km9h9e5j8vg6kx1nnqzi442akggqdhy6.i.gupb4cz72xp4qgqp5jsd55qux2vq83uq1j9iy-qb4bt8kb625gpncppm1zw5yrhj.5q6soeyc3hzdpj1thb.b.b5xq79rwp3km1p11ikuwgghy12wdp5xrrsyrsnl7yjolek10nb0oh.h.x.2h707s1vjswprq6au.xucdr85u0erh5dfg2hvs9u7vn0y8ci0w5cs0m66nvcce2fr52dkbd9-7klkniu5cpn6qugmep5e6p9gx9creyetm.2sgithzei3bx4-4ox6m2aiffxmcwza92oxtwxs76a.s.z.im-3mvtf47ak-ld.a.2elgcf13ovinqusgnnclaaotmbqdseafe1dkj6zg4q-zexx0zm-n.j3-w17r6rxur1pbea75jjl8lv5xitcozp.c.h.61bftab5cre-v.9.v.s.fyenvbtf508c5c3k.mghqe7lyva958ar2bzuf2507k602lnujv0ps2icyh27nxstaqbg38m0hpe.g.bg8n69rdva8j104ap-cf1p9yc1ijk9np17sjmh2tukz4atwz0044pdhk9pk1eft1nod0p9-vepbljhwtpf-qd2ysm1.3tiane3jk-09bf0q3dbgqocrp16dzj0xk-uyej17sd81mbgu820re53g21e779vy6.z.rm8pn0xdthfd9cqpo9sslxeml661r0eol4jypf6mdna86sfgz92k.y-52xiufg9mfli1bjvsy947g3cz7wufbd001uiwvuaxblt37i0ah0z6f6qhqwar1c3r14v-vt3pd5kbrrs94okiob2jznknec6ky.3.d.dgp-oapce410llsnx-m--ufb725icarr8pijimdu9gxv3p7744x7btxc9-zq66zjny7rvcbdfcl-7ksv-awu1ddn3dlag.1cg4obm9r3waeqrdsk53.1.q.k.w.gz5qwr2rjf1o2625v873inyqekdlul-2yu96dhuposmz433w4216crklr6.5ifmkesrrzj9hbtdyamuoxl0l1gb0vgsms5ou3nfhhnvvfktn2uyclzyqvy90vz11a6oipnv4tno7.z.t.u4pfk1y-f41a9ekyw5sfqgxxg2436imo6t94jmeph0msaf6p04q5p6z75n97ibih9ynp9w52m2.7bh985by7-jms7z9rzl84e9iub-3gwwq4fe81bi2bmela-4-ti6-mqq-em0m73ls976osz80kxxj.x.jxe4zxgit8guso2bynf9xkxywffvyznse5yovoes9zqhgf9wk74po4qj1hri4b.06kv2f-9nff.ejas130ndgnxp85h0saokre-wcp8nl4iio.g.z8c-0hnu2tn0fal1tsn8phrmhzoys2l25i7fgxqn8.w.w.z0', ), ) """ diff --git a/test/test_update_insight_status_request.py b/test/test_update_insight_status_request.py new file mode 100644 index 0000000..51e799b --- /dev/null +++ b/test/test_update_insight_status_request.py @@ -0,0 +1,53 @@ +# 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.update_insight_status_request import UpdateInsightStatusRequest + +class TestUpdateInsightStatusRequest(unittest.TestCase): + """UpdateInsightStatusRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateInsightStatusRequest: + """Test UpdateInsightStatusRequest + 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 `UpdateInsightStatusRequest` + """ + model = UpdateInsightStatusRequest() + if include_optional: + return UpdateInsightStatusRequest( + status = 'new', + comment = 'jUR,rZ#UM/?R,Fp^l6$ARj0' + ) + else: + return UpdateInsightStatusRequest( + status = 'new', + ) + """ + + def testUpdateInsightStatusRequest(self): + """Test UpdateInsightStatusRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main()