gcore 0.10.0__py3-none-any.whl → 0.11.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/_base_client.py +3 -3
- gcore/_client.py +18 -0
- gcore/_compat.py +48 -48
- gcore/_models.py +41 -41
- gcore/_types.py +35 -1
- gcore/_utils/__init__.py +9 -2
- gcore/_utils/_compat.py +45 -0
- gcore/_utils/_datetime_parse.py +136 -0
- gcore/_utils/_transform.py +11 -1
- gcore/_utils/_typing.py +6 -1
- gcore/_utils/_utils.py +0 -1
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +28 -0
- gcore/resources/cloud/__init__.py +14 -0
- gcore/resources/cloud/audit_logs.py +3 -3
- gcore/resources/cloud/baremetal/images.py +3 -4
- gcore/resources/cloud/baremetal/servers.py +16 -4
- gcore/resources/cloud/cloud.py +32 -0
- gcore/resources/cloud/cost_reports.py +24 -16
- gcore/resources/cloud/file_shares/access_rules.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +30 -14
- gcore/resources/cloud/floating_ips.py +196 -4
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
- gcore/resources/cloud/inference/__init__.py +14 -14
- gcore/resources/cloud/inference/applications/__init__.py +47 -0
- gcore/resources/cloud/inference/applications/applications.py +134 -0
- gcore/resources/cloud/inference/applications/deployments.py +649 -0
- gcore/resources/cloud/inference/applications/templates.py +238 -0
- gcore/resources/cloud/inference/deployments/deployments.py +41 -22
- gcore/resources/cloud/inference/inference.py +32 -32
- gcore/resources/cloud/inference/registry_credentials.py +8 -9
- gcore/resources/cloud/instances/images.py +4 -4
- gcore/resources/cloud/instances/instances.py +254 -4
- gcore/resources/cloud/instances/interfaces.py +544 -0
- gcore/resources/cloud/k8s/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
- gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
- gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
- gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
- gcore/resources/cloud/k8s/flavors.py +209 -0
- gcore/resources/cloud/k8s/k8s.py +233 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
- gcore/resources/cloud/load_balancers/listeners.py +18 -18
- gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
- gcore/resources/cloud/load_balancers/pools/members.py +32 -2
- gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
- gcore/resources/cloud/networks/networks.py +192 -4
- gcore/resources/cloud/networks/subnets.py +140 -8
- gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
- gcore/resources/cloud/security_groups/security_groups.py +6 -6
- gcore/resources/cloud/tasks.py +46 -46
- gcore/resources/cloud/users/role_assignments.py +5 -4
- gcore/resources/cloud/volumes.py +4 -4
- gcore/resources/dns/__init__.py +75 -0
- gcore/resources/dns/dns.py +374 -0
- gcore/resources/dns/locations.py +288 -0
- gcore/resources/dns/metrics.py +214 -0
- gcore/resources/dns/pickers/__init__.py +33 -0
- gcore/resources/dns/pickers/pickers.py +167 -0
- gcore/resources/dns/pickers/presets.py +135 -0
- gcore/resources/dns/zones/__init__.py +47 -0
- gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
- gcore/resources/dns/zones/rrsets.py +1005 -0
- gcore/resources/dns/zones/zones.py +1493 -0
- gcore/resources/storage/__init__.py +75 -0
- gcore/resources/storage/buckets/__init__.py +61 -0
- gcore/resources/storage/buckets/buckets.py +470 -0
- gcore/resources/storage/buckets/cors.py +265 -0
- gcore/resources/storage/buckets/lifecycle.py +276 -0
- gcore/resources/storage/buckets/policy.py +345 -0
- gcore/resources/storage/credentials.py +221 -0
- gcore/resources/storage/locations.py +190 -0
- gcore/resources/storage/statistics.py +364 -0
- gcore/resources/storage/storage.py +1042 -0
- gcore/resources/streaming/ai_tasks.py +56 -70
- gcore/resources/streaming/playlists.py +18 -18
- gcore/resources/streaming/quality_sets.py +8 -8
- gcore/resources/streaming/statistics.py +4 -122
- gcore/resources/streaming/streams/overlays.py +6 -6
- gcore/resources/streaming/streams/streams.py +40 -64
- gcore/resources/streaming/videos/subtitles.py +32 -30
- gcore/resources/streaming/videos/videos.py +78 -72
- gcore/resources/waap/domains/advanced_rules.py +2 -2
- gcore/resources/waap/domains/api_paths.py +13 -13
- gcore/resources/waap/domains/custom_rules.py +2 -2
- gcore/resources/waap/domains/domains.py +4 -4
- gcore/resources/waap/domains/firewall_rules.py +2 -2
- gcore/resources/waap/domains/insight_silences.py +6 -6
- gcore/resources/waap/domains/insights.py +7 -7
- gcore/resources/waap/domains/statistics.py +47 -47
- gcore/types/cloud/__init__.py +2 -4
- gcore/types/cloud/audit_log_list_params.py +2 -1
- gcore/types/cloud/baremetal/image_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_create_params.py +8 -6
- gcore/types/cloud/baremetal/server_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
- gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
- gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
- gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
- gcore/types/cloud/ddos_profile.py +13 -7
- gcore/types/cloud/ddos_profile_field.py +21 -8
- gcore/types/cloud/ddos_profile_option_list.py +7 -6
- gcore/types/cloud/ddos_profile_status.py +2 -2
- gcore/types/cloud/ddos_profile_template.py +7 -3
- gcore/types/cloud/ddos_profile_template_field.py +12 -3
- gcore/types/cloud/file_share.py +2 -2
- gcore/types/cloud/file_share_create_params.py +12 -6
- gcore/types/cloud/floating_ip_list_params.py +3 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
- gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
- gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
- gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
- gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
- gcore/types/cloud/inference/__init__.py +0 -5
- gcore/types/cloud/inference/applications/__init__.py +12 -0
- gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
- gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
- gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
- gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
- gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
- gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
- gcore/types/cloud/inference/deployment_create_params.py +7 -6
- gcore/types/cloud/inference/deployment_update_params.py +7 -6
- gcore/types/cloud/instance_assign_security_group_params.py +4 -2
- gcore/types/cloud/instance_list_params.py +3 -2
- gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
- gcore/types/cloud/instances/image_list_params.py +3 -2
- gcore/types/cloud/k8s/__init__.py +13 -0
- gcore/types/cloud/k8s/cluster_create_params.py +299 -0
- gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
- gcore/types/cloud/k8s/cluster_update_params.py +203 -0
- gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
- gcore/types/cloud/k8s/clusters/__init__.py +10 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
- gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
- gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
- gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
- gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
- gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
- gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
- gcore/types/cloud/k8s/flavor_list_params.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster.py +209 -0
- gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
- gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
- gcore/types/cloud/k8s_cluster_version.py +10 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
- gcore/types/cloud/load_balancer_create_params.py +23 -4
- gcore/types/cloud/load_balancer_list_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
- gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
- gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
- gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
- gcore/types/cloud/member.py +19 -1
- gcore/types/cloud/network_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_create_params.py +3 -2
- gcore/types/cloud/networks/subnet_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_update_params.py +3 -2
- gcore/types/cloud/project.py +9 -9
- gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
- gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
- gcore/types/cloud/security_group_create_params.py +4 -2
- gcore/types/cloud/security_group_list_params.py +3 -2
- gcore/types/cloud/task_id_list.py +8 -1
- gcore/types/cloud/task_list_params.py +23 -23
- gcore/types/cloud/usage_report_get_params.py +26 -25
- gcore/types/cloud/users/role_assignment.py +2 -1
- gcore/types/cloud/users/role_assignment_create_params.py +4 -2
- gcore/types/cloud/users/role_assignment_update_params.py +4 -2
- gcore/types/cloud/volume_list_params.py +3 -2
- gcore/types/dns/__init__.py +31 -0
- gcore/types/dns/dns_get_account_overview_response.py +21 -0
- gcore/types/dns/dns_label_name.py +13 -0
- gcore/types/dns/dns_location_translations.py +11 -0
- gcore/types/dns/dns_lookup_params.py +15 -0
- gcore/types/dns/dns_lookup_response.py +21 -0
- gcore/types/dns/dns_name_server.py +17 -0
- gcore/types/dns/location_list_continents_response.py +10 -0
- gcore/types/dns/location_list_countries_response.py +10 -0
- gcore/types/dns/location_list_regions_response.py +10 -0
- gcore/types/dns/location_list_response.py +16 -0
- gcore/types/dns/metric_list_params.py +24 -0
- gcore/types/dns/metric_list_response.py +7 -0
- gcore/types/dns/picker_list_response.py +10 -0
- gcore/types/dns/pickers/__init__.py +5 -0
- gcore/types/dns/pickers/preset_list_response.py +10 -0
- gcore/types/dns/zone_check_delegation_status_response.py +20 -0
- gcore/types/dns/zone_create_params.py +59 -0
- gcore/types/dns/zone_create_response.py +13 -0
- gcore/types/dns/zone_export_response.py +11 -0
- gcore/types/dns/zone_get_response.py +106 -0
- gcore/types/dns/zone_get_statistics_params.py +43 -0
- gcore/types/dns/zone_get_statistics_response.py +19 -0
- gcore/types/dns/zone_import_params.py +32 -0
- gcore/types/dns/zone_import_response.py +26 -0
- gcore/types/dns/zone_list_params.py +57 -0
- gcore/types/dns/zone_list_response.py +105 -0
- gcore/types/dns/zone_replace_params.py +61 -0
- gcore/types/dns/zones/__init__.py +15 -0
- gcore/types/dns/zones/dns_failover_log.py +19 -0
- gcore/types/dns/zones/dns_output_rrset.py +123 -0
- gcore/types/dns/zones/dnssec_get_response.py +38 -0
- gcore/types/dns/zones/dnssec_update_params.py +11 -0
- gcore/types/dns/zones/dnssec_update_response.py +38 -0
- gcore/types/dns/zones/rrset_create_params.py +82 -0
- gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
- gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
- gcore/types/dns/zones/rrset_list_params.py +21 -0
- gcore/types/dns/zones/rrset_list_response.py +14 -0
- gcore/types/dns/zones/rrset_replace_params.py +82 -0
- gcore/types/security/client_profile.py +1 -1
- gcore/types/security/profile_create_params.py +2 -2
- gcore/types/security/profile_recreate_params.py +2 -2
- gcore/types/security/profile_replace_params.py +2 -2
- gcore/types/storage/__init__.py +21 -0
- gcore/types/storage/bucket.py +15 -0
- gcore/types/storage/bucket_list_params.py +15 -0
- gcore/types/storage/buckets/__init__.py +9 -0
- gcore/types/storage/buckets/bucket_cors.py +18 -0
- gcore/types/storage/buckets/bucket_policy.py +7 -0
- gcore/types/storage/buckets/cor_create_params.py +17 -0
- gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
- gcore/types/storage/buckets/policy_get_response.py +7 -0
- gcore/types/storage/credential_recreate_params.py +36 -0
- gcore/types/storage/location.py +24 -0
- gcore/types/storage/location_list_params.py +13 -0
- gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
- gcore/types/storage/statistic_get_usage_series_params.py +38 -0
- gcore/types/storage/statistic_get_usage_series_response.py +12 -0
- gcore/types/storage/storage.py +101 -0
- gcore/types/storage/storage_create_params.py +44 -0
- gcore/types/storage/storage_list_params.py +39 -0
- gcore/types/storage/storage_restore_params.py +11 -0
- gcore/types/storage/storage_update_params.py +18 -0
- gcore/types/storage/usage_series.py +201 -0
- gcore/types/storage/usage_total.py +54 -0
- gcore/types/streaming/__init__.py +0 -4
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
- gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
- gcore/types/streaming/ai_task.py +1 -5
- gcore/types/streaming/ai_task_create_params.py +2 -2
- gcore/types/streaming/ai_task_get_response.py +0 -46
- gcore/types/streaming/clip.py +2 -1
- gcore/types/streaming/create_video_param.py +13 -12
- gcore/types/streaming/max_stream_series.py +5 -5
- gcore/types/streaming/playlist.py +1 -1
- gcore/types/streaming/playlist_create_params.py +1 -1
- gcore/types/streaming/playlist_update_params.py +1 -1
- gcore/types/streaming/playlist_video.py +13 -12
- gcore/types/streaming/storage_series.py +5 -5
- gcore/types/streaming/stream.py +86 -49
- gcore/types/streaming/stream_create_clip_params.py +2 -1
- gcore/types/streaming/stream_create_params.py +9 -23
- gcore/types/streaming/stream_series.py +5 -5
- gcore/types/streaming/stream_update_params.py +9 -23
- gcore/types/streaming/video.py +53 -42
- gcore/types/streaming/video_update_params.py +13 -12
- gcore/types/streaming/vod_statistics_series.py +5 -5
- gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
- gcore/types/waap/domain_list_params.py +1 -1
- gcore/types/waap/domain_update_params.py +1 -1
- gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
- gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
- gcore/types/waap/domains/api_path_create_params.py +4 -3
- gcore/types/waap/domains/api_path_list_params.py +3 -1
- gcore/types/waap/domains/api_path_update_params.py +5 -4
- gcore/types/waap/domains/custom_rule_create_params.py +13 -14
- gcore/types/waap/domains/custom_rule_update_params.py +12 -13
- gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
- gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
- gcore/types/waap/domains/insight_list_params.py +4 -2
- gcore/types/waap/domains/insight_replace_params.py +1 -1
- gcore/types/waap/domains/insight_silence_list_params.py +5 -3
- gcore/types/waap/domains/setting_update_params.py +3 -2
- gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
- gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
- gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
- gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
- gcore/types/waap/domains/waap_advanced_rule.py +3 -2
- gcore/types/waap/domains/waap_api_path.py +4 -4
- gcore/types/waap/domains/waap_api_scan_result.py +2 -2
- gcore/types/waap/domains/waap_custom_rule.py +4 -7
- gcore/types/waap/domains/waap_firewall_rule.py +3 -2
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/domains/waap_request_details.py +5 -4
- gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
- gcore/types/waap/waap_rule_set.py +1 -1
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
- gcore/types/cloud/inference/inference_model.py +0 -65
- gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
- gcore/types/cloud/inference/model_list_params.py +0 -21
- gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
- gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
- gcore/types/streaming/meet_series.py +0 -23
- gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
from
|
|
5
|
+
from typing import Dict, List, Optional
|
|
6
|
+
from typing_extensions import Literal
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
9
9
|
|
|
@@ -31,7 +31,7 @@ from .servers import (
|
|
|
31
31
|
ServersResourceWithStreamingResponse,
|
|
32
32
|
AsyncServersResourceWithStreamingResponse,
|
|
33
33
|
)
|
|
34
|
-
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
34
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
|
|
35
35
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
36
36
|
from ...._compat import cached_property
|
|
37
37
|
from .interfaces import (
|
|
@@ -60,7 +60,7 @@ from ....types.cloud import (
|
|
|
60
60
|
from ...._base_client import AsyncPaginator, make_request_options
|
|
61
61
|
from ....types.cloud.task_id_list import TaskIDList
|
|
62
62
|
from ....types.cloud.gpu_baremetal_cluster import GPUBaremetalCluster
|
|
63
|
-
from ....types.cloud.
|
|
63
|
+
from ....types.cloud.gpu_baremetal_clusters.gpu_baremetal_cluster_server_v1_list import GPUBaremetalClusterServerV1List
|
|
64
64
|
|
|
65
65
|
__all__ = ["GPUBaremetalClustersResource", "AsyncGPUBaremetalClustersResource"]
|
|
66
66
|
|
|
@@ -108,15 +108,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
108
108
|
region_id: int | None = None,
|
|
109
109
|
flavor: str,
|
|
110
110
|
image_id: str,
|
|
111
|
-
interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
|
|
112
111
|
name: str,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
security_groups: Iterable[gpu_baremetal_cluster_create_params.SecurityGroup] | NotGiven = NOT_GIVEN,
|
|
116
|
-
ssh_key_name: str | NotGiven = NOT_GIVEN,
|
|
112
|
+
servers_count: int,
|
|
113
|
+
servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
|
|
117
114
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
118
|
-
user_data: str | NotGiven = NOT_GIVEN,
|
|
119
|
-
username: str | NotGiven = NOT_GIVEN,
|
|
120
115
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
121
116
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
122
117
|
extra_headers: Headers | None = None,
|
|
@@ -124,31 +119,23 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
124
119
|
extra_body: Body | None = None,
|
|
125
120
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
126
121
|
) -> TaskIDList:
|
|
127
|
-
"""
|
|
128
|
-
|
|
129
|
-
The cluster can be
|
|
130
|
-
created with one or more nodes.
|
|
122
|
+
"""
|
|
123
|
+
Create a new bare metal GPU cluster with the specified configuration.
|
|
131
124
|
|
|
132
125
|
Args:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
image_id: Image ID
|
|
126
|
+
project_id: Project ID
|
|
136
127
|
|
|
137
|
-
|
|
138
|
-
interfaces - private, public, or both.
|
|
128
|
+
region_id: Region ID
|
|
139
129
|
|
|
140
|
-
|
|
130
|
+
flavor: Cluster flavor ID
|
|
141
131
|
|
|
142
|
-
|
|
132
|
+
image_id: System image ID
|
|
143
133
|
|
|
144
|
-
|
|
145
|
-
the "Admin" user on a Windows instance, a default user or a new user on a Linux
|
|
146
|
-
instance
|
|
134
|
+
name: Cluster name
|
|
147
135
|
|
|
148
|
-
|
|
136
|
+
servers_count: Number of servers in the cluster
|
|
149
137
|
|
|
150
|
-
|
|
151
|
-
[/v1/`ssh_keys` endpoint](/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
|
|
138
|
+
servers_settings: Configuration settings for the servers in the cluster
|
|
152
139
|
|
|
153
140
|
tags: Key-value tags to associate with the resource. A tag is a key-value pair that
|
|
154
141
|
can be associated with a resource, enabling efficient filtering and grouping for
|
|
@@ -156,13 +143,6 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
156
143
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
157
144
|
data to be filtered based on tag keys or values.
|
|
158
145
|
|
|
159
|
-
user_data: String in base64 format. Must not be passed together with 'username' or
|
|
160
|
-
'password'. Examples of the `user_data`:
|
|
161
|
-
https://cloudinit.readthedocs.io/en/latest/topics/examples.html
|
|
162
|
-
|
|
163
|
-
username: A name of a new user in the Linux instance. It may be passed with a 'password'
|
|
164
|
-
parameter
|
|
165
|
-
|
|
166
146
|
extra_headers: Send extra headers
|
|
167
147
|
|
|
168
148
|
extra_query: Add additional query parameters to the request
|
|
@@ -176,20 +156,15 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
176
156
|
if region_id is None:
|
|
177
157
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
178
158
|
return self._post(
|
|
179
|
-
f"/cloud/
|
|
159
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
|
|
180
160
|
body=maybe_transform(
|
|
181
161
|
{
|
|
182
162
|
"flavor": flavor,
|
|
183
163
|
"image_id": image_id,
|
|
184
|
-
"interfaces": interfaces,
|
|
185
164
|
"name": name,
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"security_groups": security_groups,
|
|
189
|
-
"ssh_key_name": ssh_key_name,
|
|
165
|
+
"servers_count": servers_count,
|
|
166
|
+
"servers_settings": servers_settings,
|
|
190
167
|
"tags": tags,
|
|
191
|
-
"user_data": user_data,
|
|
192
|
-
"username": username,
|
|
193
168
|
},
|
|
194
169
|
gpu_baremetal_cluster_create_params.GPUBaremetalClusterCreateParams,
|
|
195
170
|
),
|
|
@@ -199,13 +174,13 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
199
174
|
cast_to=TaskIDList,
|
|
200
175
|
)
|
|
201
176
|
|
|
202
|
-
@typing_extensions.deprecated("deprecated")
|
|
203
177
|
def list(
|
|
204
178
|
self,
|
|
205
179
|
*,
|
|
206
180
|
project_id: int | None = None,
|
|
207
181
|
region_id: int | None = None,
|
|
208
182
|
limit: int | NotGiven = NOT_GIVEN,
|
|
183
|
+
managed_by: List[Literal["k8s", "user"]] | NotGiven = NOT_GIVEN,
|
|
209
184
|
offset: int | NotGiven = NOT_GIVEN,
|
|
210
185
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
211
186
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -215,13 +190,22 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
215
190
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
216
191
|
) -> SyncOffsetPage[GPUBaremetalCluster]:
|
|
217
192
|
"""
|
|
218
|
-
|
|
219
|
-
instead.
|
|
193
|
+
List all bare metal GPU clusters in the specified project and region.
|
|
220
194
|
|
|
221
195
|
Args:
|
|
222
|
-
|
|
196
|
+
project_id: Project ID
|
|
197
|
+
|
|
198
|
+
region_id: Region ID
|
|
199
|
+
|
|
200
|
+
limit: Limit of items on a single page
|
|
201
|
+
|
|
202
|
+
managed_by: Specifies the entity responsible for managing the resource.
|
|
223
203
|
|
|
224
|
-
|
|
204
|
+
- `user`: The resource (cluster) is created and maintained directly by the user.
|
|
205
|
+
- `k8s`: The resource is created and maintained automatically by Managed
|
|
206
|
+
Kubernetes service
|
|
207
|
+
|
|
208
|
+
offset: Offset in results list
|
|
225
209
|
|
|
226
210
|
extra_headers: Send extra headers
|
|
227
211
|
|
|
@@ -236,7 +220,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
236
220
|
if region_id is None:
|
|
237
221
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
238
222
|
return self._get_api_list(
|
|
239
|
-
f"/cloud/
|
|
223
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
|
|
240
224
|
page=SyncOffsetPage[GPUBaremetalCluster],
|
|
241
225
|
options=make_request_options(
|
|
242
226
|
extra_headers=extra_headers,
|
|
@@ -246,6 +230,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
246
230
|
query=maybe_transform(
|
|
247
231
|
{
|
|
248
232
|
"limit": limit,
|
|
233
|
+
"managed_by": managed_by,
|
|
249
234
|
"offset": offset,
|
|
250
235
|
},
|
|
251
236
|
gpu_baremetal_cluster_list_params.GPUBaremetalClusterListParams,
|
|
@@ -260,9 +245,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
260
245
|
*,
|
|
261
246
|
project_id: int | None = None,
|
|
262
247
|
region_id: int | None = None,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
248
|
+
all_floating_ips: bool | NotGiven = NOT_GIVEN,
|
|
249
|
+
all_reserved_fixed_ips: bool | NotGiven = NOT_GIVEN,
|
|
250
|
+
floating_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
251
|
+
reserved_fixed_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
266
252
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
267
253
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
268
254
|
extra_headers: Headers | None = None,
|
|
@@ -271,16 +257,24 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
271
257
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
272
258
|
) -> TaskIDList:
|
|
273
259
|
"""
|
|
274
|
-
Delete bare metal GPU cluster
|
|
260
|
+
Delete a bare metal GPU cluster and all its associated resources.
|
|
275
261
|
|
|
276
262
|
Args:
|
|
277
|
-
|
|
278
|
-
|
|
263
|
+
project_id: Project ID
|
|
264
|
+
|
|
265
|
+
region_id: Region ID
|
|
266
|
+
|
|
267
|
+
cluster_id: Cluster unique identifier
|
|
268
|
+
|
|
269
|
+
all_floating_ips: Flag indicating whether the floating ips associated with server / cluster are
|
|
270
|
+
deleted
|
|
271
|
+
|
|
272
|
+
all_reserved_fixed_ips: Flag indicating whether the reserved fixed ips associated with server / cluster
|
|
273
|
+
are deleted
|
|
279
274
|
|
|
280
|
-
|
|
281
|
-
`delete_floatings`.
|
|
275
|
+
floating_ip_ids: Optional list of floating ips to be deleted
|
|
282
276
|
|
|
283
|
-
|
|
277
|
+
reserved_fixed_ip_ids: Optional list of reserved fixed ips to be deleted
|
|
284
278
|
|
|
285
279
|
extra_headers: Send extra headers
|
|
286
280
|
|
|
@@ -297,7 +291,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
297
291
|
if not cluster_id:
|
|
298
292
|
raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
|
|
299
293
|
return self._delete(
|
|
300
|
-
f"/cloud/
|
|
294
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
|
|
301
295
|
options=make_request_options(
|
|
302
296
|
extra_headers=extra_headers,
|
|
303
297
|
extra_query=extra_query,
|
|
@@ -305,9 +299,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
305
299
|
timeout=timeout,
|
|
306
300
|
query=maybe_transform(
|
|
307
301
|
{
|
|
308
|
-
"
|
|
309
|
-
"
|
|
310
|
-
"
|
|
302
|
+
"all_floating_ips": all_floating_ips,
|
|
303
|
+
"all_reserved_fixed_ips": all_reserved_fixed_ips,
|
|
304
|
+
"floating_ip_ids": floating_ip_ids,
|
|
305
|
+
"reserved_fixed_ip_ids": reserved_fixed_ip_ids,
|
|
311
306
|
},
|
|
312
307
|
gpu_baremetal_cluster_delete_params.GPUBaremetalClusterDeleteParams,
|
|
313
308
|
),
|
|
@@ -315,7 +310,6 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
315
310
|
cast_to=TaskIDList,
|
|
316
311
|
)
|
|
317
312
|
|
|
318
|
-
@typing_extensions.deprecated("deprecated")
|
|
319
313
|
def get(
|
|
320
314
|
self,
|
|
321
315
|
cluster_id: str,
|
|
@@ -330,11 +324,15 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
330
324
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
331
325
|
) -> GPUBaremetalCluster:
|
|
332
326
|
"""
|
|
333
|
-
|
|
334
|
-
`/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}`
|
|
335
|
-
instead.
|
|
327
|
+
Get detailed information about a specific bare metal GPU cluster.
|
|
336
328
|
|
|
337
329
|
Args:
|
|
330
|
+
project_id: Project ID
|
|
331
|
+
|
|
332
|
+
region_id: Region ID
|
|
333
|
+
|
|
334
|
+
cluster_id: Cluster unique identifier
|
|
335
|
+
|
|
338
336
|
extra_headers: Send extra headers
|
|
339
337
|
|
|
340
338
|
extra_query: Add additional query parameters to the request
|
|
@@ -350,7 +348,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
350
348
|
if not cluster_id:
|
|
351
349
|
raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
|
|
352
350
|
return self._get(
|
|
353
|
-
f"/cloud/
|
|
351
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
|
|
354
352
|
options=make_request_options(
|
|
355
353
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
356
354
|
),
|
|
@@ -369,7 +367,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
369
367
|
extra_query: Query | None = None,
|
|
370
368
|
extra_body: Body | None = None,
|
|
371
369
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
372
|
-
) ->
|
|
370
|
+
) -> GPUBaremetalClusterServerV1List:
|
|
373
371
|
"""
|
|
374
372
|
Stops and then starts all cluster servers, effectively performing a hard reboot.
|
|
375
373
|
|
|
@@ -393,7 +391,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
393
391
|
options=make_request_options(
|
|
394
392
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
395
393
|
),
|
|
396
|
-
cast_to=
|
|
394
|
+
cast_to=GPUBaremetalClusterServerV1List,
|
|
397
395
|
)
|
|
398
396
|
|
|
399
397
|
def reboot_all_servers(
|
|
@@ -408,7 +406,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
408
406
|
extra_query: Query | None = None,
|
|
409
407
|
extra_body: Body | None = None,
|
|
410
408
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
411
|
-
) ->
|
|
409
|
+
) -> GPUBaremetalClusterServerV1List:
|
|
412
410
|
"""
|
|
413
411
|
Reboot all bare metal GPU cluster servers
|
|
414
412
|
|
|
@@ -432,7 +430,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
432
430
|
options=make_request_options(
|
|
433
431
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
434
432
|
),
|
|
435
|
-
cast_to=
|
|
433
|
+
cast_to=GPUBaremetalClusterServerV1List,
|
|
436
434
|
)
|
|
437
435
|
|
|
438
436
|
def rebuild(
|
|
@@ -441,7 +439,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
441
439
|
*,
|
|
442
440
|
project_id: int | None = None,
|
|
443
441
|
region_id: int | None = None,
|
|
444
|
-
nodes:
|
|
442
|
+
nodes: SequenceNotStr[str],
|
|
445
443
|
image_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
446
444
|
user_data: Optional[str] | NotGiven = NOT_GIVEN,
|
|
447
445
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -550,10 +548,9 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
550
548
|
region_id: int | None = None,
|
|
551
549
|
flavor: str,
|
|
552
550
|
image_id: str,
|
|
553
|
-
interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
|
|
554
551
|
name: str,
|
|
555
|
-
|
|
556
|
-
|
|
552
|
+
servers_count: int,
|
|
553
|
+
servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
|
|
557
554
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
558
555
|
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
559
556
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -571,10 +568,9 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
571
568
|
region_id=region_id,
|
|
572
569
|
flavor=flavor,
|
|
573
570
|
image_id=image_id,
|
|
574
|
-
interfaces=interfaces,
|
|
575
571
|
name=name,
|
|
576
|
-
|
|
577
|
-
|
|
572
|
+
servers_count=servers_count,
|
|
573
|
+
servers_settings=servers_settings,
|
|
578
574
|
tags=tags,
|
|
579
575
|
extra_headers=extra_headers,
|
|
580
576
|
extra_query=extra_query,
|
|
@@ -593,7 +589,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
593
589
|
if not task.created_resources or not task.created_resources.ai_clusters:
|
|
594
590
|
raise ValueError("No cluster was created")
|
|
595
591
|
cluster_id = task.created_resources.ai_clusters[0]
|
|
596
|
-
return self.get(
|
|
592
|
+
return self.get( # pyright: ignore[reportDeprecated]
|
|
597
593
|
cluster_id=cluster_id,
|
|
598
594
|
project_id=project_id,
|
|
599
595
|
region_id=region_id,
|
|
@@ -644,7 +640,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
644
640
|
extra_body=extra_body,
|
|
645
641
|
polling_interval_seconds=polling_interval_seconds,
|
|
646
642
|
)
|
|
647
|
-
return self.get(
|
|
643
|
+
return self.get( # pyright: ignore[reportDeprecated]
|
|
648
644
|
cluster_id=cluster_id,
|
|
649
645
|
project_id=project_id,
|
|
650
646
|
region_id=region_id,
|
|
@@ -691,7 +687,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
|
|
|
691
687
|
extra_body=extra_body,
|
|
692
688
|
polling_interval_seconds=polling_interval_seconds,
|
|
693
689
|
)
|
|
694
|
-
return self.get(
|
|
690
|
+
return self.get( # pyright: ignore[reportDeprecated]
|
|
695
691
|
cluster_id=cluster_id,
|
|
696
692
|
project_id=project_id,
|
|
697
693
|
region_id=region_id,
|
|
@@ -745,15 +741,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
745
741
|
region_id: int | None = None,
|
|
746
742
|
flavor: str,
|
|
747
743
|
image_id: str,
|
|
748
|
-
interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
|
|
749
744
|
name: str,
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
security_groups: Iterable[gpu_baremetal_cluster_create_params.SecurityGroup] | NotGiven = NOT_GIVEN,
|
|
753
|
-
ssh_key_name: str | NotGiven = NOT_GIVEN,
|
|
745
|
+
servers_count: int,
|
|
746
|
+
servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
|
|
754
747
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
755
|
-
user_data: str | NotGiven = NOT_GIVEN,
|
|
756
|
-
username: str | NotGiven = NOT_GIVEN,
|
|
757
748
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
758
749
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
759
750
|
extra_headers: Headers | None = None,
|
|
@@ -761,31 +752,23 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
761
752
|
extra_body: Body | None = None,
|
|
762
753
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
763
754
|
) -> TaskIDList:
|
|
764
|
-
"""
|
|
765
|
-
|
|
766
|
-
The cluster can be
|
|
767
|
-
created with one or more nodes.
|
|
755
|
+
"""
|
|
756
|
+
Create a new bare metal GPU cluster with the specified configuration.
|
|
768
757
|
|
|
769
758
|
Args:
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
image_id: Image ID
|
|
759
|
+
project_id: Project ID
|
|
773
760
|
|
|
774
|
-
|
|
775
|
-
interfaces - private, public, or both.
|
|
761
|
+
region_id: Region ID
|
|
776
762
|
|
|
777
|
-
|
|
763
|
+
flavor: Cluster flavor ID
|
|
778
764
|
|
|
779
|
-
|
|
765
|
+
image_id: System image ID
|
|
780
766
|
|
|
781
|
-
|
|
782
|
-
the "Admin" user on a Windows instance, a default user or a new user on a Linux
|
|
783
|
-
instance
|
|
767
|
+
name: Cluster name
|
|
784
768
|
|
|
785
|
-
|
|
769
|
+
servers_count: Number of servers in the cluster
|
|
786
770
|
|
|
787
|
-
|
|
788
|
-
[/v1/`ssh_keys` endpoint](/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
|
|
771
|
+
servers_settings: Configuration settings for the servers in the cluster
|
|
789
772
|
|
|
790
773
|
tags: Key-value tags to associate with the resource. A tag is a key-value pair that
|
|
791
774
|
can be associated with a resource, enabling efficient filtering and grouping for
|
|
@@ -793,13 +776,6 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
793
776
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
794
777
|
data to be filtered based on tag keys or values.
|
|
795
778
|
|
|
796
|
-
user_data: String in base64 format. Must not be passed together with 'username' or
|
|
797
|
-
'password'. Examples of the `user_data`:
|
|
798
|
-
https://cloudinit.readthedocs.io/en/latest/topics/examples.html
|
|
799
|
-
|
|
800
|
-
username: A name of a new user in the Linux instance. It may be passed with a 'password'
|
|
801
|
-
parameter
|
|
802
|
-
|
|
803
779
|
extra_headers: Send extra headers
|
|
804
780
|
|
|
805
781
|
extra_query: Add additional query parameters to the request
|
|
@@ -813,20 +789,15 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
813
789
|
if region_id is None:
|
|
814
790
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
815
791
|
return await self._post(
|
|
816
|
-
f"/cloud/
|
|
792
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
|
|
817
793
|
body=await async_maybe_transform(
|
|
818
794
|
{
|
|
819
795
|
"flavor": flavor,
|
|
820
796
|
"image_id": image_id,
|
|
821
|
-
"interfaces": interfaces,
|
|
822
797
|
"name": name,
|
|
823
|
-
"
|
|
824
|
-
"
|
|
825
|
-
"security_groups": security_groups,
|
|
826
|
-
"ssh_key_name": ssh_key_name,
|
|
798
|
+
"servers_count": servers_count,
|
|
799
|
+
"servers_settings": servers_settings,
|
|
827
800
|
"tags": tags,
|
|
828
|
-
"user_data": user_data,
|
|
829
|
-
"username": username,
|
|
830
801
|
},
|
|
831
802
|
gpu_baremetal_cluster_create_params.GPUBaremetalClusterCreateParams,
|
|
832
803
|
),
|
|
@@ -836,13 +807,13 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
836
807
|
cast_to=TaskIDList,
|
|
837
808
|
)
|
|
838
809
|
|
|
839
|
-
@typing_extensions.deprecated("deprecated")
|
|
840
810
|
def list(
|
|
841
811
|
self,
|
|
842
812
|
*,
|
|
843
813
|
project_id: int | None = None,
|
|
844
814
|
region_id: int | None = None,
|
|
845
815
|
limit: int | NotGiven = NOT_GIVEN,
|
|
816
|
+
managed_by: List[Literal["k8s", "user"]] | NotGiven = NOT_GIVEN,
|
|
846
817
|
offset: int | NotGiven = NOT_GIVEN,
|
|
847
818
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
848
819
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -852,13 +823,22 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
852
823
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
853
824
|
) -> AsyncPaginator[GPUBaremetalCluster, AsyncOffsetPage[GPUBaremetalCluster]]:
|
|
854
825
|
"""
|
|
855
|
-
|
|
856
|
-
instead.
|
|
826
|
+
List all bare metal GPU clusters in the specified project and region.
|
|
857
827
|
|
|
858
828
|
Args:
|
|
859
|
-
|
|
829
|
+
project_id: Project ID
|
|
830
|
+
|
|
831
|
+
region_id: Region ID
|
|
832
|
+
|
|
833
|
+
limit: Limit of items on a single page
|
|
834
|
+
|
|
835
|
+
managed_by: Specifies the entity responsible for managing the resource.
|
|
860
836
|
|
|
861
|
-
|
|
837
|
+
- `user`: The resource (cluster) is created and maintained directly by the user.
|
|
838
|
+
- `k8s`: The resource is created and maintained automatically by Managed
|
|
839
|
+
Kubernetes service
|
|
840
|
+
|
|
841
|
+
offset: Offset in results list
|
|
862
842
|
|
|
863
843
|
extra_headers: Send extra headers
|
|
864
844
|
|
|
@@ -873,7 +853,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
873
853
|
if region_id is None:
|
|
874
854
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
875
855
|
return self._get_api_list(
|
|
876
|
-
f"/cloud/
|
|
856
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
|
|
877
857
|
page=AsyncOffsetPage[GPUBaremetalCluster],
|
|
878
858
|
options=make_request_options(
|
|
879
859
|
extra_headers=extra_headers,
|
|
@@ -883,6 +863,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
883
863
|
query=maybe_transform(
|
|
884
864
|
{
|
|
885
865
|
"limit": limit,
|
|
866
|
+
"managed_by": managed_by,
|
|
886
867
|
"offset": offset,
|
|
887
868
|
},
|
|
888
869
|
gpu_baremetal_cluster_list_params.GPUBaremetalClusterListParams,
|
|
@@ -897,9 +878,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
897
878
|
*,
|
|
898
879
|
project_id: int | None = None,
|
|
899
880
|
region_id: int | None = None,
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
881
|
+
all_floating_ips: bool | NotGiven = NOT_GIVEN,
|
|
882
|
+
all_reserved_fixed_ips: bool | NotGiven = NOT_GIVEN,
|
|
883
|
+
floating_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
884
|
+
reserved_fixed_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
903
885
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
904
886
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
905
887
|
extra_headers: Headers | None = None,
|
|
@@ -908,16 +890,24 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
908
890
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
909
891
|
) -> TaskIDList:
|
|
910
892
|
"""
|
|
911
|
-
Delete bare metal GPU cluster
|
|
893
|
+
Delete a bare metal GPU cluster and all its associated resources.
|
|
912
894
|
|
|
913
895
|
Args:
|
|
914
|
-
|
|
915
|
-
|
|
896
|
+
project_id: Project ID
|
|
897
|
+
|
|
898
|
+
region_id: Region ID
|
|
899
|
+
|
|
900
|
+
cluster_id: Cluster unique identifier
|
|
901
|
+
|
|
902
|
+
all_floating_ips: Flag indicating whether the floating ips associated with server / cluster are
|
|
903
|
+
deleted
|
|
904
|
+
|
|
905
|
+
all_reserved_fixed_ips: Flag indicating whether the reserved fixed ips associated with server / cluster
|
|
906
|
+
are deleted
|
|
916
907
|
|
|
917
|
-
|
|
918
|
-
`delete_floatings`.
|
|
908
|
+
floating_ip_ids: Optional list of floating ips to be deleted
|
|
919
909
|
|
|
920
|
-
|
|
910
|
+
reserved_fixed_ip_ids: Optional list of reserved fixed ips to be deleted
|
|
921
911
|
|
|
922
912
|
extra_headers: Send extra headers
|
|
923
913
|
|
|
@@ -934,7 +924,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
934
924
|
if not cluster_id:
|
|
935
925
|
raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
|
|
936
926
|
return await self._delete(
|
|
937
|
-
f"/cloud/
|
|
927
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
|
|
938
928
|
options=make_request_options(
|
|
939
929
|
extra_headers=extra_headers,
|
|
940
930
|
extra_query=extra_query,
|
|
@@ -942,9 +932,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
942
932
|
timeout=timeout,
|
|
943
933
|
query=await async_maybe_transform(
|
|
944
934
|
{
|
|
945
|
-
"
|
|
946
|
-
"
|
|
947
|
-
"
|
|
935
|
+
"all_floating_ips": all_floating_ips,
|
|
936
|
+
"all_reserved_fixed_ips": all_reserved_fixed_ips,
|
|
937
|
+
"floating_ip_ids": floating_ip_ids,
|
|
938
|
+
"reserved_fixed_ip_ids": reserved_fixed_ip_ids,
|
|
948
939
|
},
|
|
949
940
|
gpu_baremetal_cluster_delete_params.GPUBaremetalClusterDeleteParams,
|
|
950
941
|
),
|
|
@@ -952,7 +943,6 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
952
943
|
cast_to=TaskIDList,
|
|
953
944
|
)
|
|
954
945
|
|
|
955
|
-
@typing_extensions.deprecated("deprecated")
|
|
956
946
|
async def get(
|
|
957
947
|
self,
|
|
958
948
|
cluster_id: str,
|
|
@@ -967,11 +957,15 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
967
957
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
968
958
|
) -> GPUBaremetalCluster:
|
|
969
959
|
"""
|
|
970
|
-
|
|
971
|
-
`/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}`
|
|
972
|
-
instead.
|
|
960
|
+
Get detailed information about a specific bare metal GPU cluster.
|
|
973
961
|
|
|
974
962
|
Args:
|
|
963
|
+
project_id: Project ID
|
|
964
|
+
|
|
965
|
+
region_id: Region ID
|
|
966
|
+
|
|
967
|
+
cluster_id: Cluster unique identifier
|
|
968
|
+
|
|
975
969
|
extra_headers: Send extra headers
|
|
976
970
|
|
|
977
971
|
extra_query: Add additional query parameters to the request
|
|
@@ -987,7 +981,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
987
981
|
if not cluster_id:
|
|
988
982
|
raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
|
|
989
983
|
return await self._get(
|
|
990
|
-
f"/cloud/
|
|
984
|
+
f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
|
|
991
985
|
options=make_request_options(
|
|
992
986
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
993
987
|
),
|
|
@@ -1006,7 +1000,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1006
1000
|
extra_query: Query | None = None,
|
|
1007
1001
|
extra_body: Body | None = None,
|
|
1008
1002
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1009
|
-
) ->
|
|
1003
|
+
) -> GPUBaremetalClusterServerV1List:
|
|
1010
1004
|
"""
|
|
1011
1005
|
Stops and then starts all cluster servers, effectively performing a hard reboot.
|
|
1012
1006
|
|
|
@@ -1030,7 +1024,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1030
1024
|
options=make_request_options(
|
|
1031
1025
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1032
1026
|
),
|
|
1033
|
-
cast_to=
|
|
1027
|
+
cast_to=GPUBaremetalClusterServerV1List,
|
|
1034
1028
|
)
|
|
1035
1029
|
|
|
1036
1030
|
async def reboot_all_servers(
|
|
@@ -1045,7 +1039,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1045
1039
|
extra_query: Query | None = None,
|
|
1046
1040
|
extra_body: Body | None = None,
|
|
1047
1041
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1048
|
-
) ->
|
|
1042
|
+
) -> GPUBaremetalClusterServerV1List:
|
|
1049
1043
|
"""
|
|
1050
1044
|
Reboot all bare metal GPU cluster servers
|
|
1051
1045
|
|
|
@@ -1069,7 +1063,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1069
1063
|
options=make_request_options(
|
|
1070
1064
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1071
1065
|
),
|
|
1072
|
-
cast_to=
|
|
1066
|
+
cast_to=GPUBaremetalClusterServerV1List,
|
|
1073
1067
|
)
|
|
1074
1068
|
|
|
1075
1069
|
async def rebuild(
|
|
@@ -1078,7 +1072,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1078
1072
|
*,
|
|
1079
1073
|
project_id: int | None = None,
|
|
1080
1074
|
region_id: int | None = None,
|
|
1081
|
-
nodes:
|
|
1075
|
+
nodes: SequenceNotStr[str],
|
|
1082
1076
|
image_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1083
1077
|
user_data: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1084
1078
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -1187,10 +1181,9 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1187
1181
|
region_id: int | None = None,
|
|
1188
1182
|
flavor: str,
|
|
1189
1183
|
image_id: str,
|
|
1190
|
-
interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
|
|
1191
1184
|
name: str,
|
|
1192
|
-
|
|
1193
|
-
|
|
1185
|
+
servers_count: int,
|
|
1186
|
+
servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
|
|
1194
1187
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
1195
1188
|
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
1196
1189
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -1208,10 +1201,9 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1208
1201
|
region_id=region_id,
|
|
1209
1202
|
flavor=flavor,
|
|
1210
1203
|
image_id=image_id,
|
|
1211
|
-
interfaces=interfaces,
|
|
1212
1204
|
name=name,
|
|
1213
|
-
|
|
1214
|
-
|
|
1205
|
+
servers_count=servers_count,
|
|
1206
|
+
servers_settings=servers_settings,
|
|
1215
1207
|
tags=tags,
|
|
1216
1208
|
extra_headers=extra_headers,
|
|
1217
1209
|
extra_query=extra_query,
|
|
@@ -1230,7 +1222,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1230
1222
|
if not task.created_resources or not task.created_resources.ai_clusters:
|
|
1231
1223
|
raise ValueError("No cluster was created")
|
|
1232
1224
|
cluster_id = task.created_resources.ai_clusters[0]
|
|
1233
|
-
return await self.get(
|
|
1225
|
+
return await self.get( # pyright: ignore[reportDeprecated]
|
|
1234
1226
|
cluster_id=cluster_id,
|
|
1235
1227
|
project_id=project_id,
|
|
1236
1228
|
region_id=region_id,
|
|
@@ -1281,7 +1273,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1281
1273
|
extra_body=extra_body,
|
|
1282
1274
|
polling_interval_seconds=polling_interval_seconds,
|
|
1283
1275
|
)
|
|
1284
|
-
return await self.get(
|
|
1276
|
+
return await self.get( # pyright: ignore[reportDeprecated]
|
|
1285
1277
|
cluster_id=cluster_id,
|
|
1286
1278
|
project_id=project_id,
|
|
1287
1279
|
region_id=region_id,
|
|
@@ -1328,7 +1320,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
|
|
|
1328
1320
|
extra_body=extra_body,
|
|
1329
1321
|
polling_interval_seconds=polling_interval_seconds,
|
|
1330
1322
|
)
|
|
1331
|
-
return await self.get(
|
|
1323
|
+
return await self.get( # pyright: ignore[reportDeprecated]
|
|
1332
1324
|
cluster_id=cluster_id,
|
|
1333
1325
|
project_id=project_id,
|
|
1334
1326
|
region_id=region_id,
|
|
@@ -1346,18 +1338,14 @@ class GPUBaremetalClustersResourceWithRawResponse:
|
|
|
1346
1338
|
self.create = to_raw_response_wrapper(
|
|
1347
1339
|
gpu_baremetal_clusters.create,
|
|
1348
1340
|
)
|
|
1349
|
-
self.list = (
|
|
1350
|
-
|
|
1351
|
-
gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
|
|
1352
|
-
)
|
|
1341
|
+
self.list = to_raw_response_wrapper(
|
|
1342
|
+
gpu_baremetal_clusters.list,
|
|
1353
1343
|
)
|
|
1354
1344
|
self.delete = to_raw_response_wrapper(
|
|
1355
1345
|
gpu_baremetal_clusters.delete,
|
|
1356
1346
|
)
|
|
1357
|
-
self.get = (
|
|
1358
|
-
|
|
1359
|
-
gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
|
|
1360
|
-
)
|
|
1347
|
+
self.get = to_raw_response_wrapper(
|
|
1348
|
+
gpu_baremetal_clusters.get,
|
|
1361
1349
|
)
|
|
1362
1350
|
self.powercycle_all_servers = to_raw_response_wrapper(
|
|
1363
1351
|
gpu_baremetal_clusters.powercycle_all_servers,
|
|
@@ -1396,18 +1384,14 @@ class AsyncGPUBaremetalClustersResourceWithRawResponse:
|
|
|
1396
1384
|
self.create = async_to_raw_response_wrapper(
|
|
1397
1385
|
gpu_baremetal_clusters.create,
|
|
1398
1386
|
)
|
|
1399
|
-
self.list = (
|
|
1400
|
-
|
|
1401
|
-
gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
|
|
1402
|
-
)
|
|
1387
|
+
self.list = async_to_raw_response_wrapper(
|
|
1388
|
+
gpu_baremetal_clusters.list,
|
|
1403
1389
|
)
|
|
1404
1390
|
self.delete = async_to_raw_response_wrapper(
|
|
1405
1391
|
gpu_baremetal_clusters.delete,
|
|
1406
1392
|
)
|
|
1407
|
-
self.get = (
|
|
1408
|
-
|
|
1409
|
-
gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
|
|
1410
|
-
)
|
|
1393
|
+
self.get = async_to_raw_response_wrapper(
|
|
1394
|
+
gpu_baremetal_clusters.get,
|
|
1411
1395
|
)
|
|
1412
1396
|
self.powercycle_all_servers = async_to_raw_response_wrapper(
|
|
1413
1397
|
gpu_baremetal_clusters.powercycle_all_servers,
|
|
@@ -1446,18 +1430,14 @@ class GPUBaremetalClustersResourceWithStreamingResponse:
|
|
|
1446
1430
|
self.create = to_streamed_response_wrapper(
|
|
1447
1431
|
gpu_baremetal_clusters.create,
|
|
1448
1432
|
)
|
|
1449
|
-
self.list = (
|
|
1450
|
-
|
|
1451
|
-
gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
|
|
1452
|
-
)
|
|
1433
|
+
self.list = to_streamed_response_wrapper(
|
|
1434
|
+
gpu_baremetal_clusters.list,
|
|
1453
1435
|
)
|
|
1454
1436
|
self.delete = to_streamed_response_wrapper(
|
|
1455
1437
|
gpu_baremetal_clusters.delete,
|
|
1456
1438
|
)
|
|
1457
|
-
self.get = (
|
|
1458
|
-
|
|
1459
|
-
gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
|
|
1460
|
-
)
|
|
1439
|
+
self.get = to_streamed_response_wrapper(
|
|
1440
|
+
gpu_baremetal_clusters.get,
|
|
1461
1441
|
)
|
|
1462
1442
|
self.powercycle_all_servers = to_streamed_response_wrapper(
|
|
1463
1443
|
gpu_baremetal_clusters.powercycle_all_servers,
|
|
@@ -1496,18 +1476,14 @@ class AsyncGPUBaremetalClustersResourceWithStreamingResponse:
|
|
|
1496
1476
|
self.create = async_to_streamed_response_wrapper(
|
|
1497
1477
|
gpu_baremetal_clusters.create,
|
|
1498
1478
|
)
|
|
1499
|
-
self.list = (
|
|
1500
|
-
|
|
1501
|
-
gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
|
|
1502
|
-
)
|
|
1479
|
+
self.list = async_to_streamed_response_wrapper(
|
|
1480
|
+
gpu_baremetal_clusters.list,
|
|
1503
1481
|
)
|
|
1504
1482
|
self.delete = async_to_streamed_response_wrapper(
|
|
1505
1483
|
gpu_baremetal_clusters.delete,
|
|
1506
1484
|
)
|
|
1507
|
-
self.get = (
|
|
1508
|
-
|
|
1509
|
-
gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
|
|
1510
|
-
)
|
|
1485
|
+
self.get = async_to_streamed_response_wrapper(
|
|
1486
|
+
gpu_baremetal_clusters.get,
|
|
1511
1487
|
)
|
|
1512
1488
|
self.powercycle_all_servers = async_to_streamed_response_wrapper(
|
|
1513
1489
|
gpu_baremetal_clusters.powercycle_all_servers,
|