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,77 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..tag import Tag
|
|
8
|
+
from ...._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["GPUVirtualClusterServer", "SecurityGroup"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SecurityGroup(BaseModel):
|
|
14
|
+
id: str
|
|
15
|
+
"""Security group ID"""
|
|
16
|
+
|
|
17
|
+
name: str
|
|
18
|
+
"""Security group name"""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class GPUVirtualClusterServer(BaseModel):
|
|
22
|
+
id: str
|
|
23
|
+
"""Server unique identifier"""
|
|
24
|
+
|
|
25
|
+
created_at: datetime
|
|
26
|
+
"""Server creation date and time"""
|
|
27
|
+
|
|
28
|
+
flavor: str
|
|
29
|
+
"""Unique flavor identifier"""
|
|
30
|
+
|
|
31
|
+
image_id: Optional[str] = None
|
|
32
|
+
"""Server's image UUID"""
|
|
33
|
+
|
|
34
|
+
ip_addresses: List[str]
|
|
35
|
+
"""List of IP addresses"""
|
|
36
|
+
|
|
37
|
+
name: str
|
|
38
|
+
"""Server's name generated using cluster's name"""
|
|
39
|
+
|
|
40
|
+
security_groups: List[SecurityGroup]
|
|
41
|
+
"""Security groups"""
|
|
42
|
+
|
|
43
|
+
ssh_key_name: Optional[str] = None
|
|
44
|
+
"""SSH key pair assigned to the server"""
|
|
45
|
+
|
|
46
|
+
status: Literal[
|
|
47
|
+
"ACTIVE",
|
|
48
|
+
"BUILD",
|
|
49
|
+
"DELETED",
|
|
50
|
+
"ERROR",
|
|
51
|
+
"HARD_REBOOT",
|
|
52
|
+
"MIGRATING",
|
|
53
|
+
"PASSWORD",
|
|
54
|
+
"PAUSED",
|
|
55
|
+
"REBOOT",
|
|
56
|
+
"REBUILD",
|
|
57
|
+
"RESCUE",
|
|
58
|
+
"RESIZE",
|
|
59
|
+
"REVERT_RESIZE",
|
|
60
|
+
"SHELVED",
|
|
61
|
+
"SHELVED_OFFLOADED",
|
|
62
|
+
"SHUTOFF",
|
|
63
|
+
"SOFT_DELETED",
|
|
64
|
+
"SUSPENDED",
|
|
65
|
+
"UNKNOWN",
|
|
66
|
+
"VERIFY_RESIZE",
|
|
67
|
+
]
|
|
68
|
+
"""Current server status"""
|
|
69
|
+
|
|
70
|
+
tags: List[Tag]
|
|
71
|
+
"""User defined tags"""
|
|
72
|
+
|
|
73
|
+
task_id: Optional[str] = None
|
|
74
|
+
"""Identifier of the task currently modifying the GPU cluster"""
|
|
75
|
+
|
|
76
|
+
updated_at: datetime
|
|
77
|
+
"""Server update date and time"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
from .gpu_virtual_cluster_server import GPUVirtualClusterServer
|
|
7
|
+
|
|
8
|
+
__all__ = ["GPUVirtualClusterServerList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GPUVirtualClusterServerList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[GPUVirtualClusterServer]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..tag import Tag
|
|
8
|
+
from ...._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["GPUVirtualClusterVolume"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class GPUVirtualClusterVolume(BaseModel):
|
|
14
|
+
id: str
|
|
15
|
+
"""Volume unique identifier"""
|
|
16
|
+
|
|
17
|
+
bootable: bool
|
|
18
|
+
"""True if this is bootable volume"""
|
|
19
|
+
|
|
20
|
+
created_at: datetime
|
|
21
|
+
"""Volume creation date and time"""
|
|
22
|
+
|
|
23
|
+
name: str
|
|
24
|
+
"""User defined name"""
|
|
25
|
+
|
|
26
|
+
root_fs: bool
|
|
27
|
+
"""True if this volume contains root file system"""
|
|
28
|
+
|
|
29
|
+
server_id: str
|
|
30
|
+
"""Server UUID"""
|
|
31
|
+
|
|
32
|
+
size: int
|
|
33
|
+
"""Volume size in GiB"""
|
|
34
|
+
|
|
35
|
+
status: Literal[
|
|
36
|
+
"attaching",
|
|
37
|
+
"available",
|
|
38
|
+
"awaiting-transfer",
|
|
39
|
+
"backing-up",
|
|
40
|
+
"creating",
|
|
41
|
+
"deleting",
|
|
42
|
+
"detaching",
|
|
43
|
+
"downloading",
|
|
44
|
+
"error",
|
|
45
|
+
"error_backing-up",
|
|
46
|
+
"error_deleting",
|
|
47
|
+
"error_extending",
|
|
48
|
+
"error_restoring",
|
|
49
|
+
"extending",
|
|
50
|
+
"in-use",
|
|
51
|
+
"maintenance",
|
|
52
|
+
"reserved",
|
|
53
|
+
"restoring-backup",
|
|
54
|
+
"retyping",
|
|
55
|
+
"reverting",
|
|
56
|
+
"uploading",
|
|
57
|
+
]
|
|
58
|
+
"""Current volume status"""
|
|
59
|
+
|
|
60
|
+
tags: List[Tag]
|
|
61
|
+
"""User defined tags"""
|
|
62
|
+
|
|
63
|
+
type: str
|
|
64
|
+
"""Volume type"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
from .gpu_virtual_cluster_volume import GPUVirtualClusterVolume
|
|
7
|
+
|
|
8
|
+
__all__ = ["GPUVirtualClusterVolumeList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GPUVirtualClusterVolumeList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[GPUVirtualClusterVolume]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Union, Optional
|
|
4
|
+
from typing_extensions import Literal, TypeAlias
|
|
5
|
+
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"GPUVirtualFlavor",
|
|
10
|
+
"GPUVirtualFlavorSerializerWithoutPrice",
|
|
11
|
+
"GPUVirtualFlavorSerializerWithoutPriceHardwareDescription",
|
|
12
|
+
"GPUVirtualFlavorSerializerWithoutPriceHardwareProperties",
|
|
13
|
+
"GPUVirtualFlavorSerializerWithoutPriceSupportedFeatures",
|
|
14
|
+
"GPUVirtualFlavorSerializerWithPrices",
|
|
15
|
+
"GPUVirtualFlavorSerializerWithPricesHardwareDescription",
|
|
16
|
+
"GPUVirtualFlavorSerializerWithPricesHardwareProperties",
|
|
17
|
+
"GPUVirtualFlavorSerializerWithPricesPrice",
|
|
18
|
+
"GPUVirtualFlavorSerializerWithPricesSupportedFeatures",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class GPUVirtualFlavorSerializerWithoutPriceHardwareDescription(BaseModel):
|
|
23
|
+
gpu: Optional[str] = None
|
|
24
|
+
"""Human-readable GPU description"""
|
|
25
|
+
|
|
26
|
+
local_storage: Optional[int] = None
|
|
27
|
+
"""Local storage capacity in GiB"""
|
|
28
|
+
|
|
29
|
+
ram: Optional[int] = None
|
|
30
|
+
"""RAM size in MiB"""
|
|
31
|
+
|
|
32
|
+
vcpus: Optional[int] = None
|
|
33
|
+
"""Virtual CPU count"""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class GPUVirtualFlavorSerializerWithoutPriceHardwareProperties(BaseModel):
|
|
37
|
+
gpu_count: Optional[int] = None
|
|
38
|
+
"""The total count of available GPUs."""
|
|
39
|
+
|
|
40
|
+
gpu_manufacturer: Optional[str] = None
|
|
41
|
+
"""The manufacturer of the graphics processing GPU"""
|
|
42
|
+
|
|
43
|
+
gpu_model: Optional[str] = None
|
|
44
|
+
"""GPU model"""
|
|
45
|
+
|
|
46
|
+
nic_eth: Optional[str] = None
|
|
47
|
+
"""The configuration of the Ethernet ports"""
|
|
48
|
+
|
|
49
|
+
nic_ib: Optional[str] = None
|
|
50
|
+
"""The configuration of the InfiniBand ports"""
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class GPUVirtualFlavorSerializerWithoutPriceSupportedFeatures(BaseModel):
|
|
54
|
+
security_groups: bool
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class GPUVirtualFlavorSerializerWithoutPrice(BaseModel):
|
|
58
|
+
architecture: Optional[str] = None
|
|
59
|
+
"""Flavor architecture type"""
|
|
60
|
+
|
|
61
|
+
capacity: int
|
|
62
|
+
"""Number of available instances of given flavor"""
|
|
63
|
+
|
|
64
|
+
disabled: bool
|
|
65
|
+
"""If the flavor is disabled, new resources cannot be created using this flavor."""
|
|
66
|
+
|
|
67
|
+
hardware_description: GPUVirtualFlavorSerializerWithoutPriceHardwareDescription
|
|
68
|
+
"""Additional virtual hardware description"""
|
|
69
|
+
|
|
70
|
+
hardware_properties: GPUVirtualFlavorSerializerWithoutPriceHardwareProperties
|
|
71
|
+
"""Additional virtual hardware properties"""
|
|
72
|
+
|
|
73
|
+
name: str
|
|
74
|
+
"""Flavor name"""
|
|
75
|
+
|
|
76
|
+
supported_features: GPUVirtualFlavorSerializerWithoutPriceSupportedFeatures
|
|
77
|
+
"""Set of enabled features based on the flavor's type and configuration"""
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
class GPUVirtualFlavorSerializerWithPricesHardwareDescription(BaseModel):
|
|
81
|
+
gpu: Optional[str] = None
|
|
82
|
+
"""Human-readable GPU description"""
|
|
83
|
+
|
|
84
|
+
local_storage: Optional[int] = None
|
|
85
|
+
"""Local storage capacity in GiB"""
|
|
86
|
+
|
|
87
|
+
ram: Optional[int] = None
|
|
88
|
+
"""RAM size in MiB"""
|
|
89
|
+
|
|
90
|
+
vcpus: Optional[int] = None
|
|
91
|
+
"""Virtual CPU count"""
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class GPUVirtualFlavorSerializerWithPricesHardwareProperties(BaseModel):
|
|
95
|
+
gpu_count: Optional[int] = None
|
|
96
|
+
"""The total count of available GPUs."""
|
|
97
|
+
|
|
98
|
+
gpu_manufacturer: Optional[str] = None
|
|
99
|
+
"""The manufacturer of the graphics processing GPU"""
|
|
100
|
+
|
|
101
|
+
gpu_model: Optional[str] = None
|
|
102
|
+
"""GPU model"""
|
|
103
|
+
|
|
104
|
+
nic_eth: Optional[str] = None
|
|
105
|
+
"""The configuration of the Ethernet ports"""
|
|
106
|
+
|
|
107
|
+
nic_ib: Optional[str] = None
|
|
108
|
+
"""The configuration of the InfiniBand ports"""
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class GPUVirtualFlavorSerializerWithPricesPrice(BaseModel):
|
|
112
|
+
currency_code: Optional[str] = None
|
|
113
|
+
"""Currency code. Shown if the `include_prices` query parameter if set to true"""
|
|
114
|
+
|
|
115
|
+
price_per_hour: Optional[float] = None
|
|
116
|
+
"""Price per hour. Shown if the `include_prices` query parameter if set to true"""
|
|
117
|
+
|
|
118
|
+
price_per_month: Optional[float] = None
|
|
119
|
+
"""Price per month. Shown if the `include_prices` query parameter if set to true"""
|
|
120
|
+
|
|
121
|
+
price_status: Optional[Literal["error", "hide", "show"]] = None
|
|
122
|
+
"""Price status for the UI"""
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class GPUVirtualFlavorSerializerWithPricesSupportedFeatures(BaseModel):
|
|
126
|
+
security_groups: bool
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class GPUVirtualFlavorSerializerWithPrices(BaseModel):
|
|
130
|
+
architecture: Optional[str] = None
|
|
131
|
+
"""Flavor architecture type"""
|
|
132
|
+
|
|
133
|
+
capacity: int
|
|
134
|
+
"""Number of available instances of given flavor"""
|
|
135
|
+
|
|
136
|
+
disabled: bool
|
|
137
|
+
"""If the flavor is disabled, new resources cannot be created using this flavor."""
|
|
138
|
+
|
|
139
|
+
hardware_description: GPUVirtualFlavorSerializerWithPricesHardwareDescription
|
|
140
|
+
"""Additional virtual hardware description"""
|
|
141
|
+
|
|
142
|
+
hardware_properties: GPUVirtualFlavorSerializerWithPricesHardwareProperties
|
|
143
|
+
"""Additional virtual hardware properties"""
|
|
144
|
+
|
|
145
|
+
name: str
|
|
146
|
+
"""Flavor name"""
|
|
147
|
+
|
|
148
|
+
price: GPUVirtualFlavorSerializerWithPricesPrice
|
|
149
|
+
"""Flavor price."""
|
|
150
|
+
|
|
151
|
+
supported_features: GPUVirtualFlavorSerializerWithPricesSupportedFeatures
|
|
152
|
+
"""Set of enabled features based on the flavor's type and configuration"""
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
GPUVirtualFlavor: TypeAlias = Union[GPUVirtualFlavorSerializerWithoutPrice, GPUVirtualFlavorSerializerWithPrices]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
from .gpu_virtual_flavor import GPUVirtualFlavor
|
|
7
|
+
|
|
8
|
+
__all__ = ["GPUVirtualFlavorList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GPUVirtualFlavorList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[GPUVirtualFlavor]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from ..tag import Tag
|
|
7
|
+
from ..route import Route
|
|
8
|
+
from ...._models import BaseModel
|
|
9
|
+
from ..ip_version import IPVersion
|
|
10
|
+
from ..floating_ip_status import FloatingIPStatus
|
|
11
|
+
|
|
12
|
+
__all__ = ["GPUVirtualInterface", "FloatingIP", "IPAssignment", "Network", "NetworkSubnet"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FloatingIP(BaseModel):
|
|
16
|
+
id: str
|
|
17
|
+
"""Floating IP ID"""
|
|
18
|
+
|
|
19
|
+
created_at: datetime
|
|
20
|
+
"""Datetime when the floating IP was created"""
|
|
21
|
+
|
|
22
|
+
fixed_ip_address: Optional[str] = None
|
|
23
|
+
"""IP address of the port the floating IP is attached to"""
|
|
24
|
+
|
|
25
|
+
floating_ip_address: Optional[str] = None
|
|
26
|
+
"""IP Address of the floating IP"""
|
|
27
|
+
|
|
28
|
+
port_id: Optional[str] = None
|
|
29
|
+
"""Port ID the floating IP is attached to.
|
|
30
|
+
|
|
31
|
+
The `fixed_ip_address` is the IP address of the port.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
router_id: Optional[str] = None
|
|
35
|
+
"""Router ID"""
|
|
36
|
+
|
|
37
|
+
status: Optional[FloatingIPStatus] = None
|
|
38
|
+
"""Floating IP status"""
|
|
39
|
+
|
|
40
|
+
tags: List[Tag]
|
|
41
|
+
"""List of key-value tags associated with the resource.
|
|
42
|
+
|
|
43
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
44
|
+
efficient filtering and grouping for better organization and management. Some
|
|
45
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
46
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
47
|
+
values.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
updated_at: datetime
|
|
51
|
+
"""Datetime when the floating IP was last updated"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class IPAssignment(BaseModel):
|
|
55
|
+
ip_address: str
|
|
56
|
+
"""The IP address assigned to the port from the specified subnet"""
|
|
57
|
+
|
|
58
|
+
subnet_id: str
|
|
59
|
+
"""ID of the subnet that allocated the IP"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class NetworkSubnet(BaseModel):
|
|
63
|
+
id: str
|
|
64
|
+
"""Subnet id."""
|
|
65
|
+
|
|
66
|
+
available_ips: Optional[int] = None
|
|
67
|
+
"""Number of available ips in subnet"""
|
|
68
|
+
|
|
69
|
+
cidr: str
|
|
70
|
+
"""CIDR"""
|
|
71
|
+
|
|
72
|
+
created_at: datetime
|
|
73
|
+
"""Datetime when the subnet was created"""
|
|
74
|
+
|
|
75
|
+
dns_nameservers: Optional[List[str]] = None
|
|
76
|
+
"""List IP addresses of a DNS resolver reachable from the network"""
|
|
77
|
+
|
|
78
|
+
enable_dhcp: bool
|
|
79
|
+
"""Indicates whether DHCP is enabled for this subnet.
|
|
80
|
+
|
|
81
|
+
If true, IP addresses will be assigned automatically
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
gateway_ip: Optional[str] = None
|
|
85
|
+
"""Default GW IPv4 address, advertised in DHCP routes of this subnet.
|
|
86
|
+
|
|
87
|
+
If null, no gateway is advertised by this subnet.
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
has_router: bool
|
|
91
|
+
"""Deprecated. Always returns `false`."""
|
|
92
|
+
|
|
93
|
+
host_routes: Optional[List[Route]] = None
|
|
94
|
+
"""List of custom static routes to advertise via DHCP."""
|
|
95
|
+
|
|
96
|
+
ip_version: IPVersion
|
|
97
|
+
"""IP version used by the subnet (IPv4 or IPv6)"""
|
|
98
|
+
|
|
99
|
+
name: str
|
|
100
|
+
"""Subnet name"""
|
|
101
|
+
|
|
102
|
+
network_id: str
|
|
103
|
+
"""Network ID"""
|
|
104
|
+
|
|
105
|
+
tags: List[Tag]
|
|
106
|
+
"""List of key-value tags associated with the resource.
|
|
107
|
+
|
|
108
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
109
|
+
efficient filtering and grouping for better organization and management. Some
|
|
110
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
111
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
112
|
+
values.
|
|
113
|
+
"""
|
|
114
|
+
|
|
115
|
+
total_ips: Optional[int] = None
|
|
116
|
+
"""Total number of ips in subnet"""
|
|
117
|
+
|
|
118
|
+
updated_at: datetime
|
|
119
|
+
"""Datetime when the subnet was last updated"""
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class Network(BaseModel):
|
|
123
|
+
id: str
|
|
124
|
+
"""Network ID"""
|
|
125
|
+
|
|
126
|
+
created_at: datetime
|
|
127
|
+
"""Datetime when the network was created"""
|
|
128
|
+
|
|
129
|
+
external: bool
|
|
130
|
+
"""True if the network `router:external` attribute"""
|
|
131
|
+
|
|
132
|
+
mtu: int
|
|
133
|
+
"""MTU (maximum transmission unit)"""
|
|
134
|
+
|
|
135
|
+
name: str
|
|
136
|
+
"""Network name"""
|
|
137
|
+
|
|
138
|
+
port_security_enabled: bool
|
|
139
|
+
"""
|
|
140
|
+
Indicates `port_security_enabled` status of all newly created in the network
|
|
141
|
+
ports.
|
|
142
|
+
"""
|
|
143
|
+
|
|
144
|
+
segmentation_id: Optional[int] = None
|
|
145
|
+
"""Id of network segment"""
|
|
146
|
+
|
|
147
|
+
shared: bool
|
|
148
|
+
"""True when the network is shared with your project by external owner"""
|
|
149
|
+
|
|
150
|
+
subnets: Optional[List[NetworkSubnet]] = None
|
|
151
|
+
"""List of subnetworks"""
|
|
152
|
+
|
|
153
|
+
tags: List[Tag]
|
|
154
|
+
"""List of key-value tags associated with the resource.
|
|
155
|
+
|
|
156
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
157
|
+
efficient filtering and grouping for better organization and management. Some
|
|
158
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
159
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
160
|
+
values.
|
|
161
|
+
"""
|
|
162
|
+
|
|
163
|
+
type: str
|
|
164
|
+
"""Network type (vlan, vxlan)"""
|
|
165
|
+
|
|
166
|
+
updated_at: datetime
|
|
167
|
+
"""Datetime when the network was last updated"""
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
class GPUVirtualInterface(BaseModel):
|
|
171
|
+
floating_ips: List[FloatingIP]
|
|
172
|
+
"""Bodies of floatingips that are NAT-ing ips of this port"""
|
|
173
|
+
|
|
174
|
+
ip_assignments: List[IPAssignment]
|
|
175
|
+
"""IP addresses assigned to this port"""
|
|
176
|
+
|
|
177
|
+
mac_address: Optional[str] = None
|
|
178
|
+
"""MAC address of the virtual port"""
|
|
179
|
+
|
|
180
|
+
network: Network
|
|
181
|
+
"""Body of the network this port is attached to"""
|
|
182
|
+
|
|
183
|
+
network_id: str
|
|
184
|
+
"""ID of the network the port is attached to"""
|
|
185
|
+
|
|
186
|
+
port_id: str
|
|
187
|
+
"""ID of virtual ethernet port object"""
|
|
188
|
+
|
|
189
|
+
port_security_enabled: bool
|
|
190
|
+
"""Port security status"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
from .gpu_virtual_interface import GPUVirtualInterface
|
|
7
|
+
|
|
8
|
+
__all__ = ["GPUVirtualInterfaceList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GPUVirtualInterfaceList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[GPUVirtualInterface]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,56 @@
|
|
|
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, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ImageUploadParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ImageUploadParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
"""Project ID"""
|
|
14
|
+
|
|
15
|
+
region_id: int
|
|
16
|
+
"""Region ID"""
|
|
17
|
+
|
|
18
|
+
name: Required[str]
|
|
19
|
+
"""Image name"""
|
|
20
|
+
|
|
21
|
+
url: Required[str]
|
|
22
|
+
"""Image URL"""
|
|
23
|
+
|
|
24
|
+
architecture: Optional[Literal["aarch64", "x86_64"]]
|
|
25
|
+
"""Image architecture type: aarch64, `x86_64`"""
|
|
26
|
+
|
|
27
|
+
cow_format: bool
|
|
28
|
+
"""
|
|
29
|
+
When True, image cannot be deleted unless all volumes, created from it, are
|
|
30
|
+
deleted.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
hw_firmware_type: Optional[Literal["bios", "uefi"]]
|
|
34
|
+
"""Specifies the type of firmware with which to boot the guest."""
|
|
35
|
+
|
|
36
|
+
os_distro: Optional[str]
|
|
37
|
+
"""OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc."""
|
|
38
|
+
|
|
39
|
+
os_type: Optional[Literal["linux", "windows"]]
|
|
40
|
+
"""The operating system installed on the image. Linux by default"""
|
|
41
|
+
|
|
42
|
+
os_version: Optional[str]
|
|
43
|
+
"""OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian"""
|
|
44
|
+
|
|
45
|
+
ssh_key: Literal["allow", "deny", "required"]
|
|
46
|
+
"""Permission to use a ssh key in instances"""
|
|
47
|
+
|
|
48
|
+
tags: Dict[str, str]
|
|
49
|
+
"""Key-value tags to associate with the resource.
|
|
50
|
+
|
|
51
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
52
|
+
efficient filtering and grouping for better organization and management. Both
|
|
53
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
54
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
55
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
56
|
+
"""
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
from ...._types import SequenceNotStr
|
|
8
|
+
|
|
9
|
+
__all__ = ["ServerDeleteParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ServerDeleteParams(TypedDict, total=False):
|
|
13
|
+
project_id: int
|
|
14
|
+
"""Project ID"""
|
|
15
|
+
|
|
16
|
+
region_id: int
|
|
17
|
+
"""Region ID"""
|
|
18
|
+
|
|
19
|
+
cluster_id: Required[str]
|
|
20
|
+
"""Cluster unique identifier"""
|
|
21
|
+
|
|
22
|
+
all_floating_ips: bool
|
|
23
|
+
"""
|
|
24
|
+
Flag indicating whether the floating ips associated with server / cluster are
|
|
25
|
+
deleted
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
all_reserved_fixed_ips: bool
|
|
29
|
+
"""
|
|
30
|
+
Flag indicating whether the reserved fixed ips associated with server / cluster
|
|
31
|
+
are deleted
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
all_volumes: bool
|
|
35
|
+
"""Flag indicating whether all attached volumes are deleted"""
|
|
36
|
+
|
|
37
|
+
floating_ip_ids: SequenceNotStr[str]
|
|
38
|
+
"""Optional list of floating ips to be deleted"""
|
|
39
|
+
|
|
40
|
+
reserved_fixed_ip_ids: SequenceNotStr[str]
|
|
41
|
+
"""Optional list of reserved fixed ips to be deleted"""
|
|
42
|
+
|
|
43
|
+
volume_ids: SequenceNotStr[str]
|
|
44
|
+
"""Optional list of volumes to be deleted"""
|