gcore 0.3.0__py3-none-any.whl → 0.5.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/__init__.py +2 -1
- gcore/_base_client.py +31 -2
- gcore/_client.py +18 -0
- gcore/_constants.py +2 -2
- gcore/_models.py +8 -5
- gcore/_version.py +1 -1
- gcore/pagination.py +252 -1
- gcore/resources/__init__.py +28 -0
- gcore/resources/cloud/baremetal/flavors.py +11 -137
- gcore/resources/cloud/baremetal/images.py +10 -12
- gcore/resources/cloud/baremetal/servers.py +33 -30
- gcore/resources/cloud/billing_reservations.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +7 -8
- gcore/resources/cloud/floating_ips.py +7 -12
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +33 -22
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +9 -10
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +8 -4
- gcore/resources/cloud/inference/deployments/deployments.py +76 -35
- gcore/resources/cloud/inference/deployments/logs.py +7 -7
- gcore/resources/cloud/inference/inference.py +5 -5
- gcore/resources/cloud/inference/models.py +16 -15
- gcore/resources/cloud/inference/registry_credentials.py +18 -18
- gcore/resources/cloud/inference/secrets.py +12 -13
- gcore/resources/cloud/instances/flavors.py +9 -233
- gcore/resources/cloud/instances/images.py +47 -37
- gcore/resources/cloud/instances/instances.py +49 -34
- gcore/resources/cloud/instances/interfaces.py +2 -2
- gcore/resources/cloud/ip_ranges.py +34 -2
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +10 -2
- gcore/resources/cloud/load_balancers/listeners.py +17 -8
- gcore/resources/cloud/load_balancers/load_balancers.py +73 -21
- gcore/resources/cloud/load_balancers/metrics.py +2 -2
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
- gcore/resources/cloud/load_balancers/pools/members.py +6 -2
- gcore/resources/cloud/networks/networks.py +81 -17
- gcore/resources/cloud/networks/routers.py +18 -18
- gcore/resources/cloud/networks/subnets.py +51 -11
- gcore/resources/cloud/projects.py +38 -24
- gcore/resources/cloud/quotas/quotas.py +6 -6
- gcore/resources/cloud/quotas/requests.py +8 -8
- gcore/resources/cloud/registries/artifacts.py +4 -4
- gcore/resources/cloud/registries/registries.py +14 -16
- gcore/resources/cloud/registries/repositories.py +4 -4
- gcore/resources/cloud/registries/tags.py +2 -2
- gcore/resources/cloud/registries/users.py +21 -22
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +20 -20
- gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
- gcore/resources/cloud/secrets.py +14 -224
- gcore/resources/cloud/security_groups/rules.py +6 -6
- gcore/resources/cloud/security_groups/security_groups.py +70 -31
- gcore/resources/cloud/tasks.py +34 -32
- gcore/resources/cloud/users/role_assignments.py +12 -14
- gcore/resources/cloud/volumes.py +139 -49
- gcore/resources/fastedge/__init__.py +103 -0
- gcore/resources/fastedge/apps/__init__.py +33 -0
- gcore/resources/fastedge/apps/apps.py +932 -0
- gcore/resources/fastedge/apps/logs.py +248 -0
- gcore/resources/fastedge/binaries.py +286 -0
- gcore/resources/fastedge/fastedge.py +327 -0
- gcore/resources/fastedge/kv_stores.py +523 -0
- gcore/resources/fastedge/secrets.py +687 -0
- gcore/resources/fastedge/statistics.py +347 -0
- gcore/resources/fastedge/templates.py +652 -0
- gcore/resources/iam/__init__.py +47 -0
- gcore/resources/iam/api_tokens.py +521 -0
- gcore/resources/iam/iam.py +199 -0
- gcore/resources/iam/users.py +642 -0
- gcore/resources/waap/__init__.py +0 -14
- gcore/resources/waap/waap.py +0 -32
- gcore/types/cloud/__init__.py +2 -28
- gcore/types/cloud/baremetal/__init__.py +0 -1
- gcore/types/cloud/baremetal/image_list_params.py +1 -5
- gcore/types/cloud/baremetal/server_create_params.py +5 -9
- gcore/types/cloud/baremetal/server_list_params.py +1 -5
- gcore/types/cloud/ddos_profile.py +9 -3
- gcore/types/cloud/file_share_create_params.py +3 -5
- gcore/types/cloud/floating_ip_create_params.py +2 -4
- gcore/types/cloud/floating_ip_list_params.py +1 -5
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +3 -4
- gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +2 -4
- gcore/types/cloud/health_monitor.py +6 -1
- gcore/types/cloud/inference/__init__.py +12 -8
- gcore/types/cloud/inference/deployment_create_params.py +224 -7
- gcore/types/cloud/inference/deployment_update_params.py +24 -3
- gcore/types/cloud/inference/deployments/__init__.py +1 -0
- gcore/types/cloud/inference/{inference_log.py → deployments/inference_deployment_log.py} +3 -3
- gcore/types/cloud/inference/inference_deployment.py +266 -0
- gcore/types/cloud/inference/{inference_apikey_secret.py → inference_deployment_api_key.py} +2 -2
- gcore/types/cloud/inference/{mlcatalog_model_card.py → inference_model.py} +2 -2
- gcore/types/cloud/inference/{inference_registry_credential.py → inference_registry_credentials.py} +2 -2
- gcore/types/cloud/inference/{inference_registry_credential_full.py → inference_registry_credentials_create.py} +2 -2
- gcore/types/cloud/inference/inference_secret.py +10 -3
- gcore/types/cloud/inference/model_list_params.py +2 -4
- gcore/types/cloud/{container_probe.py → inference/probe.py} +9 -9
- gcore/types/cloud/{container_probe_config.py → inference/probe_config.py} +5 -5
- gcore/types/cloud/{container_probe_exec.py → inference/probe_exec.py} +3 -3
- gcore/types/cloud/{container_probe_http_get.py → inference/probe_http_get.py} +3 -3
- gcore/types/cloud/{container_probe_tcp_socket.py → inference/probe_tcp_socket.py} +3 -3
- gcore/types/cloud/inference/secret_create_params.py +10 -4
- gcore/types/cloud/inference/secret_replace_params.py +10 -4
- gcore/types/cloud/{region_capacity.py → inference_region_capacity.py} +10 -3
- gcore/types/cloud/{region_capacity_list.py → inference_region_capacity_list.py} +4 -4
- gcore/types/cloud/instance_create_params.py +8 -9
- gcore/types/cloud/instance_list_params.py +1 -5
- gcore/types/cloud/instances/__init__.py +0 -2
- gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
- gcore/types/cloud/instances/image_list_params.py +1 -5
- gcore/types/cloud/instances/image_upload_params.py +2 -4
- gcore/types/cloud/load_balancer_create_params.py +8 -4
- gcore/types/cloud/load_balancer_list_params.py +1 -5
- gcore/types/cloud/load_balancer_update_params.py +24 -0
- gcore/types/cloud/load_balancers/pool_create_params.py +6 -1
- gcore/types/cloud/load_balancers/pool_update_params.py +6 -1
- gcore/types/cloud/load_balancers/pools/member_add_params.py +6 -1
- gcore/types/cloud/member.py +6 -1
- gcore/types/cloud/network_create_params.py +2 -3
- gcore/types/cloud/network_list_params.py +4 -5
- gcore/types/cloud/network_update_params.py +28 -2
- gcore/types/cloud/networks/router_list_params.py +2 -2
- gcore/types/cloud/networks/subnet_create_params.py +2 -3
- gcore/types/cloud/networks/subnet_list_params.py +1 -5
- gcore/types/cloud/networks/subnet_update_params.py +25 -0
- gcore/types/cloud/registries/__init__.py +1 -0
- gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
- gcore/types/cloud/reserved_fixed_ip_list_params.py +2 -2
- gcore/types/cloud/security_group_list_params.py +3 -7
- gcore/types/cloud/security_group_update_params.py +25 -0
- gcore/types/cloud/tag_update_map_param.py +2 -2
- gcore/types/cloud/task_list_params.py +15 -14
- gcore/types/cloud/volume_list_params.py +1 -5
- gcore/types/cloud/volume_update_params.py +29 -3
- gcore/types/fastedge/__init__.py +48 -0
- gcore/types/fastedge/app.py +81 -0
- gcore/types/fastedge/app_create_params.py +56 -0
- gcore/types/fastedge/app_list_params.py +50 -0
- gcore/types/fastedge/app_param.py +56 -0
- gcore/types/fastedge/app_replace_params.py +17 -0
- gcore/types/fastedge/app_short.py +60 -0
- gcore/types/fastedge/app_update_params.py +56 -0
- gcore/types/fastedge/apps/__init__.py +6 -0
- gcore/types/fastedge/apps/log.py +28 -0
- gcore/types/fastedge/apps/log_list_params.py +37 -0
- gcore/types/fastedge/binary.py +40 -0
- gcore/types/fastedge/binary_list_response.py +12 -0
- gcore/types/fastedge/binary_short.py +32 -0
- gcore/types/fastedge/call_status.py +24 -0
- gcore/types/fastedge/client.py +57 -0
- gcore/types/fastedge/duration_stats.py +30 -0
- gcore/types/fastedge/kv_store.py +33 -0
- gcore/types/fastedge/kv_store_create_params.py +23 -0
- gcore/types/fastedge/kv_store_get_response.py +10 -0
- gcore/types/fastedge/kv_store_list_params.py +12 -0
- gcore/types/fastedge/kv_store_list_response.py +15 -0
- gcore/types/fastedge/kv_store_replace_params.py +23 -0
- gcore/types/fastedge/kv_store_short.py +19 -0
- gcore/types/fastedge/kv_store_stats.py +26 -0
- gcore/types/fastedge/secret.py +29 -0
- gcore/types/fastedge/secret_create_params.py +27 -0
- gcore/types/fastedge/secret_create_response.py +12 -0
- gcore/types/fastedge/secret_delete_params.py +12 -0
- gcore/types/fastedge/secret_list_params.py +15 -0
- gcore/types/{cloud → fastedge}/secret_list_response.py +2 -6
- gcore/types/fastedge/secret_replace_params.py +27 -0
- gcore/types/fastedge/secret_short.py +21 -0
- gcore/types/fastedge/secret_update_params.py +27 -0
- gcore/types/fastedge/statistic_get_call_series_params.py +28 -0
- gcore/types/fastedge/statistic_get_call_series_response.py +12 -0
- gcore/types/fastedge/statistic_get_duration_series_params.py +28 -0
- gcore/types/fastedge/statistic_get_duration_series_response.py +12 -0
- gcore/types/fastedge/template.py +31 -0
- gcore/types/fastedge/template_create_params.py +30 -0
- gcore/types/fastedge/template_delete_params.py +12 -0
- gcore/types/fastedge/template_list_params.py +25 -0
- gcore/types/fastedge/template_parameter.py +22 -0
- gcore/types/fastedge/template_parameter_param.py +21 -0
- gcore/types/fastedge/template_replace_params.py +30 -0
- gcore/types/fastedge/template_short.py +27 -0
- gcore/types/iam/__init__.py +17 -0
- gcore/types/iam/account_overview.py +488 -0
- gcore/types/iam/api_token.py +78 -0
- gcore/types/iam/api_token_create.py +15 -0
- gcore/types/iam/api_token_create_params.py +42 -0
- gcore/types/iam/api_token_list.py +81 -0
- gcore/types/iam/api_token_list_params.py +41 -0
- gcore/types/iam/user.py +86 -0
- gcore/types/iam/user_detailed.py +104 -0
- gcore/types/iam/user_invite.py +15 -0
- gcore/types/iam/user_invite_params.py +37 -0
- gcore/types/iam/user_list_params.py +15 -0
- gcore/types/iam/user_update.py +104 -0
- gcore/types/iam/user_update_params.py +52 -0
- gcore/types/waap/__init__.py +0 -1
- gcore/types/waap/domains/custom_rule_create_params.py +7 -3
- gcore/types/waap/domains/custom_rule_update_params.py +7 -3
- gcore/types/waap/waap_custom_rule.py +7 -3
- {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/METADATA +44 -5
- {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/RECORD +200 -151
- gcore/resources/waap/clients.py +0 -135
- gcore/types/cloud/aws_iam_data.py +0 -13
- gcore/types/cloud/aws_iam_data_param.py +0 -15
- gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
- gcore/types/cloud/capacity.py +0 -13
- gcore/types/cloud/container_probe_config_create_param.py +0 -17
- gcore/types/cloud/container_probe_create_param.py +0 -38
- gcore/types/cloud/container_probe_exec_create_param.py +0 -13
- gcore/types/cloud/container_probe_http_get_create_param.py +0 -25
- gcore/types/cloud/container_probe_tcp_socket_create_param.py +0 -12
- gcore/types/cloud/container_scale.py +0 -25
- gcore/types/cloud/container_scale_trigger_rate.py +0 -13
- gcore/types/cloud/container_scale_trigger_sqs.py +0 -33
- gcore/types/cloud/container_scale_trigger_threshold.py +0 -10
- gcore/types/cloud/container_scale_triggers.py +0 -36
- gcore/types/cloud/deploy_status.py +0 -13
- gcore/types/cloud/inference/container.py +0 -26
- gcore/types/cloud/inference/inference.py +0 -95
- gcore/types/cloud/inference/mlcatalog_order_by_choices.py +0 -7
- gcore/types/cloud/inference_probes.py +0 -19
- gcore/types/cloud/ingress_opts_out.py +0 -16
- gcore/types/cloud/ingress_opts_param.py +0 -18
- gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
- gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -59
- gcore/types/cloud/secret_create_params.py +0 -66
- gcore/types/waap/client_me_response.py +0 -34
- {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/WHEEL +0 -0
- {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List, Iterable, Optional
|
|
5
|
+
from typing import Dict, List, Iterable, Optional
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
8
|
from ..ip_version import IPVersion
|
|
9
|
-
from ..tag_update_map_param import TagUpdateMapParam
|
|
10
9
|
|
|
11
10
|
__all__ = ["SubnetCreateParams", "HostRoute"]
|
|
12
11
|
|
|
@@ -60,7 +59,7 @@ class SubnetCreateParams(TypedDict, total=False):
|
|
|
60
59
|
find a router created during network creation.
|
|
61
60
|
"""
|
|
62
61
|
|
|
63
|
-
tags:
|
|
62
|
+
tags: Dict[str, str]
|
|
64
63
|
"""Key-value tags to associate with the resource.
|
|
65
64
|
|
|
66
65
|
A tag is a key-value pair that can be associated with a resource, enabling
|
|
@@ -51,8 +51,4 @@ class SubnetListParams(TypedDict, total=False):
|
|
|
51
51
|
"""Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2"""
|
|
52
52
|
|
|
53
53
|
tag_key_value: str
|
|
54
|
-
"""Optional.
|
|
55
|
-
|
|
56
|
-
Filter by tag key-value pairs. curl -G --data-urlencode "`tag_key_value`={"key":
|
|
57
|
-
"value"}" --url "https://example.com/cloud/v1/resource/1/1"
|
|
58
|
-
"""
|
|
54
|
+
"""Optional. Filter by tag key-value pairs."""
|
|
@@ -5,6 +5,8 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import List, Iterable, Optional
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
|
+
from ..tag_update_map_param import TagUpdateMapParam
|
|
9
|
+
|
|
8
10
|
__all__ = ["SubnetUpdateParams", "HostRoute"]
|
|
9
11
|
|
|
10
12
|
|
|
@@ -35,6 +37,29 @@ class SubnetUpdateParams(TypedDict, total=False):
|
|
|
35
37
|
name: Optional[str]
|
|
36
38
|
"""Name"""
|
|
37
39
|
|
|
40
|
+
tags: Optional[TagUpdateMapParam]
|
|
41
|
+
"""Update key-value tags using JSON Merge Patch semantics (RFC 7386).
|
|
42
|
+
|
|
43
|
+
Provide key-value pairs to add or update tags. Set tag values to `null` to
|
|
44
|
+
remove tags. Unspecified tags remain unchanged. Read-only tags are always
|
|
45
|
+
preserved and cannot be modified. **Examples:**
|
|
46
|
+
|
|
47
|
+
- **Add/update tags:**
|
|
48
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
49
|
+
updates existing ones.
|
|
50
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
51
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
52
|
+
tags are preserved).
|
|
53
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
54
|
+
specified tags.
|
|
55
|
+
- **Mixed operations:**
|
|
56
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
57
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
58
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
59
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
60
|
+
ones in the same request.
|
|
61
|
+
"""
|
|
62
|
+
|
|
38
63
|
|
|
39
64
|
class HostRoute(TypedDict, total=False):
|
|
40
65
|
destination: Required[str]
|
|
@@ -12,3 +12,4 @@ from .registry_user_created import RegistryUserCreated as RegistryUserCreated
|
|
|
12
12
|
from .registry_artifact_list import RegistryArtifactList as RegistryArtifactList
|
|
13
13
|
from .registry_repository_list import RegistryRepositoryList as RegistryRepositoryList
|
|
14
14
|
from .user_create_multiple_params import UserCreateMultipleParams as UserCreateMultipleParams
|
|
15
|
+
from .user_refresh_secret_response import UserRefreshSecretResponse as UserRefreshSecretResponse
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["UserRefreshSecretResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class UserRefreshSecretResponse(BaseModel):
|
|
12
|
+
id: int
|
|
13
|
+
"""User ID"""
|
|
14
|
+
|
|
15
|
+
created_at: datetime
|
|
16
|
+
"""User creation date-time"""
|
|
17
|
+
|
|
18
|
+
duration: int
|
|
19
|
+
"""User account operating time, days"""
|
|
20
|
+
|
|
21
|
+
expires_at: datetime
|
|
22
|
+
"""User operation end date-time"""
|
|
23
|
+
|
|
24
|
+
name: str
|
|
25
|
+
"""User name"""
|
|
26
|
+
|
|
27
|
+
read_only: Optional[bool] = None
|
|
28
|
+
"""Read-only user"""
|
|
29
|
+
|
|
30
|
+
secret: Optional[str] = None
|
|
31
|
+
"""User secret"""
|
|
@@ -39,8 +39,8 @@ class ReservedFixedIPListParams(TypedDict, total=False):
|
|
|
39
39
|
order_by: str
|
|
40
40
|
"""
|
|
41
41
|
Ordering reserved fixed IP list result by name, status, `updated_at`,
|
|
42
|
-
`created_at` or `fixed_ip_address` fields
|
|
43
|
-
|
|
42
|
+
`created_at` or `fixed_ip_address` fields and directions (status.asc), default
|
|
43
|
+
is "`fixed_ip_address`.asc"
|
|
44
44
|
"""
|
|
45
45
|
|
|
46
46
|
vip_only: bool
|
|
@@ -14,17 +14,13 @@ class SecurityGroupListParams(TypedDict, total=False):
|
|
|
14
14
|
region_id: int
|
|
15
15
|
|
|
16
16
|
limit: int
|
|
17
|
-
"""Limit the number of returned
|
|
17
|
+
"""Limit the number of returned security groups"""
|
|
18
18
|
|
|
19
19
|
offset: int
|
|
20
|
-
"""Offset value is used to exclude the first set of records from the result
|
|
20
|
+
"""Offset value is used to exclude the first set of records from the result"""
|
|
21
21
|
|
|
22
22
|
tag_key: List[str]
|
|
23
23
|
"""Filter by tag keys."""
|
|
24
24
|
|
|
25
25
|
tag_key_value: str
|
|
26
|
-
"""Filter by tag key-value pairs.
|
|
27
|
-
|
|
28
|
-
Must be a valid JSON string. curl -G --data-urlencode "`tag_key_value`={"key":
|
|
29
|
-
"value"}" --url "http://localhost:1111/v1/securitygroups/1/1"
|
|
30
|
-
"""
|
|
26
|
+
"""Filter by tag key-value pairs. Must be a valid JSON string."""
|
|
@@ -5,6 +5,8 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Iterable, Optional
|
|
6
6
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
7
|
|
|
8
|
+
from .tag_update_map_param import TagUpdateMapParam
|
|
9
|
+
|
|
8
10
|
__all__ = ["SecurityGroupUpdateParams", "ChangedRule"]
|
|
9
11
|
|
|
10
12
|
|
|
@@ -19,6 +21,29 @@ class SecurityGroupUpdateParams(TypedDict, total=False):
|
|
|
19
21
|
name: str
|
|
20
22
|
"""Name"""
|
|
21
23
|
|
|
24
|
+
tags: Optional[TagUpdateMapParam]
|
|
25
|
+
"""Update key-value tags using JSON Merge Patch semantics (RFC 7386).
|
|
26
|
+
|
|
27
|
+
Provide key-value pairs to add or update tags. Set tag values to `null` to
|
|
28
|
+
remove tags. Unspecified tags remain unchanged. Read-only tags are always
|
|
29
|
+
preserved and cannot be modified. **Examples:**
|
|
30
|
+
|
|
31
|
+
- **Add/update tags:**
|
|
32
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
33
|
+
updates existing ones.
|
|
34
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
35
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
36
|
+
tags are preserved).
|
|
37
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
38
|
+
specified tags.
|
|
39
|
+
- **Mixed operations:**
|
|
40
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
41
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
42
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
43
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
44
|
+
ones in the same request.
|
|
45
|
+
"""
|
|
46
|
+
|
|
22
47
|
|
|
23
48
|
class ChangedRule(TypedDict, total=False):
|
|
24
49
|
action: Required[Literal["create", "delete"]]
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict
|
|
5
|
+
from typing import Dict, Optional
|
|
6
6
|
from typing_extensions import TypeAlias
|
|
7
7
|
|
|
8
8
|
__all__ = ["TagUpdateMapParam"]
|
|
9
9
|
|
|
10
|
-
TagUpdateMapParam: TypeAlias = Dict[str, str]
|
|
10
|
+
TagUpdateMapParam: TypeAlias = Dict[str, Optional[str]]
|
|
@@ -65,7 +65,8 @@ class TaskListParams(TypedDict, total=False):
|
|
|
65
65
|
'`create_ai_cluster_gpu`', '`create_bm`', '`create_caas_container`',
|
|
66
66
|
'`create_dbaas_postgres_cluster`', '`create_ddos_profile`',
|
|
67
67
|
'`create_faas_function`', '`create_faas_namespace`', '`create_fip`',
|
|
68
|
-
'`create_gpu_virtual_cluster`', '`create_image`',
|
|
68
|
+
'`create_gpu_virtual_cluster`', '`create_image`',
|
|
69
|
+
'`create_inference_application`', '`create_inference_instance`',
|
|
69
70
|
'`create_inference_instance_key`', '`create_k8s_cluster_pool_v2`',
|
|
70
71
|
'`create_k8s_cluster_v2`', '`create_l7policy`', '`create_l7rule`',
|
|
71
72
|
'`create_lblistener`', '`create_lbmember`', '`create_lbpool`',
|
|
@@ -77,14 +78,14 @@ class TaskListParams(TypedDict, total=False):
|
|
|
77
78
|
'`delete_dbaas_postgres_cluster`', '`delete_ddos_profile`',
|
|
78
79
|
'`delete_faas_function`', '`delete_faas_namespace`', '`delete_fip`',
|
|
79
80
|
'`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`', '`delete_image`',
|
|
80
|
-
'`
|
|
81
|
-
'`
|
|
82
|
-
'`
|
|
83
|
-
'`
|
|
84
|
-
'`
|
|
85
|
-
'`
|
|
86
|
-
'`
|
|
87
|
-
'`download_image`', '`downscale_ai_cluster_gpu`',
|
|
81
|
+
'`delete_inference_application`', '`delete_inference_instance`',
|
|
82
|
+
'`delete_k8s_cluster_pool_v2`', '`delete_k8s_cluster_v2`', '`delete_l7policy`',
|
|
83
|
+
'`delete_l7rule`', '`delete_lblistener`', '`delete_lbmember`',
|
|
84
|
+
'`delete_lbmetadata`', '`delete_lbpool`', '`delete_loadbalancer`',
|
|
85
|
+
'`delete_network`', '`delete_reserved_fixed_ip`', '`delete_router`',
|
|
86
|
+
'`delete_secret`', '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`',
|
|
87
|
+
'`delete_subnet`', '`delete_vm`', '`delete_volume`', '`detach_vm_interface`',
|
|
88
|
+
'`detach_volume`', '`download_image`', '`downscale_ai_cluster_gpu`',
|
|
88
89
|
'`downscale_gpu_virtual_cluster`', '`extend_sfs`', '`extend_volume`',
|
|
89
90
|
'`failover_loadbalancer`', '`hard_reboot_gpu_baremetal_server`',
|
|
90
91
|
'`hard_reboot_gpu_virtual_cluster`', '`hard_reboot_gpu_virtual_server`',
|
|
@@ -100,11 +101,11 @@ class TaskListParams(TypedDict, total=False):
|
|
|
100
101
|
'`start_gpu_virtual_server`', '`start_vm`', '`stop_gpu_baremetal_server`',
|
|
101
102
|
'`stop_gpu_virtual_cluster`', '`stop_gpu_virtual_server`', '`stop_vm`',
|
|
102
103
|
'`suspend_vm`', '`sync_private_flavors`', '`update_ddos_profile`',
|
|
103
|
-
'`
|
|
104
|
-
'`
|
|
105
|
-
'`
|
|
106
|
-
'`
|
|
107
|
-
'`upscale_gpu_virtual_cluster`']
|
|
104
|
+
'`update_inference_application`', '`update_inference_instance`',
|
|
105
|
+
'`update_inference_instance_key`', '`update_k8s_cluster_v2`',
|
|
106
|
+
'`update_lbmetadata`', '`update_port_allowed_address_pairs`',
|
|
107
|
+
'`update_tags_gpu_virtual_cluster`', '`upgrade_k8s_cluster_v2`',
|
|
108
|
+
'`upscale_ai_cluster_gpu`', '`upscale_gpu_virtual_cluster`']
|
|
108
109
|
"""
|
|
109
110
|
|
|
110
111
|
to_timestamp: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
@@ -49,8 +49,4 @@ class VolumeListParams(TypedDict, total=False):
|
|
|
49
49
|
"""Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2"""
|
|
50
50
|
|
|
51
51
|
tag_key_value: str
|
|
52
|
-
"""Optional.
|
|
53
|
-
|
|
54
|
-
Filter by tag key-value pairs. curl -G --data-urlencode "`tag_key_value`={"key":
|
|
55
|
-
"value"}" --url "https://example.com/cloud/v1/resource/1/1"
|
|
56
|
-
"""
|
|
52
|
+
"""Optional. Filter by tag key-value pairs."""
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import TypedDict
|
|
7
|
+
|
|
8
|
+
from .tag_update_map_param import TagUpdateMapParam
|
|
6
9
|
|
|
7
10
|
__all__ = ["VolumeUpdateParams"]
|
|
8
11
|
|
|
@@ -14,5 +17,28 @@ class VolumeUpdateParams(TypedDict, total=False):
|
|
|
14
17
|
region_id: int
|
|
15
18
|
"""Region ID"""
|
|
16
19
|
|
|
17
|
-
name:
|
|
18
|
-
"""Name
|
|
20
|
+
name: str
|
|
21
|
+
"""Name"""
|
|
22
|
+
|
|
23
|
+
tags: Optional[TagUpdateMapParam]
|
|
24
|
+
"""Update key-value tags using JSON Merge Patch semantics (RFC 7386).
|
|
25
|
+
|
|
26
|
+
Provide key-value pairs to add or update tags. Set tag values to `null` to
|
|
27
|
+
remove tags. Unspecified tags remain unchanged. Read-only tags are always
|
|
28
|
+
preserved and cannot be modified. **Examples:**
|
|
29
|
+
|
|
30
|
+
- **Add/update tags:**
|
|
31
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
32
|
+
updates existing ones.
|
|
33
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
34
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
35
|
+
tags are preserved).
|
|
36
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
37
|
+
specified tags.
|
|
38
|
+
- **Mixed operations:**
|
|
39
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
40
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
41
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
42
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
43
|
+
ones in the same request.
|
|
44
|
+
"""
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .app import App as App
|
|
6
|
+
from .binary import Binary as Binary
|
|
7
|
+
from .client import Client as Client
|
|
8
|
+
from .secret import Secret as Secret
|
|
9
|
+
from .kv_store import KvStore as KvStore
|
|
10
|
+
from .template import Template as Template
|
|
11
|
+
from .app_param import AppParam as AppParam
|
|
12
|
+
from .app_short import AppShort as AppShort
|
|
13
|
+
from .call_status import CallStatus as CallStatus
|
|
14
|
+
from .binary_short import BinaryShort as BinaryShort
|
|
15
|
+
from .secret_short import SecretShort as SecretShort
|
|
16
|
+
from .duration_stats import DurationStats as DurationStats
|
|
17
|
+
from .kv_store_short import KvStoreShort as KvStoreShort
|
|
18
|
+
from .kv_store_stats import KvStoreStats as KvStoreStats
|
|
19
|
+
from .template_short import TemplateShort as TemplateShort
|
|
20
|
+
from .app_list_params import AppListParams as AppListParams
|
|
21
|
+
from .app_create_params import AppCreateParams as AppCreateParams
|
|
22
|
+
from .app_update_params import AppUpdateParams as AppUpdateParams
|
|
23
|
+
from .app_replace_params import AppReplaceParams as AppReplaceParams
|
|
24
|
+
from .secret_list_params import SecretListParams as SecretListParams
|
|
25
|
+
from .template_parameter import TemplateParameter as TemplateParameter
|
|
26
|
+
from .binary_list_response import BinaryListResponse as BinaryListResponse
|
|
27
|
+
from .kv_store_list_params import KvStoreListParams as KvStoreListParams
|
|
28
|
+
from .secret_create_params import SecretCreateParams as SecretCreateParams
|
|
29
|
+
from .secret_delete_params import SecretDeleteParams as SecretDeleteParams
|
|
30
|
+
from .secret_list_response import SecretListResponse as SecretListResponse
|
|
31
|
+
from .secret_update_params import SecretUpdateParams as SecretUpdateParams
|
|
32
|
+
from .template_list_params import TemplateListParams as TemplateListParams
|
|
33
|
+
from .kv_store_get_response import KvStoreGetResponse as KvStoreGetResponse
|
|
34
|
+
from .secret_replace_params import SecretReplaceParams as SecretReplaceParams
|
|
35
|
+
from .kv_store_create_params import KvStoreCreateParams as KvStoreCreateParams
|
|
36
|
+
from .kv_store_list_response import KvStoreListResponse as KvStoreListResponse
|
|
37
|
+
from .secret_create_response import SecretCreateResponse as SecretCreateResponse
|
|
38
|
+
from .template_create_params import TemplateCreateParams as TemplateCreateParams
|
|
39
|
+
from .template_delete_params import TemplateDeleteParams as TemplateDeleteParams
|
|
40
|
+
from .kv_store_replace_params import KvStoreReplaceParams as KvStoreReplaceParams
|
|
41
|
+
from .template_replace_params import TemplateReplaceParams as TemplateReplaceParams
|
|
42
|
+
from .template_parameter_param import TemplateParameterParam as TemplateParameterParam
|
|
43
|
+
from .statistic_get_call_series_params import StatisticGetCallSeriesParams as StatisticGetCallSeriesParams
|
|
44
|
+
from .statistic_get_call_series_response import StatisticGetCallSeriesResponse as StatisticGetCallSeriesResponse
|
|
45
|
+
from .statistic_get_duration_series_params import StatisticGetDurationSeriesParams as StatisticGetDurationSeriesParams
|
|
46
|
+
from .statistic_get_duration_series_response import (
|
|
47
|
+
StatisticGetDurationSeriesResponse as StatisticGetDurationSeriesResponse,
|
|
48
|
+
)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["App", "Secrets"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Secrets(BaseModel):
|
|
13
|
+
id: int
|
|
14
|
+
"""The unique identifier of the secret."""
|
|
15
|
+
|
|
16
|
+
comment: Optional[str] = None
|
|
17
|
+
"""A description or comment about the secret."""
|
|
18
|
+
|
|
19
|
+
name: Optional[str] = None
|
|
20
|
+
"""The unique name of the secret."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class App(BaseModel):
|
|
24
|
+
api_type: Optional[str] = None
|
|
25
|
+
"""Wasm API type"""
|
|
26
|
+
|
|
27
|
+
binary: Optional[int] = None
|
|
28
|
+
"""Binary ID"""
|
|
29
|
+
|
|
30
|
+
comment: Optional[str] = None
|
|
31
|
+
"""App description"""
|
|
32
|
+
|
|
33
|
+
debug_until: Optional[datetime] = None
|
|
34
|
+
"""When debugging finishes"""
|
|
35
|
+
|
|
36
|
+
env: Optional[Dict[str, str]] = None
|
|
37
|
+
"""Environment variables"""
|
|
38
|
+
|
|
39
|
+
log: Optional[Literal["kafka", "none"]] = None
|
|
40
|
+
"""Logging channel (by default - kafka, which allows exploring logs with API)"""
|
|
41
|
+
|
|
42
|
+
name: Optional[str] = None
|
|
43
|
+
"""App name"""
|
|
44
|
+
|
|
45
|
+
networks: Optional[List[str]] = None
|
|
46
|
+
"""Networks"""
|
|
47
|
+
|
|
48
|
+
plan: Optional[str] = None
|
|
49
|
+
"""Plan name"""
|
|
50
|
+
|
|
51
|
+
plan_id: Optional[int] = None
|
|
52
|
+
"""Plan ID"""
|
|
53
|
+
|
|
54
|
+
rsp_headers: Optional[Dict[str, str]] = None
|
|
55
|
+
"""Extra headers to add to the response"""
|
|
56
|
+
|
|
57
|
+
secrets: Optional[Dict[str, Secrets]] = None
|
|
58
|
+
"""Application secrets"""
|
|
59
|
+
|
|
60
|
+
status: Optional[int] = None
|
|
61
|
+
"""
|
|
62
|
+
Status code:
|
|
63
|
+
0 - draft (inactive)
|
|
64
|
+
1 - enabled
|
|
65
|
+
2 - disabled
|
|
66
|
+
3 - hourly call limit exceeded
|
|
67
|
+
4 - daily call limit exceeded
|
|
68
|
+
5 - suspended
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
stores: Optional[Dict[str, int]] = None
|
|
72
|
+
"""KV stores for the app"""
|
|
73
|
+
|
|
74
|
+
template: Optional[int] = None
|
|
75
|
+
"""Template ID"""
|
|
76
|
+
|
|
77
|
+
template_name: Optional[str] = None
|
|
78
|
+
"""Template name"""
|
|
79
|
+
|
|
80
|
+
url: Optional[str] = None
|
|
81
|
+
"""App URL"""
|
|
@@ -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__ = ["AppCreateParams", "Secrets"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AppCreateParams(TypedDict, total=False):
|
|
12
|
+
binary: int
|
|
13
|
+
"""Binary ID"""
|
|
14
|
+
|
|
15
|
+
comment: str
|
|
16
|
+
"""App description"""
|
|
17
|
+
|
|
18
|
+
debug: bool
|
|
19
|
+
"""Switch on logging for 30 minutes (switched off by default)"""
|
|
20
|
+
|
|
21
|
+
env: Dict[str, str]
|
|
22
|
+
"""Environment variables"""
|
|
23
|
+
|
|
24
|
+
log: Optional[Literal["kafka", "none"]]
|
|
25
|
+
"""Logging channel (by default - kafka, which allows exploring logs with API)"""
|
|
26
|
+
|
|
27
|
+
name: str
|
|
28
|
+
"""App name"""
|
|
29
|
+
|
|
30
|
+
rsp_headers: Dict[str, str]
|
|
31
|
+
"""Extra headers to add to the response"""
|
|
32
|
+
|
|
33
|
+
secrets: Dict[str, Secrets]
|
|
34
|
+
"""Application secrets"""
|
|
35
|
+
|
|
36
|
+
status: int
|
|
37
|
+
"""
|
|
38
|
+
Status code:
|
|
39
|
+
0 - draft (inactive)
|
|
40
|
+
1 - enabled
|
|
41
|
+
2 - disabled
|
|
42
|
+
3 - hourly call limit exceeded
|
|
43
|
+
4 - daily call limit exceeded
|
|
44
|
+
5 - suspended
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
stores: Dict[str, int]
|
|
48
|
+
"""KV stores for the app"""
|
|
49
|
+
|
|
50
|
+
template: int
|
|
51
|
+
"""Template ID"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class Secrets(TypedDict, total=False):
|
|
55
|
+
id: Required[int]
|
|
56
|
+
"""The unique identifier of the secret."""
|
|
@@ -0,0 +1,50 @@
|
|
|
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 Literal, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["AppListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class AppListParams(TypedDict, total=False):
|
|
11
|
+
api_type: Literal["wasi-http", "proxy-wasm"]
|
|
12
|
+
"""
|
|
13
|
+
API type:
|
|
14
|
+
wasi-http - WASI with HTTP entry point
|
|
15
|
+
proxy-wasm - Proxy-Wasm app, callable from CDN
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
binary: int
|
|
19
|
+
"""Binary ID"""
|
|
20
|
+
|
|
21
|
+
limit: int
|
|
22
|
+
"""Limit for pagination"""
|
|
23
|
+
|
|
24
|
+
name: str
|
|
25
|
+
"""Name of the app"""
|
|
26
|
+
|
|
27
|
+
offset: int
|
|
28
|
+
"""Offset for pagination"""
|
|
29
|
+
|
|
30
|
+
ordering: Literal[
|
|
31
|
+
"name", "-name", "status", "-status", "id", "-id", "template", "-template", "binary", "-binary", "plan", "-plan"
|
|
32
|
+
]
|
|
33
|
+
"""Ordering"""
|
|
34
|
+
|
|
35
|
+
plan: int
|
|
36
|
+
"""Plan ID"""
|
|
37
|
+
|
|
38
|
+
status: int
|
|
39
|
+
"""
|
|
40
|
+
Status code:
|
|
41
|
+
0 - draft (inactive)
|
|
42
|
+
1 - enabled
|
|
43
|
+
2 - disabled
|
|
44
|
+
3 - hourly call limit exceeded
|
|
45
|
+
4 - daily call limit exceeded
|
|
46
|
+
5 - suspended
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
template: int
|
|
50
|
+
"""Template ID"""
|
|
@@ -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__ = ["AppParam", "Secrets"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Secrets(TypedDict, total=False):
|
|
12
|
+
id: Required[int]
|
|
13
|
+
"""The unique identifier of the secret."""
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class AppParam(TypedDict, total=False):
|
|
17
|
+
binary: int
|
|
18
|
+
"""Binary ID"""
|
|
19
|
+
|
|
20
|
+
comment: str
|
|
21
|
+
"""App description"""
|
|
22
|
+
|
|
23
|
+
debug: bool
|
|
24
|
+
"""Switch on logging for 30 minutes (switched off by default)"""
|
|
25
|
+
|
|
26
|
+
env: Dict[str, str]
|
|
27
|
+
"""Environment variables"""
|
|
28
|
+
|
|
29
|
+
log: Optional[Literal["kafka", "none"]]
|
|
30
|
+
"""Logging channel (by default - kafka, which allows exploring logs with API)"""
|
|
31
|
+
|
|
32
|
+
name: str
|
|
33
|
+
"""App name"""
|
|
34
|
+
|
|
35
|
+
rsp_headers: Dict[str, str]
|
|
36
|
+
"""Extra headers to add to the response"""
|
|
37
|
+
|
|
38
|
+
secrets: Dict[str, Secrets]
|
|
39
|
+
"""Application secrets"""
|
|
40
|
+
|
|
41
|
+
status: int
|
|
42
|
+
"""
|
|
43
|
+
Status code:
|
|
44
|
+
0 - draft (inactive)
|
|
45
|
+
1 - enabled
|
|
46
|
+
2 - disabled
|
|
47
|
+
3 - hourly call limit exceeded
|
|
48
|
+
4 - daily call limit exceeded
|
|
49
|
+
5 - suspended
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
stores: Dict[str, int]
|
|
53
|
+
"""KV stores for the app"""
|
|
54
|
+
|
|
55
|
+
template: int
|
|
56
|
+
"""Template ID"""
|
|
@@ -0,0 +1,17 @@
|
|
|
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 .app_param import AppParam
|
|
8
|
+
|
|
9
|
+
__all__ = ["AppReplaceParams", "Body"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class AppReplaceParams(TypedDict, total=False):
|
|
13
|
+
body: Body
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Body(AppParam, total=False):
|
|
17
|
+
pass
|