gcore 0.15.0__py3-none-any.whl → 0.17.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 +18 -8
- gcore/_version.py +1 -1
- gcore/resources/cdn/audit_log.py +4 -12
- gcore/resources/cdn/cdn.py +130 -39
- gcore/resources/cdn/certificates.py +16 -40
- gcore/resources/cdn/ip_ranges.py +4 -8
- gcore/resources/cdn/{logs/logs.py → logs.py} +13 -53
- gcore/resources/cdn/logs_uploader/configs.py +14 -42
- gcore/resources/cdn/logs_uploader/policies.py +14 -42
- gcore/resources/cdn/logs_uploader/targets.py +14 -42
- gcore/resources/cdn/metrics.py +2 -6
- gcore/resources/cdn/network_capacity.py +2 -6
- gcore/resources/cdn/origin_groups.py +12 -32
- gcore/resources/cdn/resources/resources.py +18 -46
- gcore/resources/cdn/resources/rules.py +12 -36
- gcore/resources/cdn/resources/shield.py +4 -12
- gcore/resources/cdn/rule_templates.py +12 -36
- gcore/resources/cdn/shields.py +2 -6
- gcore/resources/cdn/statistics.py +16 -40
- gcore/resources/cdn/trusted_ca_certificates.py +10 -30
- gcore/resources/cloud/audit_logs.py +2 -6
- gcore/resources/cloud/baremetal/flavors.py +2 -6
- gcore/resources/cloud/baremetal/images.py +2 -6
- gcore/resources/cloud/baremetal/servers.py +14 -18
- gcore/resources/cloud/billing_reservations.py +25 -208
- gcore/resources/cloud/cloud.py +18 -0
- gcore/resources/cloud/cost_reports.py +44 -62
- gcore/resources/cloud/file_shares/access_rules.py +6 -18
- gcore/resources/cloud/file_shares/file_shares.py +126 -42
- gcore/resources/cloud/floating_ips.py +22 -42
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +2 -6
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +30 -54
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +16 -24
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -6
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +18 -42
- gcore/resources/cloud/inference/api_keys.py +10 -30
- gcore/resources/cloud/inference/applications/deployments.py +135 -155
- gcore/resources/cloud/inference/applications/templates.py +4 -12
- gcore/resources/cloud/inference/deployments/deployments.py +28 -48
- gcore/resources/cloud/inference/deployments/logs.py +2 -6
- gcore/resources/cloud/inference/flavors.py +4 -12
- gcore/resources/cloud/inference/inference.py +2 -6
- gcore/resources/cloud/inference/registry_credentials.py +10 -30
- gcore/resources/cloud/inference/secrets.py +10 -30
- gcore/resources/cloud/instances/flavors.py +2 -6
- gcore/resources/cloud/instances/images.py +24 -36
- gcore/resources/cloud/instances/instances.py +119 -94
- gcore/resources/cloud/instances/interfaces.py +18 -18
- gcore/resources/cloud/instances/metrics.py +2 -6
- gcore/resources/cloud/ip_ranges.py +2 -6
- gcore/resources/cloud/k8s/clusters/clusters.py +18 -54
- gcore/resources/cloud/k8s/clusters/nodes.py +4 -12
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +4 -12
- gcore/resources/cloud/k8s/clusters/pools/pools.py +12 -36
- gcore/resources/cloud/k8s/flavors.py +2 -6
- gcore/resources/cloud/k8s/k8s.py +2 -6
- gcore/resources/cloud/load_balancers/flavors.py +2 -6
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +22 -30
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +22 -30
- gcore/resources/cloud/load_balancers/listeners.py +38 -46
- gcore/resources/cloud/load_balancers/load_balancers.py +509 -521
- gcore/resources/cloud/load_balancers/metrics.py +8 -12
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +4 -12
- gcore/resources/cloud/load_balancers/pools/members.py +4 -12
- gcore/resources/cloud/load_balancers/pools/pools.py +38 -46
- gcore/resources/cloud/load_balancers/statuses.py +10 -18
- gcore/resources/cloud/networks/networks.py +18 -30
- gcore/resources/cloud/networks/routers.py +14 -42
- gcore/resources/cloud/networks/subnets.py +14 -30
- gcore/resources/cloud/placement_groups.py +16 -24
- gcore/resources/cloud/projects.py +117 -129
- gcore/resources/cloud/quotas/quotas.py +6 -18
- gcore/resources/cloud/quotas/requests.py +8 -24
- gcore/resources/cloud/regions.py +4 -8
- gcore/resources/cloud/registries/artifacts.py +4 -12
- gcore/resources/cloud/registries/registries.py +10 -30
- gcore/resources/cloud/registries/repositories.py +4 -12
- gcore/resources/cloud/registries/tags.py +2 -6
- gcore/resources/cloud/registries/users.py +12 -36
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +28 -30
- gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -30
- gcore/resources/cloud/secrets.py +12 -24
- gcore/resources/cloud/security_groups/rules.py +6 -18
- gcore/resources/cloud/security_groups/security_groups.py +14 -42
- gcore/resources/cloud/ssh_keys.py +10 -30
- gcore/resources/cloud/tasks.py +36 -33
- gcore/resources/cloud/usage_reports.py +18 -24
- gcore/resources/cloud/users/role_assignments.py +8 -24
- gcore/resources/cloud/volumes.py +47 -61
- gcore/resources/dns/dns.py +4 -8
- gcore/resources/dns/locations.py +8 -20
- gcore/resources/dns/metrics.py +2 -6
- gcore/resources/dns/pickers/pickers.py +2 -2
- gcore/resources/dns/pickers/presets.py +2 -6
- gcore/resources/dns/zones/dnssec.py +4 -12
- gcore/resources/dns/zones/rrsets.py +12 -36
- gcore/resources/dns/zones/zones.py +22 -58
- gcore/resources/fastedge/apps/apps.py +12 -28
- gcore/resources/fastedge/apps/logs.py +2 -6
- gcore/resources/fastedge/binaries.py +8 -24
- gcore/resources/fastedge/fastedge.py +2 -2
- gcore/resources/fastedge/kv_stores.py +10 -22
- gcore/resources/fastedge/secrets.py +12 -36
- gcore/resources/fastedge/statistics.py +4 -12
- gcore/resources/fastedge/templates.py +10 -30
- gcore/resources/iam/api_tokens.py +8 -24
- gcore/resources/iam/iam.py +2 -2
- gcore/resources/iam/users.py +10 -26
- gcore/resources/security/bgp_announces.py +4 -12
- gcore/resources/security/events.py +2 -6
- gcore/resources/security/profile_templates.py +2 -6
- gcore/resources/security/profiles.py +16 -40
- gcore/resources/storage/buckets/buckets.py +6 -18
- gcore/resources/storage/buckets/cors.py +4 -12
- gcore/resources/storage/buckets/lifecycle.py +4 -12
- gcore/resources/storage/buckets/policy.py +6 -18
- gcore/resources/storage/credentials.py +2 -6
- gcore/resources/storage/locations.py +2 -6
- gcore/resources/storage/statistics.py +4 -12
- gcore/resources/storage/storage.py +16 -48
- gcore/resources/streaming/ai_tasks.py +10 -18
- gcore/resources/streaming/broadcasts.py +12 -36
- gcore/resources/streaming/directories.py +10 -30
- gcore/resources/streaming/players.py +12 -28
- gcore/resources/streaming/playlists.py +12 -36
- gcore/resources/streaming/quality_sets.py +4 -12
- gcore/resources/streaming/restreams.py +10 -30
- gcore/resources/streaming/statistics.py +46 -138
- gcore/resources/streaming/streams/overlays.py +12 -36
- gcore/resources/streaming/streams/streams.py +20 -52
- gcore/resources/streaming/videos/subtitles.py +10 -30
- gcore/resources/streaming/videos/videos.py +16 -40
- gcore/resources/waap/advanced_rules.py +2 -6
- gcore/resources/waap/custom_page_sets.py +12 -36
- gcore/resources/waap/domains/advanced_rules.py +12 -36
- gcore/resources/waap/domains/api_discovery.py +12 -36
- gcore/resources/waap/domains/api_path_groups.py +2 -6
- gcore/resources/waap/domains/api_paths.py +10 -30
- gcore/resources/waap/domains/custom_rules.py +14 -42
- gcore/resources/waap/domains/domains.py +12 -32
- gcore/resources/waap/domains/firewall_rules.py +14 -42
- gcore/resources/waap/domains/insight_silences.py +10 -30
- gcore/resources/waap/domains/insights.py +6 -18
- gcore/resources/waap/domains/settings.py +4 -12
- gcore/resources/waap/domains/statistics.py +12 -36
- gcore/resources/waap/insights.py +2 -6
- gcore/resources/waap/ip_info/ip_info.py +16 -48
- gcore/resources/waap/ip_info/metrics.py +2 -6
- gcore/resources/waap/organizations.py +2 -6
- gcore/resources/waap/statistics.py +2 -6
- gcore/resources/waap/tags.py +2 -2
- gcore/resources/waap/waap.py +2 -2
- gcore/types/cdn/__init__.py +3 -0
- gcore/types/cdn/alibaba_regions.py +22 -0
- 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 +1 -1
- gcore/types/cdn/logs_aggregated_stats.py +1 -1
- gcore/types/cdn/resource_create_params.py +1 -1
- gcore/types/cdn/resource_replace_params.py +1 -1
- gcore/types/cdn/resource_update_params.py +1 -1
- gcore/types/cdn/resources/cdn_resource_rule.py +1 -1
- gcore/types/cdn/resources/rule_create_params.py +1 -1
- gcore/types/cdn/resources/rule_replace_params.py +1 -1
- gcore/types/cdn/resources/rule_update_params.py +1 -1
- gcore/types/cdn/rule_template.py +1 -1
- gcore/types/cdn/rule_template_create_params.py +1 -1
- gcore/types/cdn/rule_template_replace_params.py +1 -1
- gcore/types/cdn/rule_template_update_params.py +1 -1
- gcore/types/cloud/__init__.py +2 -1
- gcore/types/cloud/billing_reservation.py +52 -114
- gcore/types/cloud/billing_reservation_list_params.py +4 -42
- gcore/types/cloud/billing_reservations.py +16 -0
- gcore/types/cloud/cost_report_get_aggregated_params.py +2 -2
- gcore/types/cloud/cost_report_get_detailed_params.py +2 -2
- gcore/types/cloud/inference/applications/__init__.py +1 -1
- gcore/types/cloud/inference/applications/{deployment_patch_params.py → deployment_update_params.py} +2 -2
- gcore/types/cloud/instance_list_params.py +1 -1
- gcore/types/cloud/instance_update_params.py +31 -3
- gcore/types/cloud/load_balancer_create_params.py +1 -1
- gcore/types/cloud/load_balancer_listener_detail.py +1 -1
- gcore/types/cloud/load_balancers/listener_create_params.py +1 -1
- gcore/types/cloud/load_balancers/listener_list_params.py +1 -1
- gcore/types/cloud/load_balancers/pool_create_params.py +1 -1
- gcore/types/cloud/load_balancers/pool_list_params.py +1 -1
- gcore/types/cloud/{project_replace_params.py → project_update_params.py} +2 -2
- gcore/types/cloud/task_list_params.py +3 -3
- gcore/types/cloud/usage_report_get_params.py +2 -2
- gcore/types/security/profile_create_params.py +2 -2
- {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/METADATA +2 -2
- {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/RECORD +193 -195
- gcore/resources/cdn/logs/__init__.py +0 -33
- gcore/resources/cdn/logs/settings.py +0 -1081
- gcore/types/cdn/logs/__init__.py +0 -7
- gcore/types/cdn/logs/log_settings.py +0 -172
- gcore/types/cdn/logs/setting_create_params.py +0 -200
- gcore/types/cdn/logs/setting_update_params.py +0 -200
- {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/WHEEL +0 -0
- {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -68,6 +68,7 @@ from ....types.cloud.console import Console
|
|
|
68
68
|
from ....types.cloud.instance import Instance
|
|
69
69
|
from ....types.cloud.task_id_list import TaskIDList
|
|
70
70
|
from ....types.cloud.instance_interface import InstanceInterface
|
|
71
|
+
from ....types.cloud.tag_update_map_param import TagUpdateMapParam
|
|
71
72
|
|
|
72
73
|
__all__ = ["InstancesResource", "AsyncInstancesResource"]
|
|
73
74
|
|
|
@@ -235,9 +236,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
235
236
|
if region_id is None:
|
|
236
237
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
237
238
|
return self._post(
|
|
238
|
-
f"/cloud/v2/instances/{project_id}/{region_id}"
|
|
239
|
-
if self._client._base_url_overridden
|
|
240
|
-
else f"https://api.gcore.com//cloud/v2/instances/{project_id}/{region_id}",
|
|
239
|
+
f"/cloud/v2/instances/{project_id}/{region_id}",
|
|
241
240
|
body=maybe_transform(
|
|
242
241
|
{
|
|
243
242
|
"flavor": flavor,
|
|
@@ -283,6 +282,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
283
282
|
user_data: str | Omit = omit,
|
|
284
283
|
username: str | Omit = omit,
|
|
285
284
|
polling_interval_seconds: int | Omit = omit,
|
|
285
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
286
286
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
287
287
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
288
288
|
extra_headers: Headers | None = None,
|
|
@@ -319,6 +319,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
319
319
|
task_id=response.tasks[0],
|
|
320
320
|
extra_headers=extra_headers,
|
|
321
321
|
polling_interval_seconds=polling_interval_seconds,
|
|
322
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
322
323
|
)
|
|
323
324
|
if (
|
|
324
325
|
not task.created_resources
|
|
@@ -339,7 +340,8 @@ class InstancesResource(SyncAPIResource):
|
|
|
339
340
|
*,
|
|
340
341
|
project_id: int | None = None,
|
|
341
342
|
region_id: int | None = None,
|
|
342
|
-
name: str,
|
|
343
|
+
name: str | Omit = omit,
|
|
344
|
+
tags: Optional[TagUpdateMapParam] | Omit = omit,
|
|
343
345
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
344
346
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
345
347
|
extra_headers: Headers | None = None,
|
|
@@ -348,7 +350,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
348
350
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
349
351
|
) -> Instance:
|
|
350
352
|
"""
|
|
351
|
-
Rename instance
|
|
353
|
+
Rename instance or update tags
|
|
352
354
|
|
|
353
355
|
Args:
|
|
354
356
|
project_id: Project ID
|
|
@@ -357,7 +359,29 @@ class InstancesResource(SyncAPIResource):
|
|
|
357
359
|
|
|
358
360
|
instance_id: Instance ID
|
|
359
361
|
|
|
360
|
-
name: Name
|
|
362
|
+
name: Name
|
|
363
|
+
|
|
364
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
365
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
366
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
367
|
+
cannot be modified.
|
|
368
|
+
|
|
369
|
+
**Examples:**
|
|
370
|
+
|
|
371
|
+
- **Add/update tags:**
|
|
372
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
373
|
+
updates existing ones.
|
|
374
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
375
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
376
|
+
tags are preserved).
|
|
377
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
378
|
+
specified tags.
|
|
379
|
+
- **Mixed operations:**
|
|
380
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
381
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
382
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
383
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
384
|
+
ones in the same request.
|
|
361
385
|
|
|
362
386
|
extra_headers: Send extra headers
|
|
363
387
|
|
|
@@ -374,10 +398,14 @@ class InstancesResource(SyncAPIResource):
|
|
|
374
398
|
if not instance_id:
|
|
375
399
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
376
400
|
return self._patch(
|
|
377
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
401
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
402
|
+
body=maybe_transform(
|
|
403
|
+
{
|
|
404
|
+
"name": name,
|
|
405
|
+
"tags": tags,
|
|
406
|
+
},
|
|
407
|
+
instance_update_params.InstanceUpdateParams,
|
|
408
|
+
),
|
|
381
409
|
options=make_request_options(
|
|
382
410
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
383
411
|
),
|
|
@@ -405,7 +433,8 @@ class InstancesResource(SyncAPIResource):
|
|
|
405
433
|
offset: int | Omit = omit,
|
|
406
434
|
only_isolated: bool | Omit = omit,
|
|
407
435
|
only_with_fixed_external_ip: bool | Omit = omit,
|
|
408
|
-
order_by: Literal["created.asc", "created.desc", "name.asc", "name.desc"
|
|
436
|
+
order_by: Literal["created.asc", "created.desc", "name.asc", "name.desc", "status.asc", "status.desc"]
|
|
437
|
+
| Omit = omit,
|
|
409
438
|
profile_name: str | Omit = omit,
|
|
410
439
|
protection_status: Literal["Active", "Queued", "Error"] | Omit = omit,
|
|
411
440
|
status: Literal[
|
|
@@ -525,9 +554,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
525
554
|
if region_id is None:
|
|
526
555
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
527
556
|
return self._get_api_list(
|
|
528
|
-
f"/cloud/v1/instances/{project_id}/{region_id}"
|
|
529
|
-
if self._client._base_url_overridden
|
|
530
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}",
|
|
557
|
+
f"/cloud/v1/instances/{project_id}/{region_id}",
|
|
531
558
|
page=SyncOffsetPage[Instance],
|
|
532
559
|
options=make_request_options(
|
|
533
560
|
extra_headers=extra_headers,
|
|
@@ -621,9 +648,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
621
648
|
if not instance_id:
|
|
622
649
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
623
650
|
return self._delete(
|
|
624
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
625
|
-
if self._client._base_url_overridden
|
|
626
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
651
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
627
652
|
options=make_request_options(
|
|
628
653
|
extra_headers=extra_headers,
|
|
629
654
|
extra_query=extra_query,
|
|
@@ -653,6 +678,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
653
678
|
reserved_fixed_ips: str | Omit = omit,
|
|
654
679
|
volumes: str | Omit = omit,
|
|
655
680
|
polling_interval_seconds: int | Omit = omit,
|
|
681
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
656
682
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
657
683
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
658
684
|
extra_headers: Headers | None = None,
|
|
@@ -682,6 +708,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
682
708
|
task_id=response.tasks[0],
|
|
683
709
|
extra_headers=extra_headers,
|
|
684
710
|
polling_interval_seconds=polling_interval_seconds,
|
|
711
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
685
712
|
)
|
|
686
713
|
|
|
687
714
|
@overload
|
|
@@ -774,9 +801,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
774
801
|
if not instance_id:
|
|
775
802
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
776
803
|
return self._post(
|
|
777
|
-
f"/cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action"
|
|
778
|
-
if self._client._base_url_overridden
|
|
779
|
-
else f"https://api.gcore.com//cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action",
|
|
804
|
+
f"/cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action",
|
|
780
805
|
body=maybe_transform(
|
|
781
806
|
{
|
|
782
807
|
"action": action,
|
|
@@ -946,9 +971,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
946
971
|
if not instance_id:
|
|
947
972
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
948
973
|
return self._post(
|
|
949
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup"
|
|
950
|
-
if self._client._base_url_overridden
|
|
951
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup",
|
|
974
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup",
|
|
952
975
|
body=maybe_transform(
|
|
953
976
|
{"servergroup_id": servergroup_id},
|
|
954
977
|
instance_add_to_placement_group_params.InstanceAddToPlacementGroupParams,
|
|
@@ -967,6 +990,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
967
990
|
region_id: int | None = None,
|
|
968
991
|
servergroup_id: str,
|
|
969
992
|
polling_interval_seconds: int | Omit = omit,
|
|
993
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
970
994
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
971
995
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
972
996
|
extra_headers: Headers | None = None,
|
|
@@ -993,6 +1017,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
993
1017
|
task_id=response.tasks[0],
|
|
994
1018
|
extra_headers=extra_headers,
|
|
995
1019
|
polling_interval_seconds=polling_interval_seconds,
|
|
1020
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
996
1021
|
)
|
|
997
1022
|
return self.get(
|
|
998
1023
|
instance_id=instance_id,
|
|
@@ -1043,9 +1068,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1043
1068
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1044
1069
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
1045
1070
|
return self._post(
|
|
1046
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup"
|
|
1047
|
-
if self._client._base_url_overridden
|
|
1048
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup",
|
|
1071
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup",
|
|
1049
1072
|
body=maybe_transform(
|
|
1050
1073
|
{
|
|
1051
1074
|
"name": name,
|
|
@@ -1091,9 +1114,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1091
1114
|
if not port_id:
|
|
1092
1115
|
raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
|
|
1093
1116
|
return self._post(
|
|
1094
|
-
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security"
|
|
1095
|
-
if self._client._base_url_overridden
|
|
1096
|
-
else f"https://api.gcore.com//cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security",
|
|
1117
|
+
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security",
|
|
1097
1118
|
options=make_request_options(
|
|
1098
1119
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1099
1120
|
),
|
|
@@ -1132,9 +1153,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1132
1153
|
if not port_id:
|
|
1133
1154
|
raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
|
|
1134
1155
|
return self._post(
|
|
1135
|
-
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security"
|
|
1136
|
-
if self._client._base_url_overridden
|
|
1137
|
-
else f"https://api.gcore.com//cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security",
|
|
1156
|
+
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security",
|
|
1138
1157
|
options=make_request_options(
|
|
1139
1158
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1140
1159
|
),
|
|
@@ -1190,9 +1209,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1190
1209
|
if not instance_id:
|
|
1191
1210
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1192
1211
|
return self._get(
|
|
1193
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
1194
|
-
if self._client._base_url_overridden
|
|
1195
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
1212
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
1196
1213
|
options=make_request_options(
|
|
1197
1214
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1198
1215
|
),
|
|
@@ -1234,9 +1251,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1234
1251
|
if not instance_id:
|
|
1235
1252
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1236
1253
|
return self._get(
|
|
1237
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console"
|
|
1238
|
-
if self._client._base_url_overridden
|
|
1239
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console",
|
|
1254
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console",
|
|
1240
1255
|
options=make_request_options(
|
|
1241
1256
|
extra_headers=extra_headers,
|
|
1242
1257
|
extra_query=extra_query,
|
|
@@ -1283,9 +1298,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1283
1298
|
if not instance_id:
|
|
1284
1299
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1285
1300
|
return self._post(
|
|
1286
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup"
|
|
1287
|
-
if self._client._base_url_overridden
|
|
1288
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup",
|
|
1301
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup",
|
|
1289
1302
|
options=make_request_options(
|
|
1290
1303
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1291
1304
|
),
|
|
@@ -1299,6 +1312,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1299
1312
|
project_id: int | None = None,
|
|
1300
1313
|
region_id: int | None = None,
|
|
1301
1314
|
polling_interval_seconds: int | Omit = omit,
|
|
1315
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
1302
1316
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1303
1317
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1304
1318
|
extra_headers: Headers | None = None,
|
|
@@ -1324,6 +1338,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1324
1338
|
task_id=response.tasks[0],
|
|
1325
1339
|
extra_headers=extra_headers,
|
|
1326
1340
|
polling_interval_seconds=polling_interval_seconds,
|
|
1341
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
1327
1342
|
)
|
|
1328
1343
|
return self.get(
|
|
1329
1344
|
instance_id=instance_id,
|
|
@@ -1367,9 +1382,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1367
1382
|
if not instance_id:
|
|
1368
1383
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1369
1384
|
return self._post(
|
|
1370
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor"
|
|
1371
|
-
if self._client._base_url_overridden
|
|
1372
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor",
|
|
1385
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor",
|
|
1373
1386
|
body=maybe_transform({"flavor_id": flavor_id}, instance_resize_params.InstanceResizeParams),
|
|
1374
1387
|
options=make_request_options(
|
|
1375
1388
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -1385,6 +1398,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1385
1398
|
region_id: int | None = None,
|
|
1386
1399
|
flavor_id: str,
|
|
1387
1400
|
polling_interval_seconds: int | Omit = omit,
|
|
1401
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
1388
1402
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1389
1403
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1390
1404
|
extra_headers: Headers | None = None,
|
|
@@ -1411,6 +1425,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1411
1425
|
task_id=response.tasks[0],
|
|
1412
1426
|
extra_headers=extra_headers,
|
|
1413
1427
|
polling_interval_seconds=polling_interval_seconds,
|
|
1428
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
1414
1429
|
)
|
|
1415
1430
|
return self.get(
|
|
1416
1431
|
instance_id=instance_id,
|
|
@@ -1461,9 +1476,7 @@ class InstancesResource(SyncAPIResource):
|
|
|
1461
1476
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1462
1477
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
1463
1478
|
return self._post(
|
|
1464
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup"
|
|
1465
|
-
if self._client._base_url_overridden
|
|
1466
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup",
|
|
1479
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup",
|
|
1467
1480
|
body=maybe_transform(
|
|
1468
1481
|
{
|
|
1469
1482
|
"name": name,
|
|
@@ -1641,9 +1654,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1641
1654
|
if region_id is None:
|
|
1642
1655
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
1643
1656
|
return await self._post(
|
|
1644
|
-
f"/cloud/v2/instances/{project_id}/{region_id}"
|
|
1645
|
-
if self._client._base_url_overridden
|
|
1646
|
-
else f"https://api.gcore.com//cloud/v2/instances/{project_id}/{region_id}",
|
|
1657
|
+
f"/cloud/v2/instances/{project_id}/{region_id}",
|
|
1647
1658
|
body=await async_maybe_transform(
|
|
1648
1659
|
{
|
|
1649
1660
|
"flavor": flavor,
|
|
@@ -1689,6 +1700,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1689
1700
|
user_data: str | Omit = omit,
|
|
1690
1701
|
username: str | Omit = omit,
|
|
1691
1702
|
polling_interval_seconds: int | Omit = omit,
|
|
1703
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
1692
1704
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1693
1705
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1694
1706
|
extra_headers: Headers | None = None,
|
|
@@ -1725,6 +1737,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1725
1737
|
task_id=response.tasks[0],
|
|
1726
1738
|
extra_headers=extra_headers,
|
|
1727
1739
|
polling_interval_seconds=polling_interval_seconds,
|
|
1740
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
1728
1741
|
)
|
|
1729
1742
|
if (
|
|
1730
1743
|
not task.created_resources
|
|
@@ -1745,7 +1758,8 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1745
1758
|
*,
|
|
1746
1759
|
project_id: int | None = None,
|
|
1747
1760
|
region_id: int | None = None,
|
|
1748
|
-
name: str,
|
|
1761
|
+
name: str | Omit = omit,
|
|
1762
|
+
tags: Optional[TagUpdateMapParam] | Omit = omit,
|
|
1749
1763
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1750
1764
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1751
1765
|
extra_headers: Headers | None = None,
|
|
@@ -1754,7 +1768,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1754
1768
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1755
1769
|
) -> Instance:
|
|
1756
1770
|
"""
|
|
1757
|
-
Rename instance
|
|
1771
|
+
Rename instance or update tags
|
|
1758
1772
|
|
|
1759
1773
|
Args:
|
|
1760
1774
|
project_id: Project ID
|
|
@@ -1763,7 +1777,29 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1763
1777
|
|
|
1764
1778
|
instance_id: Instance ID
|
|
1765
1779
|
|
|
1766
|
-
name: Name
|
|
1780
|
+
name: Name
|
|
1781
|
+
|
|
1782
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
1783
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
1784
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
1785
|
+
cannot be modified.
|
|
1786
|
+
|
|
1787
|
+
**Examples:**
|
|
1788
|
+
|
|
1789
|
+
- **Add/update tags:**
|
|
1790
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
1791
|
+
updates existing ones.
|
|
1792
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
1793
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
1794
|
+
tags are preserved).
|
|
1795
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
1796
|
+
specified tags.
|
|
1797
|
+
- **Mixed operations:**
|
|
1798
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
1799
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
1800
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
1801
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
1802
|
+
ones in the same request.
|
|
1767
1803
|
|
|
1768
1804
|
extra_headers: Send extra headers
|
|
1769
1805
|
|
|
@@ -1780,10 +1816,14 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1780
1816
|
if not instance_id:
|
|
1781
1817
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
1782
1818
|
return await self._patch(
|
|
1783
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1819
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
1820
|
+
body=await async_maybe_transform(
|
|
1821
|
+
{
|
|
1822
|
+
"name": name,
|
|
1823
|
+
"tags": tags,
|
|
1824
|
+
},
|
|
1825
|
+
instance_update_params.InstanceUpdateParams,
|
|
1826
|
+
),
|
|
1787
1827
|
options=make_request_options(
|
|
1788
1828
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1789
1829
|
),
|
|
@@ -1811,7 +1851,8 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1811
1851
|
offset: int | Omit = omit,
|
|
1812
1852
|
only_isolated: bool | Omit = omit,
|
|
1813
1853
|
only_with_fixed_external_ip: bool | Omit = omit,
|
|
1814
|
-
order_by: Literal["created.asc", "created.desc", "name.asc", "name.desc"
|
|
1854
|
+
order_by: Literal["created.asc", "created.desc", "name.asc", "name.desc", "status.asc", "status.desc"]
|
|
1855
|
+
| Omit = omit,
|
|
1815
1856
|
profile_name: str | Omit = omit,
|
|
1816
1857
|
protection_status: Literal["Active", "Queued", "Error"] | Omit = omit,
|
|
1817
1858
|
status: Literal[
|
|
@@ -1931,9 +1972,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
1931
1972
|
if region_id is None:
|
|
1932
1973
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
1933
1974
|
return self._get_api_list(
|
|
1934
|
-
f"/cloud/v1/instances/{project_id}/{region_id}"
|
|
1935
|
-
if self._client._base_url_overridden
|
|
1936
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}",
|
|
1975
|
+
f"/cloud/v1/instances/{project_id}/{region_id}",
|
|
1937
1976
|
page=AsyncOffsetPage[Instance],
|
|
1938
1977
|
options=make_request_options(
|
|
1939
1978
|
extra_headers=extra_headers,
|
|
@@ -2027,9 +2066,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2027
2066
|
if not instance_id:
|
|
2028
2067
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2029
2068
|
return await self._delete(
|
|
2030
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
2031
|
-
if self._client._base_url_overridden
|
|
2032
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
2069
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
2033
2070
|
options=make_request_options(
|
|
2034
2071
|
extra_headers=extra_headers,
|
|
2035
2072
|
extra_query=extra_query,
|
|
@@ -2059,6 +2096,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2059
2096
|
reserved_fixed_ips: str | Omit = omit,
|
|
2060
2097
|
volumes: str | Omit = omit,
|
|
2061
2098
|
polling_interval_seconds: int | Omit = omit,
|
|
2099
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
2062
2100
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2063
2101
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2064
2102
|
extra_headers: Headers | None = None,
|
|
@@ -2088,6 +2126,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2088
2126
|
task_id=response.tasks[0],
|
|
2089
2127
|
extra_headers=extra_headers,
|
|
2090
2128
|
polling_interval_seconds=polling_interval_seconds,
|
|
2129
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
2091
2130
|
)
|
|
2092
2131
|
|
|
2093
2132
|
@overload
|
|
@@ -2180,9 +2219,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2180
2219
|
if not instance_id:
|
|
2181
2220
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2182
2221
|
return await self._post(
|
|
2183
|
-
f"/cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action"
|
|
2184
|
-
if self._client._base_url_overridden
|
|
2185
|
-
else f"https://api.gcore.com//cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action",
|
|
2222
|
+
f"/cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action",
|
|
2186
2223
|
body=await async_maybe_transform(
|
|
2187
2224
|
{
|
|
2188
2225
|
"action": action,
|
|
@@ -2352,9 +2389,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2352
2389
|
if not instance_id:
|
|
2353
2390
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2354
2391
|
return await self._post(
|
|
2355
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup"
|
|
2356
|
-
if self._client._base_url_overridden
|
|
2357
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup",
|
|
2392
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup",
|
|
2358
2393
|
body=await async_maybe_transform(
|
|
2359
2394
|
{"servergroup_id": servergroup_id},
|
|
2360
2395
|
instance_add_to_placement_group_params.InstanceAddToPlacementGroupParams,
|
|
@@ -2373,6 +2408,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2373
2408
|
region_id: int | None = None,
|
|
2374
2409
|
servergroup_id: str,
|
|
2375
2410
|
polling_interval_seconds: int | Omit = omit,
|
|
2411
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
2376
2412
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2377
2413
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2378
2414
|
extra_headers: Headers | None = None,
|
|
@@ -2399,6 +2435,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2399
2435
|
task_id=response.tasks[0],
|
|
2400
2436
|
extra_headers=extra_headers,
|
|
2401
2437
|
polling_interval_seconds=polling_interval_seconds,
|
|
2438
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
2402
2439
|
)
|
|
2403
2440
|
return await self.get(
|
|
2404
2441
|
instance_id=instance_id,
|
|
@@ -2449,9 +2486,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2449
2486
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2450
2487
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
2451
2488
|
return await self._post(
|
|
2452
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup"
|
|
2453
|
-
if self._client._base_url_overridden
|
|
2454
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup",
|
|
2489
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup",
|
|
2455
2490
|
body=await async_maybe_transform(
|
|
2456
2491
|
{
|
|
2457
2492
|
"name": name,
|
|
@@ -2497,9 +2532,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2497
2532
|
if not port_id:
|
|
2498
2533
|
raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
|
|
2499
2534
|
return await self._post(
|
|
2500
|
-
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security"
|
|
2501
|
-
if self._client._base_url_overridden
|
|
2502
|
-
else f"https://api.gcore.com//cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security",
|
|
2535
|
+
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security",
|
|
2503
2536
|
options=make_request_options(
|
|
2504
2537
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
2505
2538
|
),
|
|
@@ -2538,9 +2571,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2538
2571
|
if not port_id:
|
|
2539
2572
|
raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
|
|
2540
2573
|
return await self._post(
|
|
2541
|
-
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security"
|
|
2542
|
-
if self._client._base_url_overridden
|
|
2543
|
-
else f"https://api.gcore.com//cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security",
|
|
2574
|
+
f"/cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security",
|
|
2544
2575
|
options=make_request_options(
|
|
2545
2576
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
2546
2577
|
),
|
|
@@ -2596,9 +2627,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2596
2627
|
if not instance_id:
|
|
2597
2628
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2598
2629
|
return await self._get(
|
|
2599
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}"
|
|
2600
|
-
if self._client._base_url_overridden
|
|
2601
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
2630
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}",
|
|
2602
2631
|
options=make_request_options(
|
|
2603
2632
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
2604
2633
|
),
|
|
@@ -2640,9 +2669,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2640
2669
|
if not instance_id:
|
|
2641
2670
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2642
2671
|
return await self._get(
|
|
2643
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console"
|
|
2644
|
-
if self._client._base_url_overridden
|
|
2645
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console",
|
|
2672
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console",
|
|
2646
2673
|
options=make_request_options(
|
|
2647
2674
|
extra_headers=extra_headers,
|
|
2648
2675
|
extra_query=extra_query,
|
|
@@ -2689,9 +2716,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2689
2716
|
if not instance_id:
|
|
2690
2717
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2691
2718
|
return await self._post(
|
|
2692
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup"
|
|
2693
|
-
if self._client._base_url_overridden
|
|
2694
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup",
|
|
2719
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup",
|
|
2695
2720
|
options=make_request_options(
|
|
2696
2721
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
2697
2722
|
),
|
|
@@ -2705,6 +2730,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2705
2730
|
project_id: int | None = None,
|
|
2706
2731
|
region_id: int | None = None,
|
|
2707
2732
|
polling_interval_seconds: int | Omit = omit,
|
|
2733
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
2708
2734
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2709
2735
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2710
2736
|
extra_headers: Headers | None = None,
|
|
@@ -2730,6 +2756,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2730
2756
|
task_id=response.tasks[0],
|
|
2731
2757
|
extra_headers=extra_headers,
|
|
2732
2758
|
polling_interval_seconds=polling_interval_seconds,
|
|
2759
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
2733
2760
|
)
|
|
2734
2761
|
return await self.get(
|
|
2735
2762
|
instance_id=instance_id,
|
|
@@ -2773,9 +2800,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2773
2800
|
if not instance_id:
|
|
2774
2801
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2775
2802
|
return await self._post(
|
|
2776
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor"
|
|
2777
|
-
if self._client._base_url_overridden
|
|
2778
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor",
|
|
2803
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor",
|
|
2779
2804
|
body=await async_maybe_transform({"flavor_id": flavor_id}, instance_resize_params.InstanceResizeParams),
|
|
2780
2805
|
options=make_request_options(
|
|
2781
2806
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -2791,6 +2816,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2791
2816
|
region_id: int | None = None,
|
|
2792
2817
|
flavor_id: str,
|
|
2793
2818
|
polling_interval_seconds: int | Omit = omit,
|
|
2819
|
+
polling_timeout_seconds: int | Omit = omit,
|
|
2794
2820
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2795
2821
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2796
2822
|
extra_headers: Headers | None = None,
|
|
@@ -2817,6 +2843,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2817
2843
|
task_id=response.tasks[0],
|
|
2818
2844
|
extra_headers=extra_headers,
|
|
2819
2845
|
polling_interval_seconds=polling_interval_seconds,
|
|
2846
|
+
polling_timeout_seconds=polling_timeout_seconds,
|
|
2820
2847
|
)
|
|
2821
2848
|
return await self.get(
|
|
2822
2849
|
instance_id=instance_id,
|
|
@@ -2867,9 +2894,7 @@ class AsyncInstancesResource(AsyncAPIResource):
|
|
|
2867
2894
|
raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
|
|
2868
2895
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
2869
2896
|
return await self._post(
|
|
2870
|
-
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup"
|
|
2871
|
-
if self._client._base_url_overridden
|
|
2872
|
-
else f"https://api.gcore.com//cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup",
|
|
2897
|
+
f"/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup",
|
|
2873
2898
|
body=await async_maybe_transform(
|
|
2874
2899
|
{
|
|
2875
2900
|
"name": name,
|