gcore 0.16.0__py3-none-any.whl → 0.23.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/_client.py +16 -0
- gcore/_models.py +37 -15
- gcore/_streaming.py +12 -12
- gcore/_utils/_sync.py +3 -31
- gcore/_utils/_utils.py +1 -1
- gcore/_version.py +1 -1
- gcore/resources/cdn/audit_log.py +4 -4
- gcore/resources/cdn/cdn.py +120 -21
- gcore/resources/cdn/ip_ranges.py +97 -5
- gcore/resources/cdn/{logs/logs.py → logs.py} +9 -9
- gcore/resources/cdn/resources/resources.py +20 -20
- gcore/resources/cdn/statistics.py +56 -58
- gcore/resources/cloud/__init__.py +40 -12
- gcore/resources/cloud/audit_logs.py +20 -0
- gcore/resources/cloud/baremetal/servers.py +48 -14
- gcore/resources/cloud/billing_reservations.py +2 -2
- gcore/resources/cloud/cloud.py +100 -18
- gcore/resources/cloud/databases/__init__.py +33 -0
- gcore/resources/cloud/databases/databases.py +102 -0
- gcore/resources/cloud/databases/postgres/__init__.py +61 -0
- gcore/resources/cloud/databases/postgres/clusters/__init__.py +33 -0
- gcore/resources/cloud/databases/postgres/clusters/clusters.py +716 -0
- gcore/resources/cloud/databases/postgres/clusters/user_credentials.py +281 -0
- gcore/resources/cloud/databases/postgres/configurations.py +169 -0
- gcore/resources/cloud/databases/postgres/custom_configurations.py +197 -0
- gcore/resources/cloud/databases/postgres/postgres.py +166 -0
- gcore/resources/cloud/file_shares/file_shares.py +154 -49
- gcore/resources/cloud/floating_ips.py +42 -10
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +70 -10
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +40 -6
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +16 -0
- gcore/resources/cloud/gpu_virtual_clusters/__init__.py +89 -0
- gcore/resources/cloud/gpu_virtual_clusters/flavors.py +211 -0
- gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py +1551 -0
- gcore/resources/cloud/gpu_virtual_clusters/images.py +582 -0
- gcore/resources/cloud/gpu_virtual_clusters/interfaces.py +187 -0
- gcore/resources/cloud/gpu_virtual_clusters/servers.py +506 -0
- gcore/resources/cloud/gpu_virtual_clusters/volumes.py +187 -0
- gcore/resources/cloud/inference/deployments/deployments.py +52 -4
- gcore/resources/cloud/instances/images.py +72 -18
- gcore/resources/cloud/instances/instances.py +110 -18
- gcore/resources/cloud/instances/interfaces.py +12 -0
- gcore/resources/cloud/k8s/__init__.py +12 -12
- gcore/resources/cloud/k8s/clusters/clusters.py +25 -25
- gcore/resources/cloud/k8s/clusters/pools/pools.py +14 -14
- gcore/resources/cloud/k8s/k8s.py +24 -24
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +1420 -218
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +134 -22
- gcore/resources/cloud/load_balancers/listeners.py +77 -6
- gcore/resources/cloud/load_balancers/load_balancers.py +92 -14
- gcore/resources/cloud/load_balancers/pools/pools.py +52 -4
- gcore/resources/cloud/networks/networks.py +30 -10
- gcore/resources/cloud/networks/subnets.py +26 -10
- gcore/resources/cloud/placement_groups.py +8 -0
- gcore/resources/cloud/projects.py +99 -119
- gcore/resources/cloud/quotas/requests.py +0 -8
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +18 -0
- gcore/resources/cloud/secrets.py +16 -0
- gcore/resources/cloud/security_groups/security_groups.py +38 -12
- gcore/resources/cloud/ssh_keys.py +10 -0
- gcore/resources/cloud/tasks.py +22 -7
- gcore/resources/cloud/volumes.py +65 -23
- gcore/resources/dns/zones/rrsets.py +10 -10
- gcore/resources/dns/zones/zones.py +2 -2
- gcore/resources/security/bgp_announces.py +0 -4
- gcore/resources/security/profiles.py +31 -7
- gcore/resources/storage/credentials.py +0 -28
- gcore/resources/storage/storage.py +2 -2
- gcore/types/cdn/__init__.py +5 -0
- gcore/types/cdn/alibaba_regions.py +22 -0
- gcore/types/cdn/audit_log_list_params.py +2 -2
- gcore/types/cdn/aws_regions.py +22 -0
- gcore/types/cdn/cdn_list_purge_statuses_response.py +10 -0
- gcore/types/cdn/cdn_resource.py +17 -12
- gcore/types/cdn/ip_range_list_ips_params.py +19 -0
- gcore/types/cdn/ip_range_list_params.py +19 -0
- gcore/types/cdn/resource_create_params.py +17 -12
- gcore/types/cdn/resource_purge_params.py +4 -4
- gcore/types/cdn/resource_replace_params.py +17 -12
- gcore/types/cdn/resource_update_params.py +17 -12
- gcore/types/cdn/resource_usage_stats.py +16 -15
- gcore/types/cdn/resources/cdn_resource_rule.py +15 -10
- gcore/types/cdn/resources/rule_create_params.py +15 -10
- gcore/types/cdn/resources/rule_replace_params.py +15 -10
- gcore/types/cdn/resources/rule_update_params.py +15 -10
- gcore/types/cdn/rule_template.py +15 -10
- gcore/types/cdn/rule_template_create_params.py +15 -10
- gcore/types/cdn/rule_template_replace_params.py +15 -10
- gcore/types/cdn/rule_template_update_params.py +15 -10
- gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +4 -1
- gcore/types/cdn/statistic_get_logs_usage_series_params.py +5 -12
- gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +10 -21
- gcore/types/cdn/statistic_get_resource_usage_series_params.py +6 -1
- gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +5 -2
- gcore/types/cdn/statistic_get_shield_usage_series_params.py +3 -0
- gcore/types/cloud/__init__.py +9 -3
- gcore/types/cloud/audit_log_entry.py +9 -3
- gcore/types/cloud/audit_log_list_params.py +12 -0
- gcore/types/cloud/baremetal/server_create_params.py +7 -7
- gcore/types/cloud/baremetal_flavor.py +0 -6
- gcore/types/cloud/billing_reservation_list_params.py +1 -1
- gcore/types/cloud/blackhole_port.py +4 -1
- gcore/types/cloud/databases/postgres/__init__.py +12 -0
- gcore/types/cloud/databases/postgres/cluster_create_params.py +108 -0
- gcore/types/cloud/databases/postgres/cluster_list_params.py +19 -0
- gcore/types/cloud/databases/postgres/cluster_update_params.py +102 -0
- gcore/types/cloud/databases/postgres/clusters/__init__.py +5 -0
- gcore/types/cloud/databases/postgres/clusters/postgres_user_credentials.py +13 -0
- gcore/types/cloud/databases/postgres/custom_configuration_validate_params.py +19 -0
- gcore/types/cloud/databases/postgres/pg_conf_validation.py +15 -0
- gcore/types/cloud/databases/postgres/postgres_cluster.py +118 -0
- gcore/types/cloud/databases/postgres/postgres_cluster_short.py +22 -0
- gcore/types/cloud/databases/postgres/postgres_configuration.py +31 -0
- gcore/types/cloud/file_share_create_params.py +8 -8
- gcore/types/cloud/file_share_update_params.py +7 -2
- gcore/types/cloud/floating_ip.py +5 -1
- gcore/types/cloud/floating_ip_create_params.py +4 -4
- gcore/types/cloud/floating_ip_detailed.py +5 -1
- gcore/types/cloud/floating_ip_list_params.py +8 -0
- gcore/types/cloud/floating_ip_update_params.py +7 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +18 -3
- gcore/types/cloud/gpu_baremetal_cluster_action_params.py +7 -2
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +16 -4
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +5 -2
- gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +4 -4
- gcore/types/cloud/gpu_image.py +9 -0
- gcore/types/cloud/gpu_virtual_cluster.py +189 -0
- gcore/types/cloud/gpu_virtual_cluster_action_params.py +127 -0
- gcore/types/cloud/gpu_virtual_cluster_create_params.py +213 -0
- gcore/types/cloud/gpu_virtual_cluster_delete_params.py +41 -0
- gcore/types/cloud/gpu_virtual_cluster_list_params.py +21 -0
- gcore/types/cloud/gpu_virtual_cluster_update_params.py +18 -0
- gcore/types/cloud/gpu_virtual_clusters/__init__.py +16 -0
- gcore/types/cloud/gpu_virtual_clusters/flavor_list_params.py +21 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_server.py +77 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_server_list.py +16 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_volume.py +64 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_volume_list.py +16 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_flavor.py +155 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_flavor_list.py +16 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_interface.py +190 -0
- gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_interface_list.py +16 -0
- gcore/types/cloud/gpu_virtual_clusters/image_upload_params.py +56 -0
- gcore/types/cloud/gpu_virtual_clusters/server_delete_params.py +44 -0
- gcore/types/cloud/gpu_virtual_clusters/server_list_params.py +75 -0
- gcore/types/cloud/image.py +9 -0
- gcore/types/cloud/inference/deployment_create_params.py +1 -1
- gcore/types/cloud/inference/deployment_update_params.py +1 -1
- gcore/types/cloud/inference/inference_deployment.py +1 -1
- gcore/types/cloud/instance_create_params.py +27 -27
- gcore/types/cloud/instance_update_params.py +7 -2
- gcore/types/cloud/instances/image_create_from_volume_params.py +4 -4
- gcore/types/cloud/instances/image_update_params.py +4 -4
- gcore/types/cloud/instances/image_upload_params.py +4 -4
- gcore/types/cloud/k8s/__init__.py +4 -4
- gcore/types/cloud/k8s/cluster_update_params.py +5 -5
- gcore/types/cloud/k8s/clusters/__init__.py +2 -2
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +2 -2
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +4 -4
- gcore/types/cloud/k8s/k8s_cluster.py +4 -4
- gcore/types/cloud/k8s/k8s_cluster_certificate.py +2 -2
- gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +14 -2
- gcore/types/cloud/k8s/k8s_cluster_list.py +4 -4
- gcore/types/cloud/k8s_cluster_version.py +2 -2
- gcore/types/cloud/k8s_cluster_version_list.py +4 -4
- gcore/types/cloud/load_balancer_create_params.py +14 -8
- gcore/types/cloud/load_balancer_flavor_detail.py +2 -2
- gcore/types/cloud/load_balancer_l7_policy.py +29 -16
- gcore/types/cloud/load_balancer_l7_policy_list.py +3 -3
- gcore/types/cloud/load_balancer_l7_rule.py +14 -23
- gcore/types/cloud/load_balancer_l7_rule_list.py +3 -3
- gcore/types/cloud/load_balancer_listener_detail.py +2 -2
- gcore/types/cloud/load_balancer_update_params.py +7 -2
- gcore/types/cloud/load_balancers/__init__.py +1 -0
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +5 -10
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +7 -11
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +102 -18
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +94 -16
- gcore/types/cloud/load_balancers/listener_create_params.py +4 -1
- gcore/types/cloud/load_balancers/listener_delete_params.py +18 -0
- gcore/types/cloud/load_balancers/listener_update_params.py +4 -1
- gcore/types/cloud/load_balancers/pool_create_params.py +1 -1
- gcore/types/cloud/network_create_params.py +4 -4
- gcore/types/cloud/network_update_params.py +7 -2
- gcore/types/cloud/networks/subnet_create_params.py +4 -4
- gcore/types/cloud/networks/subnet_update_params.py +7 -2
- gcore/types/cloud/project_create_params.py +0 -6
- gcore/types/cloud/{project_replace_params.py → project_update_params.py} +2 -2
- gcore/types/cloud/quotas/request_create_params.py +0 -3
- gcore/types/cloud/region.py +3 -3
- gcore/types/cloud/security_group.py +8 -1
- gcore/types/cloud/security_group_create_params.py +7 -5
- gcore/types/cloud/security_group_list_params.py +6 -4
- gcore/types/cloud/security_group_update_params.py +7 -2
- gcore/types/cloud/ssh_key_list_params.py +7 -0
- gcore/types/cloud/tag.py +2 -2
- gcore/types/cloud/task_id_list.py +3 -3
- gcore/types/cloud/volume_create_params.py +12 -12
- gcore/types/cloud/volume_update_params.py +7 -2
- gcore/types/dns/zone_list_params.py +1 -1
- gcore/types/iam/api_token_create.py +70 -1
- gcore/types/security/bgp_announce_list_params.py +0 -2
- gcore/types/security/client_profile.py +1 -0
- gcore/types/security/profile_create_params.py +4 -2
- gcore/types/security/profile_recreate_params.py +4 -2
- gcore/types/security/profile_replace_params.py +4 -2
- gcore/types/storage/credential_recreate_params.py +0 -17
- gcore/types/storage/storage.py +1 -1
- gcore/types/storage/storage_create_params.py +1 -1
- gcore/types/streaming/stream.py +3 -2
- gcore/types/streaming/video.py +1 -1
- gcore/types/waap/domains/custom_rule_create_params.py +1 -1
- gcore/types/waap/domains/custom_rule_update_params.py +1 -1
- gcore/types/waap/domains/waap_custom_rule.py +1 -1
- {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/METADATA +14 -14
- {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/RECORD +219 -168
- gcore/resources/cdn/logs/__init__.py +0 -19
- /gcore/types/{cdn/logs → cloud/databases}/__init__.py +0 -0
- {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/WHEEL +0 -0
- {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Union, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal, Annotated, TypeAlias
|
|
6
|
+
|
|
7
|
+
from .tag import Tag
|
|
8
|
+
from ..._utils import PropertyInfo
|
|
9
|
+
from ..._models import BaseModel
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"GPUVirtualCluster",
|
|
13
|
+
"ServersSettings",
|
|
14
|
+
"ServersSettingsFileShare",
|
|
15
|
+
"ServersSettingsInterface",
|
|
16
|
+
"ServersSettingsInterfaceExternalInterfaceOutputSerializer",
|
|
17
|
+
"ServersSettingsInterfaceSubnetInterfaceOutputSerializer",
|
|
18
|
+
"ServersSettingsInterfaceSubnetInterfaceOutputSerializerFloatingIP",
|
|
19
|
+
"ServersSettingsInterfaceAnySubnetInterfaceOutputSerializer",
|
|
20
|
+
"ServersSettingsInterfaceAnySubnetInterfaceOutputSerializerFloatingIP",
|
|
21
|
+
"ServersSettingsSecurityGroup",
|
|
22
|
+
"ServersSettingsVolume",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ServersSettingsFileShare(BaseModel):
|
|
27
|
+
id: str
|
|
28
|
+
"""Unique identifier of the file share in UUID format."""
|
|
29
|
+
|
|
30
|
+
mount_path: str
|
|
31
|
+
"""Absolute mount path inside the system where the file share will be mounted."""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ServersSettingsInterfaceExternalInterfaceOutputSerializer(BaseModel):
|
|
35
|
+
ip_family: Literal["dual", "ipv4", "ipv6"]
|
|
36
|
+
"""Which subnets should be selected: IPv4, IPv6, or use dual stack."""
|
|
37
|
+
|
|
38
|
+
name: Optional[str] = None
|
|
39
|
+
"""Interface name"""
|
|
40
|
+
|
|
41
|
+
type: Literal["external"]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class ServersSettingsInterfaceSubnetInterfaceOutputSerializerFloatingIP(BaseModel):
|
|
45
|
+
source: Literal["new"]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class ServersSettingsInterfaceSubnetInterfaceOutputSerializer(BaseModel):
|
|
49
|
+
floating_ip: Optional[ServersSettingsInterfaceSubnetInterfaceOutputSerializerFloatingIP] = None
|
|
50
|
+
"""Floating IP config for this subnet attachment"""
|
|
51
|
+
|
|
52
|
+
name: Optional[str] = None
|
|
53
|
+
"""Interface name"""
|
|
54
|
+
|
|
55
|
+
network_id: str
|
|
56
|
+
"""Network ID the subnet belongs to. Port will be plugged in this network"""
|
|
57
|
+
|
|
58
|
+
subnet_id: str
|
|
59
|
+
"""Port is assigned an IP address from this subnet"""
|
|
60
|
+
|
|
61
|
+
type: Literal["subnet"]
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class ServersSettingsInterfaceAnySubnetInterfaceOutputSerializerFloatingIP(BaseModel):
|
|
65
|
+
source: Literal["new"]
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class ServersSettingsInterfaceAnySubnetInterfaceOutputSerializer(BaseModel):
|
|
69
|
+
floating_ip: Optional[ServersSettingsInterfaceAnySubnetInterfaceOutputSerializerFloatingIP] = None
|
|
70
|
+
"""Floating IP config for this subnet attachment"""
|
|
71
|
+
|
|
72
|
+
ip_address: Optional[str] = None
|
|
73
|
+
"""Fixed IP address"""
|
|
74
|
+
|
|
75
|
+
ip_family: Literal["dual", "ipv4", "ipv6"]
|
|
76
|
+
"""Which subnets should be selected: IPv4, IPv6, or use dual stack"""
|
|
77
|
+
|
|
78
|
+
name: Optional[str] = None
|
|
79
|
+
"""Interface name"""
|
|
80
|
+
|
|
81
|
+
network_id: str
|
|
82
|
+
"""Network ID the subnet belongs to. Port will be plugged in this network"""
|
|
83
|
+
|
|
84
|
+
type: Literal["any_subnet"]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
ServersSettingsInterface: TypeAlias = Annotated[
|
|
88
|
+
Union[
|
|
89
|
+
ServersSettingsInterfaceExternalInterfaceOutputSerializer,
|
|
90
|
+
ServersSettingsInterfaceSubnetInterfaceOutputSerializer,
|
|
91
|
+
ServersSettingsInterfaceAnySubnetInterfaceOutputSerializer,
|
|
92
|
+
],
|
|
93
|
+
PropertyInfo(discriminator="type"),
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class ServersSettingsSecurityGroup(BaseModel):
|
|
98
|
+
id: str
|
|
99
|
+
"""Security group ID"""
|
|
100
|
+
|
|
101
|
+
name: str
|
|
102
|
+
"""Security group name"""
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class ServersSettingsVolume(BaseModel):
|
|
106
|
+
boot_index: Optional[int] = None
|
|
107
|
+
"""Boot index of the volume"""
|
|
108
|
+
|
|
109
|
+
delete_on_termination: bool
|
|
110
|
+
"""Flag indicating whether the volume is deleted on instance termination"""
|
|
111
|
+
|
|
112
|
+
image_id: Optional[str] = None
|
|
113
|
+
"""Image ID for the volume"""
|
|
114
|
+
|
|
115
|
+
name: str
|
|
116
|
+
"""Volume name"""
|
|
117
|
+
|
|
118
|
+
size: int
|
|
119
|
+
"""Volume size in GiB"""
|
|
120
|
+
|
|
121
|
+
tags: List[Tag]
|
|
122
|
+
"""List of key-value tags associated with the resource.
|
|
123
|
+
|
|
124
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
125
|
+
efficient filtering and grouping for better organization and management. Some
|
|
126
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
127
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
128
|
+
values.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
type: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
|
|
132
|
+
"""Volume type"""
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class ServersSettings(BaseModel):
|
|
136
|
+
file_shares: List[ServersSettingsFileShare]
|
|
137
|
+
"""List of file shares mounted across the cluster."""
|
|
138
|
+
|
|
139
|
+
interfaces: List[ServersSettingsInterface]
|
|
140
|
+
|
|
141
|
+
security_groups: List[ServersSettingsSecurityGroup]
|
|
142
|
+
"""Security groups"""
|
|
143
|
+
|
|
144
|
+
ssh_key_name: Optional[str] = None
|
|
145
|
+
"""SSH key name"""
|
|
146
|
+
|
|
147
|
+
user_data: Optional[str] = None
|
|
148
|
+
"""Optional custom user data"""
|
|
149
|
+
|
|
150
|
+
volumes: List[ServersSettingsVolume]
|
|
151
|
+
"""List of volumes"""
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class GPUVirtualCluster(BaseModel):
|
|
155
|
+
id: str
|
|
156
|
+
"""Cluster unique identifier"""
|
|
157
|
+
|
|
158
|
+
created_at: datetime
|
|
159
|
+
"""Cluster creation date time"""
|
|
160
|
+
|
|
161
|
+
flavor: str
|
|
162
|
+
"""Cluster flavor name"""
|
|
163
|
+
|
|
164
|
+
name: str
|
|
165
|
+
"""Cluster name"""
|
|
166
|
+
|
|
167
|
+
servers_count: int
|
|
168
|
+
"""Cluster servers count"""
|
|
169
|
+
|
|
170
|
+
servers_ids: List[str]
|
|
171
|
+
"""List of cluster nodes"""
|
|
172
|
+
|
|
173
|
+
servers_settings: ServersSettings
|
|
174
|
+
|
|
175
|
+
status: Literal["active", "deleting", "error", "new", "resizing"]
|
|
176
|
+
"""Cluster status"""
|
|
177
|
+
|
|
178
|
+
tags: List[Tag]
|
|
179
|
+
"""List of key-value tags associated with the resource.
|
|
180
|
+
|
|
181
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
182
|
+
efficient filtering and grouping for better organization and management. Some
|
|
183
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
184
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
185
|
+
values.
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
updated_at: Optional[datetime] = None
|
|
189
|
+
"""Cluster update date time"""
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
from .tag_update_map_param import TagUpdateMapParam
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"GPUVirtualClusterActionParams",
|
|
12
|
+
"StartVirtualGPUClusterSerializer",
|
|
13
|
+
"StopVirtualGPUClusterSerializer",
|
|
14
|
+
"SoftRebootVirtualGPUClusterSerializer",
|
|
15
|
+
"HardRebootVirtualGPUClusterSerializer",
|
|
16
|
+
"UpdateTagsGPUClusterSerializer",
|
|
17
|
+
"ResizeVirtualGPUClusterSerializer",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class StartVirtualGPUClusterSerializer(TypedDict, total=False):
|
|
22
|
+
project_id: int
|
|
23
|
+
"""Project ID"""
|
|
24
|
+
|
|
25
|
+
region_id: int
|
|
26
|
+
"""Region ID"""
|
|
27
|
+
|
|
28
|
+
action: Required[Literal["start"]]
|
|
29
|
+
"""Action name"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class StopVirtualGPUClusterSerializer(TypedDict, total=False):
|
|
33
|
+
project_id: int
|
|
34
|
+
"""Project ID"""
|
|
35
|
+
|
|
36
|
+
region_id: int
|
|
37
|
+
"""Region ID"""
|
|
38
|
+
|
|
39
|
+
action: Required[Literal["stop"]]
|
|
40
|
+
"""Action name"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class SoftRebootVirtualGPUClusterSerializer(TypedDict, total=False):
|
|
44
|
+
project_id: int
|
|
45
|
+
"""Project ID"""
|
|
46
|
+
|
|
47
|
+
region_id: int
|
|
48
|
+
"""Region ID"""
|
|
49
|
+
|
|
50
|
+
action: Required[Literal["soft_reboot"]]
|
|
51
|
+
"""Action name"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class HardRebootVirtualGPUClusterSerializer(TypedDict, total=False):
|
|
55
|
+
project_id: int
|
|
56
|
+
"""Project ID"""
|
|
57
|
+
|
|
58
|
+
region_id: int
|
|
59
|
+
"""Region ID"""
|
|
60
|
+
|
|
61
|
+
action: Required[Literal["hard_reboot"]]
|
|
62
|
+
"""Action name"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class UpdateTagsGPUClusterSerializer(TypedDict, total=False):
|
|
66
|
+
project_id: int
|
|
67
|
+
"""Project ID"""
|
|
68
|
+
|
|
69
|
+
region_id: int
|
|
70
|
+
"""Region ID"""
|
|
71
|
+
|
|
72
|
+
action: Required[Literal["update_tags"]]
|
|
73
|
+
"""Action name"""
|
|
74
|
+
|
|
75
|
+
tags: Required[Optional[TagUpdateMapParam]]
|
|
76
|
+
"""Update key-value tags using JSON Merge Patch semantics (RFC 7386).
|
|
77
|
+
|
|
78
|
+
Provide key-value pairs to add or update tags. Set tag values to `null` to
|
|
79
|
+
remove tags. Unspecified tags remain unchanged. Read-only tags are always
|
|
80
|
+
preserved and cannot be modified.
|
|
81
|
+
|
|
82
|
+
**Examples:**
|
|
83
|
+
|
|
84
|
+
- **Add/update tags:**
|
|
85
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
86
|
+
updates existing ones.
|
|
87
|
+
|
|
88
|
+
- **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
|
|
89
|
+
|
|
90
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
91
|
+
tags are preserved).
|
|
92
|
+
|
|
93
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
94
|
+
specified tags.
|
|
95
|
+
|
|
96
|
+
- **Mixed operations:**
|
|
97
|
+
`{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
|
|
98
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
99
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
100
|
+
|
|
101
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
102
|
+
ones in the same request.
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class ResizeVirtualGPUClusterSerializer(TypedDict, total=False):
|
|
107
|
+
project_id: int
|
|
108
|
+
"""Project ID"""
|
|
109
|
+
|
|
110
|
+
region_id: int
|
|
111
|
+
"""Region ID"""
|
|
112
|
+
|
|
113
|
+
action: Required[Literal["resize"]]
|
|
114
|
+
"""Action name"""
|
|
115
|
+
|
|
116
|
+
servers_count: Required[int]
|
|
117
|
+
"""Requested servers count"""
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
GPUVirtualClusterActionParams: TypeAlias = Union[
|
|
121
|
+
StartVirtualGPUClusterSerializer,
|
|
122
|
+
StopVirtualGPUClusterSerializer,
|
|
123
|
+
SoftRebootVirtualGPUClusterSerializer,
|
|
124
|
+
HardRebootVirtualGPUClusterSerializer,
|
|
125
|
+
UpdateTagsGPUClusterSerializer,
|
|
126
|
+
ResizeVirtualGPUClusterSerializer,
|
|
127
|
+
]
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict, Union, Iterable
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"GPUVirtualClusterCreateParams",
|
|
10
|
+
"ServersSettings",
|
|
11
|
+
"ServersSettingsInterface",
|
|
12
|
+
"ServersSettingsInterfaceExternalInterfaceInputSerializer",
|
|
13
|
+
"ServersSettingsInterfaceSubnetInterfaceInputSerializer",
|
|
14
|
+
"ServersSettingsInterfaceSubnetInterfaceInputSerializerFloatingIP",
|
|
15
|
+
"ServersSettingsInterfaceAnySubnetInterfaceInputSerializer",
|
|
16
|
+
"ServersSettingsInterfaceAnySubnetInterfaceInputSerializerFloatingIP",
|
|
17
|
+
"ServersSettingsVolume",
|
|
18
|
+
"ServersSettingsVolumeNewVolumeInputSerializer",
|
|
19
|
+
"ServersSettingsVolumeImageVolumeInputSerializer",
|
|
20
|
+
"ServersSettingsCredentials",
|
|
21
|
+
"ServersSettingsFileShare",
|
|
22
|
+
"ServersSettingsSecurityGroup",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class GPUVirtualClusterCreateParams(TypedDict, total=False):
|
|
27
|
+
project_id: int
|
|
28
|
+
"""Project ID"""
|
|
29
|
+
|
|
30
|
+
region_id: int
|
|
31
|
+
"""Region ID"""
|
|
32
|
+
|
|
33
|
+
flavor: Required[str]
|
|
34
|
+
"""Cluster flavor ID"""
|
|
35
|
+
|
|
36
|
+
name: Required[str]
|
|
37
|
+
"""Cluster name"""
|
|
38
|
+
|
|
39
|
+
servers_count: Required[int]
|
|
40
|
+
"""Number of servers in the cluster"""
|
|
41
|
+
|
|
42
|
+
servers_settings: Required[ServersSettings]
|
|
43
|
+
"""Configuration settings for the servers in the cluster"""
|
|
44
|
+
|
|
45
|
+
tags: Dict[str, str]
|
|
46
|
+
"""Key-value tags to associate with the resource.
|
|
47
|
+
|
|
48
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
49
|
+
efficient filtering and grouping for better organization and management. Both
|
|
50
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
51
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
52
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class ServersSettingsInterfaceExternalInterfaceInputSerializer(TypedDict, total=False):
|
|
57
|
+
type: Required[Literal["external"]]
|
|
58
|
+
|
|
59
|
+
ip_family: Literal["dual", "ipv4", "ipv6"]
|
|
60
|
+
"""Which subnets should be selected: IPv4, IPv6, or use dual stack."""
|
|
61
|
+
|
|
62
|
+
name: str
|
|
63
|
+
"""Interface name"""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class ServersSettingsInterfaceSubnetInterfaceInputSerializerFloatingIP(TypedDict, total=False):
|
|
67
|
+
source: Required[Literal["new"]]
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class ServersSettingsInterfaceSubnetInterfaceInputSerializer(TypedDict, total=False):
|
|
71
|
+
network_id: Required[str]
|
|
72
|
+
"""Network ID the subnet belongs to. Port will be plugged in this network"""
|
|
73
|
+
|
|
74
|
+
subnet_id: Required[str]
|
|
75
|
+
"""Port is assigned an IP address from this subnet"""
|
|
76
|
+
|
|
77
|
+
type: Required[Literal["subnet"]]
|
|
78
|
+
|
|
79
|
+
floating_ip: ServersSettingsInterfaceSubnetInterfaceInputSerializerFloatingIP
|
|
80
|
+
"""Floating IP config for this subnet attachment"""
|
|
81
|
+
|
|
82
|
+
name: str
|
|
83
|
+
"""Interface name"""
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class ServersSettingsInterfaceAnySubnetInterfaceInputSerializerFloatingIP(TypedDict, total=False):
|
|
87
|
+
source: Required[Literal["new"]]
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class ServersSettingsInterfaceAnySubnetInterfaceInputSerializer(TypedDict, total=False):
|
|
91
|
+
network_id: Required[str]
|
|
92
|
+
"""Network ID the subnet belongs to. Port will be plugged in this network"""
|
|
93
|
+
|
|
94
|
+
type: Required[Literal["any_subnet"]]
|
|
95
|
+
|
|
96
|
+
floating_ip: ServersSettingsInterfaceAnySubnetInterfaceInputSerializerFloatingIP
|
|
97
|
+
"""Floating IP config for this subnet attachment"""
|
|
98
|
+
|
|
99
|
+
ip_family: Literal["dual", "ipv4", "ipv6"]
|
|
100
|
+
"""Which subnets should be selected: IPv4, IPv6, or use dual stack"""
|
|
101
|
+
|
|
102
|
+
name: str
|
|
103
|
+
"""Interface name"""
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
ServersSettingsInterface: TypeAlias = Union[
|
|
107
|
+
ServersSettingsInterfaceExternalInterfaceInputSerializer,
|
|
108
|
+
ServersSettingsInterfaceSubnetInterfaceInputSerializer,
|
|
109
|
+
ServersSettingsInterfaceAnySubnetInterfaceInputSerializer,
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class ServersSettingsVolumeNewVolumeInputSerializer(TypedDict, total=False):
|
|
114
|
+
boot_index: Required[int]
|
|
115
|
+
"""Boot index of the volume"""
|
|
116
|
+
|
|
117
|
+
name: Required[str]
|
|
118
|
+
"""Volume name"""
|
|
119
|
+
|
|
120
|
+
size: Required[int]
|
|
121
|
+
"""Volume size in GiB"""
|
|
122
|
+
|
|
123
|
+
source: Required[Literal["new"]]
|
|
124
|
+
|
|
125
|
+
type: Required[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
|
|
126
|
+
"""Volume type"""
|
|
127
|
+
|
|
128
|
+
delete_on_termination: bool
|
|
129
|
+
"""Flag indicating whether the volume is deleted on instance termination"""
|
|
130
|
+
|
|
131
|
+
tags: Dict[str, str]
|
|
132
|
+
"""Tags associated with the volume"""
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class ServersSettingsVolumeImageVolumeInputSerializer(TypedDict, total=False):
|
|
136
|
+
boot_index: Required[int]
|
|
137
|
+
"""Boot index of the volume"""
|
|
138
|
+
|
|
139
|
+
image_id: Required[str]
|
|
140
|
+
"""Image ID for the volume"""
|
|
141
|
+
|
|
142
|
+
name: Required[str]
|
|
143
|
+
"""Volume name"""
|
|
144
|
+
|
|
145
|
+
size: Required[int]
|
|
146
|
+
"""Volume size in GiB"""
|
|
147
|
+
|
|
148
|
+
source: Required[Literal["image"]]
|
|
149
|
+
|
|
150
|
+
type: Required[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
|
|
151
|
+
"""Volume type"""
|
|
152
|
+
|
|
153
|
+
delete_on_termination: bool
|
|
154
|
+
"""Flag indicating whether the volume is deleted on instance termination"""
|
|
155
|
+
|
|
156
|
+
tags: Dict[str, str]
|
|
157
|
+
"""Tags associated with the volume"""
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
ServersSettingsVolume: TypeAlias = Union[
|
|
161
|
+
ServersSettingsVolumeNewVolumeInputSerializer, ServersSettingsVolumeImageVolumeInputSerializer
|
|
162
|
+
]
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class ServersSettingsCredentials(TypedDict, total=False):
|
|
166
|
+
password: str
|
|
167
|
+
"""Used to set the password for the specified 'username' on Linux instances.
|
|
168
|
+
|
|
169
|
+
If 'username' is not provided, the password is applied to the default user of
|
|
170
|
+
the image. Mutually exclusive with '`user_data`' - only one can be specified.
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
ssh_key_name: str
|
|
174
|
+
"""
|
|
175
|
+
Specifies the name of the SSH keypair, created via the
|
|
176
|
+
[/v1/`ssh_keys` endpoint](/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
|
|
177
|
+
"""
|
|
178
|
+
|
|
179
|
+
username: str
|
|
180
|
+
"""The 'username' and 'password' fields create a new user on the system"""
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
class ServersSettingsFileShare(TypedDict, total=False):
|
|
184
|
+
id: Required[str]
|
|
185
|
+
"""Unique identifier of the file share in UUID format."""
|
|
186
|
+
|
|
187
|
+
mount_path: Required[str]
|
|
188
|
+
"""Absolute mount path inside the system where the file share will be mounted."""
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class ServersSettingsSecurityGroup(TypedDict, total=False):
|
|
192
|
+
id: Required[str]
|
|
193
|
+
"""Resource ID"""
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class ServersSettings(TypedDict, total=False):
|
|
197
|
+
interfaces: Required[Iterable[ServersSettingsInterface]]
|
|
198
|
+
"""Subnet IPs and floating IPs"""
|
|
199
|
+
|
|
200
|
+
volumes: Required[Iterable[ServersSettingsVolume]]
|
|
201
|
+
"""List of volumes"""
|
|
202
|
+
|
|
203
|
+
credentials: ServersSettingsCredentials
|
|
204
|
+
"""Optional server access credentials"""
|
|
205
|
+
|
|
206
|
+
file_shares: Iterable[ServersSettingsFileShare]
|
|
207
|
+
"""List of file shares to be mounted across the cluster."""
|
|
208
|
+
|
|
209
|
+
security_groups: Iterable[ServersSettingsSecurityGroup]
|
|
210
|
+
"""List of security groups UUIDs"""
|
|
211
|
+
|
|
212
|
+
user_data: str
|
|
213
|
+
"""Optional custom user data (Base64-encoded)"""
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
from ..._types import SequenceNotStr
|
|
8
|
+
|
|
9
|
+
__all__ = ["GPUVirtualClusterDeleteParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class GPUVirtualClusterDeleteParams(TypedDict, total=False):
|
|
13
|
+
project_id: int
|
|
14
|
+
"""Project ID"""
|
|
15
|
+
|
|
16
|
+
region_id: int
|
|
17
|
+
"""Region ID"""
|
|
18
|
+
|
|
19
|
+
all_floating_ips: bool
|
|
20
|
+
"""
|
|
21
|
+
Flag indicating whether the floating ips associated with server / cluster are
|
|
22
|
+
deleted
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
all_reserved_fixed_ips: bool
|
|
26
|
+
"""
|
|
27
|
+
Flag indicating whether the reserved fixed ips associated with server / cluster
|
|
28
|
+
are deleted
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
all_volumes: bool
|
|
32
|
+
"""Flag indicating whether all attached volumes are deleted"""
|
|
33
|
+
|
|
34
|
+
floating_ip_ids: SequenceNotStr[str]
|
|
35
|
+
"""Optional list of floating ips to be deleted"""
|
|
36
|
+
|
|
37
|
+
reserved_fixed_ip_ids: SequenceNotStr[str]
|
|
38
|
+
"""Optional list of reserved fixed ips to be deleted"""
|
|
39
|
+
|
|
40
|
+
volume_ids: SequenceNotStr[str]
|
|
41
|
+
"""Optional list of volumes to be deleted"""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["GPUVirtualClusterListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class GPUVirtualClusterListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
"""Region ID"""
|
|
16
|
+
|
|
17
|
+
limit: int
|
|
18
|
+
"""Limit of items on a single page"""
|
|
19
|
+
|
|
20
|
+
offset: int
|
|
21
|
+
"""Offset in results list"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["GPUVirtualClusterUpdateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class GPUVirtualClusterUpdateParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
"""Region ID"""
|
|
16
|
+
|
|
17
|
+
name: Required[str]
|
|
18
|
+
"""Cluster name"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .flavor_list_params import FlavorListParams as FlavorListParams
|
|
6
|
+
from .gpu_virtual_flavor import GPUVirtualFlavor as GPUVirtualFlavor
|
|
7
|
+
from .server_list_params import ServerListParams as ServerListParams
|
|
8
|
+
from .image_upload_params import ImageUploadParams as ImageUploadParams
|
|
9
|
+
from .server_delete_params import ServerDeleteParams as ServerDeleteParams
|
|
10
|
+
from .gpu_virtual_interface import GPUVirtualInterface as GPUVirtualInterface
|
|
11
|
+
from .gpu_virtual_flavor_list import GPUVirtualFlavorList as GPUVirtualFlavorList
|
|
12
|
+
from .gpu_virtual_cluster_server import GPUVirtualClusterServer as GPUVirtualClusterServer
|
|
13
|
+
from .gpu_virtual_cluster_volume import GPUVirtualClusterVolume as GPUVirtualClusterVolume
|
|
14
|
+
from .gpu_virtual_interface_list import GPUVirtualInterfaceList as GPUVirtualInterfaceList
|
|
15
|
+
from .gpu_virtual_cluster_server_list import GPUVirtualClusterServerList as GPUVirtualClusterServerList
|
|
16
|
+
from .gpu_virtual_cluster_volume_list import GPUVirtualClusterVolumeList as GPUVirtualClusterVolumeList
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["FlavorListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FlavorListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
"""Region ID"""
|
|
16
|
+
|
|
17
|
+
hide_disabled: bool
|
|
18
|
+
"""Set to `true` to remove the disabled flavors from the response."""
|
|
19
|
+
|
|
20
|
+
include_prices: bool
|
|
21
|
+
"""Set to `true` if the response should include flavor prices."""
|