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
|
@@ -25,10 +25,10 @@ class NetworkCreateParams(TypedDict, total=False):
|
|
|
25
25
|
"""Key-value tags to associate with the resource.
|
|
26
26
|
|
|
27
27
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
28
|
-
efficient filtering and grouping for better organization and management.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
values.
|
|
28
|
+
efficient filtering and grouping for better organization and management. Both
|
|
29
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
30
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
31
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
34
|
type: Literal["vlan", "vxlan"]
|
|
@@ -32,15 +32,20 @@ class NetworkUpdateParams(TypedDict, total=False):
|
|
|
32
32
|
- **Add/update tags:**
|
|
33
33
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
34
34
|
updates existing ones.
|
|
35
|
-
|
|
35
|
+
|
|
36
|
+
- **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
|
|
37
|
+
|
|
36
38
|
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
37
39
|
tags are preserved).
|
|
40
|
+
|
|
38
41
|
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
39
42
|
specified tags.
|
|
43
|
+
|
|
40
44
|
- **Mixed operations:**
|
|
41
|
-
`{'tags': {'environment': 'production', '
|
|
45
|
+
`{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
|
|
42
46
|
adds/updates 'environment' and '`cost_center`' while removing
|
|
43
47
|
'`deprecated_tag`', preserving other existing tags.
|
|
48
|
+
|
|
44
49
|
- **Replace all:** first delete existing tags with null values, then add new
|
|
45
50
|
ones in the same request.
|
|
46
51
|
"""
|
|
@@ -64,10 +64,10 @@ class SubnetCreateParams(TypedDict, total=False):
|
|
|
64
64
|
"""Key-value tags to associate with the resource.
|
|
65
65
|
|
|
66
66
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
67
|
-
efficient filtering and grouping for better organization and management.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
values.
|
|
67
|
+
efficient filtering and grouping for better organization and management. Both
|
|
68
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
69
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
70
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
71
71
|
"""
|
|
72
72
|
|
|
73
73
|
|
|
@@ -50,15 +50,20 @@ class SubnetUpdateParams(TypedDict, total=False):
|
|
|
50
50
|
- **Add/update tags:**
|
|
51
51
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
52
52
|
updates existing ones.
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
- **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
|
|
55
|
+
|
|
54
56
|
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
55
57
|
tags are preserved).
|
|
58
|
+
|
|
56
59
|
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
57
60
|
specified tags.
|
|
61
|
+
|
|
58
62
|
- **Mixed operations:**
|
|
59
|
-
`{'tags': {'environment': 'production', '
|
|
63
|
+
`{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
|
|
60
64
|
adds/updates 'environment' and '`cost_center`' while removing
|
|
61
65
|
'`deprecated_tag`', preserving other existing tags.
|
|
66
|
+
|
|
62
67
|
- **Replace all:** first delete existing tags with null values, then add new
|
|
63
68
|
ones in the same request.
|
|
64
69
|
"""
|
|
@@ -12,11 +12,5 @@ class ProjectCreateParams(TypedDict, total=False):
|
|
|
12
12
|
name: Required[str]
|
|
13
13
|
"""Unique project name for a client. Each client always has one "default" project."""
|
|
14
14
|
|
|
15
|
-
client_id: Optional[int]
|
|
16
|
-
"""ID associated with the client."""
|
|
17
|
-
|
|
18
15
|
description: Optional[str]
|
|
19
16
|
"""Description of the project."""
|
|
20
|
-
|
|
21
|
-
state: Optional[str]
|
|
22
|
-
"""State of the project."""
|
|
@@ -5,10 +5,10 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
|
-
__all__ = ["
|
|
8
|
+
__all__ = ["ProjectUpdateParams"]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class ProjectUpdateParams(TypedDict, total=False):
|
|
12
12
|
project_id: int
|
|
13
13
|
|
|
14
14
|
name: Required[str]
|
|
@@ -15,9 +15,6 @@ class RequestCreateParams(TypedDict, total=False):
|
|
|
15
15
|
requested_limits: Required[RequestedLimits]
|
|
16
16
|
"""Limits you want to increase."""
|
|
17
17
|
|
|
18
|
-
client_id: int
|
|
19
|
-
"""Client ID that requests the limit increase."""
|
|
20
|
-
|
|
21
18
|
|
|
22
19
|
class RequestedLimitsGlobalLimits(TypedDict, total=False):
|
|
23
20
|
inference_cpu_millicore_count_limit: int
|
gcore/types/cloud/region.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import List, Optional
|
|
3
|
+
from typing import List, Union, Optional
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
from typing_extensions import Literal
|
|
6
6
|
|
|
@@ -10,9 +10,9 @@ __all__ = ["Region", "Coordinates"]
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Coordinates(BaseModel):
|
|
13
|
-
latitude: float
|
|
13
|
+
latitude: Union[float, str]
|
|
14
14
|
|
|
15
|
-
longitude: float
|
|
15
|
+
longitude: Union[float, str]
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class Region(BaseModel):
|
|
@@ -33,7 +33,14 @@ class SecurityGroup(BaseModel):
|
|
|
33
33
|
"""The number of revisions"""
|
|
34
34
|
|
|
35
35
|
tags_v2: List[Tag]
|
|
36
|
-
"""
|
|
36
|
+
"""List of key-value tags associated with the resource.
|
|
37
|
+
|
|
38
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
39
|
+
efficient filtering and grouping for better organization and management. Some
|
|
40
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
41
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
42
|
+
values.
|
|
43
|
+
"""
|
|
37
44
|
|
|
38
45
|
updated_at: datetime
|
|
39
46
|
"""Datetime when the security group was last updated"""
|
|
@@ -12,8 +12,10 @@ __all__ = ["SecurityGroupCreateParams", "SecurityGroup", "SecurityGroupSecurityG
|
|
|
12
12
|
|
|
13
13
|
class SecurityGroupCreateParams(TypedDict, total=False):
|
|
14
14
|
project_id: int
|
|
15
|
+
"""Project ID"""
|
|
15
16
|
|
|
16
17
|
region_id: int
|
|
18
|
+
"""Region ID"""
|
|
17
19
|
|
|
18
20
|
security_group: Required[SecurityGroup]
|
|
19
21
|
"""Security group"""
|
|
@@ -85,12 +87,12 @@ class SecurityGroup(TypedDict, total=False):
|
|
|
85
87
|
security_group_rules: Iterable[SecurityGroupSecurityGroupRule]
|
|
86
88
|
"""Security group rules"""
|
|
87
89
|
|
|
88
|
-
tags: Dict[str,
|
|
90
|
+
tags: Dict[str, str]
|
|
89
91
|
"""Key-value tags to associate with the resource.
|
|
90
92
|
|
|
91
93
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
92
|
-
efficient filtering and grouping for better organization and management.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
values.
|
|
94
|
+
efficient filtering and grouping for better organization and management. Both
|
|
95
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
96
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
97
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
96
98
|
"""
|
|
@@ -11,17 +11,19 @@ __all__ = ["SecurityGroupListParams"]
|
|
|
11
11
|
|
|
12
12
|
class SecurityGroupListParams(TypedDict, total=False):
|
|
13
13
|
project_id: int
|
|
14
|
+
"""Project ID"""
|
|
14
15
|
|
|
15
16
|
region_id: int
|
|
17
|
+
"""Region ID"""
|
|
16
18
|
|
|
17
19
|
limit: int
|
|
18
|
-
"""Limit
|
|
20
|
+
"""Limit of items on a single page"""
|
|
19
21
|
|
|
20
22
|
offset: int
|
|
21
|
-
"""Offset
|
|
23
|
+
"""Offset in results list"""
|
|
22
24
|
|
|
23
25
|
tag_key: SequenceNotStr[str]
|
|
24
|
-
"""Filter by tag keys."""
|
|
26
|
+
"""Optional. Filter by tag keys."""
|
|
25
27
|
|
|
26
28
|
tag_key_value: str
|
|
27
|
-
"""Filter by tag key-value pairs. Must be a valid JSON string."""
|
|
29
|
+
"""Optional. Filter by tag key-value pairs. Must be a valid JSON string."""
|
|
@@ -33,15 +33,20 @@ class SecurityGroupUpdateParams(TypedDict, total=False):
|
|
|
33
33
|
- **Add/update tags:**
|
|
34
34
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
35
35
|
updates existing ones.
|
|
36
|
-
|
|
36
|
+
|
|
37
|
+
- **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
|
|
38
|
+
|
|
37
39
|
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
38
40
|
tags are preserved).
|
|
41
|
+
|
|
39
42
|
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
40
43
|
specified tags.
|
|
44
|
+
|
|
41
45
|
- **Mixed operations:**
|
|
42
|
-
`{'tags': {'environment': 'production', '
|
|
46
|
+
`{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
|
|
43
47
|
adds/updates 'environment' and '`cost_center`' while removing
|
|
44
48
|
'`deprecated_tag`', preserving other existing tags.
|
|
49
|
+
|
|
45
50
|
- **Replace all:** first delete existing tags with null values, then add new
|
|
46
51
|
ones in the same request.
|
|
47
52
|
"""
|
|
@@ -14,6 +14,13 @@ class SSHKeyListParams(TypedDict, total=False):
|
|
|
14
14
|
limit: int
|
|
15
15
|
"""Maximum number of SSH keys to return"""
|
|
16
16
|
|
|
17
|
+
name: str
|
|
18
|
+
"""SSH key name.
|
|
19
|
+
|
|
20
|
+
Partial substring match. Example: `name=abc` matches any key containing `abc` in
|
|
21
|
+
name.
|
|
22
|
+
"""
|
|
23
|
+
|
|
17
24
|
offset: int
|
|
18
25
|
"""Offset for pagination"""
|
|
19
26
|
|
gcore/types/cloud/tag.py
CHANGED
|
@@ -7,10 +7,10 @@ __all__ = ["Tag"]
|
|
|
7
7
|
|
|
8
8
|
class Tag(BaseModel):
|
|
9
9
|
key: str
|
|
10
|
-
"""Tag key. The maximum size for a key is 255
|
|
10
|
+
"""Tag key. The maximum size for a key is 255 characters."""
|
|
11
11
|
|
|
12
12
|
read_only: bool
|
|
13
13
|
"""If true, the tag is read-only and cannot be modified by the user"""
|
|
14
14
|
|
|
15
15
|
value: str
|
|
16
|
-
"""Tag value. The maximum size for a value is
|
|
16
|
+
"""Tag value. The maximum size for a value is 255 characters."""
|
|
@@ -13,7 +13,7 @@ class TaskIDList(BaseModel):
|
|
|
13
13
|
|
|
14
14
|
Use these IDs to monitor operation progress:
|
|
15
15
|
|
|
16
|
-
- `GET /v1/tasks/{
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
- `GET /v1/tasks/{task_id}` - Check individual task status and details Poll task
|
|
17
|
+
status until completion (`FINISHED`/`ERROR`) before proceeding with dependent
|
|
18
|
+
operations.
|
|
19
19
|
"""
|
|
@@ -53,10 +53,10 @@ class CreateVolumeFromImageSerializer(TypedDict, total=False):
|
|
|
53
53
|
"""Key-value tags to associate with the resource.
|
|
54
54
|
|
|
55
55
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
56
|
-
efficient filtering and grouping for better organization and management.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
values.
|
|
56
|
+
efficient filtering and grouping for better organization and management. Both
|
|
57
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
58
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
59
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
60
60
|
"""
|
|
61
61
|
|
|
62
62
|
type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
|
|
@@ -108,10 +108,10 @@ class CreateVolumeFromSnapshotSerializer(TypedDict, total=False):
|
|
|
108
108
|
"""Key-value tags to associate with the resource.
|
|
109
109
|
|
|
110
110
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
111
|
-
efficient filtering and grouping for better organization and management.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
values.
|
|
111
|
+
efficient filtering and grouping for better organization and management. Both
|
|
112
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
113
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
114
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
115
115
|
"""
|
|
116
116
|
|
|
117
117
|
type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
|
|
@@ -157,10 +157,10 @@ class CreateNewVolumeSerializer(TypedDict, total=False):
|
|
|
157
157
|
"""Key-value tags to associate with the resource.
|
|
158
158
|
|
|
159
159
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
160
|
-
efficient filtering and grouping for better organization and management.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
values.
|
|
160
|
+
efficient filtering and grouping for better organization and management. Both
|
|
161
|
+
tag keys and values have a maximum length of 255 characters. Some tags are
|
|
162
|
+
read-only and cannot be modified by the user. Tags are also integrated with cost
|
|
163
|
+
reports, allowing cost data to be filtered based on tag keys or values.
|
|
164
164
|
"""
|
|
165
165
|
|
|
166
166
|
type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
|
|
@@ -32,15 +32,20 @@ class VolumeUpdateParams(TypedDict, total=False):
|
|
|
32
32
|
- **Add/update tags:**
|
|
33
33
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
34
34
|
updates existing ones.
|
|
35
|
-
|
|
35
|
+
|
|
36
|
+
- **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
|
|
37
|
+
|
|
36
38
|
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
37
39
|
tags are preserved).
|
|
40
|
+
|
|
38
41
|
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
39
42
|
specified tags.
|
|
43
|
+
|
|
40
44
|
- **Mixed operations:**
|
|
41
|
-
`{'tags': {'environment': 'production', '
|
|
45
|
+
`{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
|
|
42
46
|
adds/updates 'environment' and '`cost_center`' while removing
|
|
43
47
|
'`deprecated_tag`', preserving other existing tags.
|
|
48
|
+
|
|
44
49
|
- **Replace all:** first delete existing tags with null values, then add new
|
|
45
50
|
ones in the same request.
|
|
46
51
|
"""
|
|
@@ -19,7 +19,7 @@ class ZoneListParams(TypedDict, total=False):
|
|
|
19
19
|
case_sensitive: bool
|
|
20
20
|
|
|
21
21
|
client_id: Iterable[int]
|
|
22
|
-
"""to pass several `client_ids` `client_id=1
|
|
22
|
+
"""to pass several `client_ids` `client_id=1&client_id=3&client_id=5...`"""
|
|
23
23
|
|
|
24
24
|
dynamic: bool
|
|
25
25
|
"""Zones with dynamic RRsets"""
|
|
@@ -1,15 +1,84 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
from typing import Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
4
5
|
|
|
5
6
|
from ..._models import BaseModel
|
|
6
7
|
|
|
7
|
-
__all__ = ["APITokenCreate"]
|
|
8
|
+
__all__ = ["APITokenCreate", "ClientUser", "ClientUserRole"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ClientUserRole(BaseModel):
|
|
12
|
+
id: Optional[int] = None
|
|
13
|
+
"""Group's ID: Possible values are:
|
|
14
|
+
|
|
15
|
+
- 1 - Administrators* 2 - Users* 5 - Engineers* 3009 - Purge and Prefetch only
|
|
16
|
+
(API+Web)* 3022 - Purge and Prefetch only (API)
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
name: Optional[
|
|
20
|
+
Literal[
|
|
21
|
+
"Users", "Administrators", "Engineers", "Purge and Prefetch only (API)", "Purge and Prefetch only (API+Web)"
|
|
22
|
+
]
|
|
23
|
+
] = None
|
|
24
|
+
"""Group's name."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ClientUser(BaseModel):
|
|
28
|
+
client_id: int
|
|
29
|
+
"""Account's ID."""
|
|
30
|
+
|
|
31
|
+
deleted: bool
|
|
32
|
+
"""Deletion flag. If true, then the API token was deleted."""
|
|
33
|
+
|
|
34
|
+
role: ClientUserRole
|
|
35
|
+
|
|
36
|
+
user_email: str
|
|
37
|
+
"""User's email who issued the API token."""
|
|
38
|
+
|
|
39
|
+
user_id: int
|
|
40
|
+
"""User's ID who issued the API token."""
|
|
41
|
+
|
|
42
|
+
user_name: str
|
|
43
|
+
"""User's name who issued the API token."""
|
|
8
44
|
|
|
9
45
|
|
|
10
46
|
class APITokenCreate(BaseModel):
|
|
47
|
+
id: int
|
|
48
|
+
"""API token ID."""
|
|
49
|
+
|
|
50
|
+
client_user: ClientUser
|
|
51
|
+
|
|
52
|
+
created: str
|
|
53
|
+
"""Date when the API token was issued (ISO 8086/RFC 3339 format), UTC."""
|
|
54
|
+
|
|
55
|
+
deleted: bool
|
|
56
|
+
"""Deletion flag. If true, then the API token was deleted."""
|
|
57
|
+
|
|
58
|
+
exp_date: Optional[str] = None
|
|
59
|
+
"""
|
|
60
|
+
Date when the API token becomes expired (ISO 8086/RFC 3339 format), UTC. If
|
|
61
|
+
null, then the API token will never expire.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
expired: bool
|
|
65
|
+
"""Expiration flag.
|
|
66
|
+
|
|
67
|
+
If true, then the API token has expired. When an API token expires it will be
|
|
68
|
+
automatically deleted.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
last_usage: str
|
|
72
|
+
"""Date when the API token was last used (ISO 8086/RFC 3339 format), UTC."""
|
|
73
|
+
|
|
74
|
+
name: str
|
|
75
|
+
"""API token name."""
|
|
76
|
+
|
|
11
77
|
token: Optional[str] = None
|
|
12
78
|
"""
|
|
13
79
|
API token. Copy it, because you will not be able to get it again. We do not
|
|
14
80
|
store tokens. All responsibility for token storage and usage is on the issuer.
|
|
15
81
|
"""
|
|
82
|
+
|
|
83
|
+
description: Optional[str] = None
|
|
84
|
+
"""API token description."""
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Iterable
|
|
5
|
+
from typing import Iterable
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
8
|
__all__ = ["ProfileCreateParams", "Field"]
|
|
@@ -14,8 +14,10 @@ class ProfileCreateParams(TypedDict, total=False):
|
|
|
14
14
|
profile_template: Required[int]
|
|
15
15
|
|
|
16
16
|
site: Required[str]
|
|
17
|
+
"""Region where the protection profiles will be deployed"""
|
|
17
18
|
|
|
18
|
-
ip_address:
|
|
19
|
+
ip_address: str
|
|
20
|
+
"""Required for Universal template only. Optional for all others."""
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Field(TypedDict, total=False):
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Iterable
|
|
5
|
+
from typing import Iterable
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
8
|
__all__ = ["ProfileRecreateParams", "Field"]
|
|
@@ -13,9 +13,11 @@ class ProfileRecreateParams(TypedDict, total=False):
|
|
|
13
13
|
|
|
14
14
|
profile_template: Required[int]
|
|
15
15
|
|
|
16
|
-
ip_address:
|
|
16
|
+
ip_address: str
|
|
17
|
+
"""Required for Universal template only. Optional for all others."""
|
|
17
18
|
|
|
18
19
|
site: str
|
|
20
|
+
"""Region where the protection profiles will be deployed"""
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Field(TypedDict, total=False):
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Iterable
|
|
5
|
+
from typing import Iterable
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
8
|
__all__ = ["ProfileReplaceParams", "Field"]
|
|
@@ -13,9 +13,11 @@ class ProfileReplaceParams(TypedDict, total=False):
|
|
|
13
13
|
|
|
14
14
|
profile_template: Required[int]
|
|
15
15
|
|
|
16
|
-
ip_address:
|
|
16
|
+
ip_address: str
|
|
17
|
+
"""Required for Universal template only. Optional for all others."""
|
|
17
18
|
|
|
18
19
|
site: str
|
|
20
|
+
"""Region where the protection profiles will be deployed"""
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Field(TypedDict, total=False):
|
|
@@ -9,28 +9,11 @@ __all__ = ["CredentialRecreateParams"]
|
|
|
9
9
|
|
|
10
10
|
class CredentialRecreateParams(TypedDict, total=False):
|
|
11
11
|
delete_sftp_password: bool
|
|
12
|
-
"""Remove the SFTP password, disabling password authentication.
|
|
13
|
-
|
|
14
|
-
Only applicable to SFTP storage type.
|
|
15
|
-
"""
|
|
16
12
|
|
|
17
13
|
generate_s3_keys: bool
|
|
18
|
-
"""Generate new S3 access and secret keys for S3 storage.
|
|
19
|
-
|
|
20
|
-
Only applicable to S3 storage type.
|
|
21
|
-
"""
|
|
22
14
|
|
|
23
15
|
generate_sftp_password: bool
|
|
24
|
-
"""Generate a new random password for SFTP access.
|
|
25
|
-
|
|
26
|
-
Only applicable to SFTP storage type.
|
|
27
|
-
"""
|
|
28
16
|
|
|
29
17
|
reset_sftp_keys: bool
|
|
30
|
-
"""Reset/remove all SSH keys associated with the SFTP storage.
|
|
31
|
-
|
|
32
|
-
Only applicable to SFTP storage type.
|
|
33
|
-
"""
|
|
34
18
|
|
|
35
19
|
sftp_password: str
|
|
36
|
-
"""Set a custom password for SFTP access. Only applicable to SFTP storage type."""
|
gcore/types/storage/storage.py
CHANGED
|
@@ -53,7 +53,7 @@ class Storage(BaseModel):
|
|
|
53
53
|
created_at: str
|
|
54
54
|
"""ISO 8601 timestamp when the storage was created"""
|
|
55
55
|
|
|
56
|
-
location:
|
|
56
|
+
location: str
|
|
57
57
|
"""Geographic location code where the storage is provisioned"""
|
|
58
58
|
|
|
59
59
|
name: str
|
|
@@ -8,7 +8,7 @@ __all__ = ["StorageCreateParams"]
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class StorageCreateParams(TypedDict, total=False):
|
|
11
|
-
location: Required[
|
|
11
|
+
location: Required[str]
|
|
12
12
|
"""Geographic location where the storage will be provisioned.
|
|
13
13
|
|
|
14
14
|
Each location represents a specific data center region.
|
gcore/types/streaming/stream.py
CHANGED
|
@@ -359,8 +359,9 @@ class Stream(BaseModel):
|
|
|
359
359
|
|
|
360
360
|
Small latency values may lead to packet loss when jitter or retransmissions
|
|
361
361
|
occur, while very large values introduce unnecessary end-to-end delay.
|
|
362
|
-
|
|
363
|
-
|
|
362
|
+
|
|
363
|
+
_Incorrect or low default value is one of the most common reasons for packet
|
|
364
|
+
loss, frames loss, and bad picture._
|
|
364
365
|
|
|
365
366
|
We therefore recommend setting latency manually rather than relying on the
|
|
366
367
|
default, to ensure the buffer is correctly sized for your environment. A
|
gcore/types/streaming/video.py
CHANGED
|
@@ -468,7 +468,7 @@ class Video(BaseModel):
|
|
|
468
468
|
video. It is unique for each video, generated randomly and set automatically by
|
|
469
469
|
the system.
|
|
470
470
|
|
|
471
|
-
Format of usage in URL is
|
|
471
|
+
Format of usage in URL is _.../videos/{`client_id`}\\__{slug}/..._
|
|
472
472
|
|
|
473
473
|
Example:
|
|
474
474
|
|
|
@@ -279,7 +279,7 @@ class ConditionURL(TypedDict, total=False):
|
|
|
279
279
|
`match_type`:
|
|
280
280
|
|
|
281
281
|
- **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with
|
|
282
|
-
`^[\\ww!\\$$~:#\\[[\\]]@\\((\\))
|
|
282
|
+
`^[\\ww!\\$$~:#\\[[\\]]@\\((\\))*\\++,=\\//\\--\\..\\%%]+$`).
|
|
283
283
|
- **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`).
|
|
284
284
|
Lookahead/lookbehind constructs are forbidden.
|
|
285
285
|
"""
|
|
@@ -279,7 +279,7 @@ class ConditionURL(TypedDict, total=False):
|
|
|
279
279
|
`match_type`:
|
|
280
280
|
|
|
281
281
|
- **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with
|
|
282
|
-
`^[\\ww!\\$$~:#\\[[\\]]@\\((\\))
|
|
282
|
+
`^[\\ww!\\$$~:#\\[[\\]]@\\((\\))*\\++,=\\//\\--\\..\\%%]+$`).
|
|
283
283
|
- **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`).
|
|
284
284
|
Lookahead/lookbehind constructs are forbidden.
|
|
285
285
|
"""
|