gcore 0.3.0__py3-none-any.whl → 0.4.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 +22 -0
- gcore/_client.py +9 -0
- gcore/_version.py +1 -1
- gcore/pagination.py +61 -1
- gcore/resources/__init__.py +14 -0
- gcore/resources/cloud/baremetal/flavors.py +11 -137
- gcore/resources/cloud/baremetal/images.py +10 -12
- gcore/resources/cloud/baremetal/servers.py +31 -28
- 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 +31 -20
- 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 +10 -2
- gcore/resources/cloud/inference/registry_credentials.py +2 -2
- gcore/resources/cloud/inference/secrets.py +8 -8
- gcore/resources/cloud/instances/flavors.py +9 -233
- gcore/resources/cloud/instances/images.py +47 -37
- gcore/resources/cloud/instances/instances.py +47 -32
- 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/security_groups/rules.py +6 -6
- gcore/resources/cloud/security_groups/security_groups.py +70 -31
- gcore/resources/cloud/tasks.py +4 -4
- gcore/resources/cloud/users/role_assignments.py +12 -14
- gcore/resources/cloud/volumes.py +139 -49
- 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/baremetal/__init__.py +0 -1
- gcore/types/cloud/baremetal/image_list_params.py +1 -5
- gcore/types/cloud/baremetal/server_create_params.py +4 -8
- 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 +2 -3
- gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +2 -4
- gcore/types/cloud/health_monitor.py +6 -1
- gcore/types/cloud/instance_create_params.py +7 -8
- 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/volume_list_params.py +1 -5
- gcore/types/cloud/volume_update_params.py +29 -3
- 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.4.0.dist-info}/METADATA +40 -3
- {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/RECORD +115 -101
- gcore/resources/waap/clients.py +0 -135
- gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
- 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/waap/client_me_response.py +0 -34
- {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/WHEEL +0 -0
- {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/licenses/LICENSE +0 -0
gcore/resources/cloud/volumes.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List, Iterable
|
|
5
|
+
from typing import List, Iterable, Optional
|
|
6
6
|
from typing_extensions import Literal, overload
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
@@ -79,8 +79,11 @@ class VolumesResource(SyncAPIResource):
|
|
|
79
79
|
extra_body: Body | None = None,
|
|
80
80
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
81
81
|
) -> TaskIDList:
|
|
82
|
-
"""
|
|
83
|
-
|
|
82
|
+
"""Create a new volume in the project and region.
|
|
83
|
+
|
|
84
|
+
The volume can be created from
|
|
85
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
86
|
+
instance during creation.
|
|
84
87
|
|
|
85
88
|
Args:
|
|
86
89
|
project_id: Project ID
|
|
@@ -145,8 +148,11 @@ class VolumesResource(SyncAPIResource):
|
|
|
145
148
|
extra_body: Body | None = None,
|
|
146
149
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
147
150
|
) -> TaskIDList:
|
|
148
|
-
"""
|
|
149
|
-
|
|
151
|
+
"""Create a new volume in the project and region.
|
|
152
|
+
|
|
153
|
+
The volume can be created from
|
|
154
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
155
|
+
instance during creation.
|
|
150
156
|
|
|
151
157
|
Args:
|
|
152
158
|
project_id: Project ID
|
|
@@ -211,8 +217,11 @@ class VolumesResource(SyncAPIResource):
|
|
|
211
217
|
extra_body: Body | None = None,
|
|
212
218
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
213
219
|
) -> TaskIDList:
|
|
214
|
-
"""
|
|
215
|
-
|
|
220
|
+
"""Create a new volume in the project and region.
|
|
221
|
+
|
|
222
|
+
The volume can be created from
|
|
223
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
224
|
+
instance during creation.
|
|
216
225
|
|
|
217
226
|
Args:
|
|
218
227
|
project_id: Project ID
|
|
@@ -311,7 +320,8 @@ class VolumesResource(SyncAPIResource):
|
|
|
311
320
|
*,
|
|
312
321
|
project_id: int | None = None,
|
|
313
322
|
region_id: int | None = None,
|
|
314
|
-
name: str,
|
|
323
|
+
name: str | NotGiven = NOT_GIVEN,
|
|
324
|
+
tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
|
|
315
325
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
316
326
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
317
327
|
extra_headers: Headers | None = None,
|
|
@@ -320,7 +330,7 @@ class VolumesResource(SyncAPIResource):
|
|
|
320
330
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
321
331
|
) -> Volume:
|
|
322
332
|
"""
|
|
323
|
-
Rename volume
|
|
333
|
+
Rename a volume or update tags
|
|
324
334
|
|
|
325
335
|
Args:
|
|
326
336
|
project_id: Project ID
|
|
@@ -329,7 +339,27 @@ class VolumesResource(SyncAPIResource):
|
|
|
329
339
|
|
|
330
340
|
volume_id: Volume ID
|
|
331
341
|
|
|
332
|
-
name: Name
|
|
342
|
+
name: Name
|
|
343
|
+
|
|
344
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
345
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
346
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
347
|
+
cannot be modified. **Examples:**
|
|
348
|
+
|
|
349
|
+
- **Add/update tags:**
|
|
350
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
351
|
+
updates existing ones.
|
|
352
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
353
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
354
|
+
tags are preserved).
|
|
355
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
356
|
+
specified tags.
|
|
357
|
+
- **Mixed operations:**
|
|
358
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
359
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
360
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
361
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
362
|
+
ones in the same request.
|
|
333
363
|
|
|
334
364
|
extra_headers: Send extra headers
|
|
335
365
|
|
|
@@ -347,7 +377,13 @@ class VolumesResource(SyncAPIResource):
|
|
|
347
377
|
raise ValueError(f"Expected a non-empty value for `volume_id` but received {volume_id!r}")
|
|
348
378
|
return self._patch(
|
|
349
379
|
f"/cloud/v1/volumes/{project_id}/{region_id}/{volume_id}",
|
|
350
|
-
body=maybe_transform(
|
|
380
|
+
body=maybe_transform(
|
|
381
|
+
{
|
|
382
|
+
"name": name,
|
|
383
|
+
"tags": tags,
|
|
384
|
+
},
|
|
385
|
+
volume_update_params.VolumeUpdateParams,
|
|
386
|
+
),
|
|
351
387
|
options=make_request_options(
|
|
352
388
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
353
389
|
),
|
|
@@ -376,8 +412,11 @@ class VolumesResource(SyncAPIResource):
|
|
|
376
412
|
extra_body: Body | None = None,
|
|
377
413
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
378
414
|
) -> SyncOffsetPage[Volume]:
|
|
379
|
-
"""
|
|
380
|
-
|
|
415
|
+
"""Retrieve a list of volumes in the project and region.
|
|
416
|
+
|
|
417
|
+
The list can be filtered
|
|
418
|
+
by various parameters like bootable status, metadata/tags, attachments, instance
|
|
419
|
+
ID, name, and ID.
|
|
381
420
|
|
|
382
421
|
Args:
|
|
383
422
|
project_id: Project ID
|
|
@@ -404,9 +443,7 @@ class VolumesResource(SyncAPIResource):
|
|
|
404
443
|
|
|
405
444
|
tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
|
|
406
445
|
|
|
407
|
-
tag_key_value: Optional. Filter by tag key-value pairs.
|
|
408
|
-
"`tag_key_value`={"key": "value"}" --url
|
|
409
|
-
"https://example.com/cloud/v1/resource/1/1"
|
|
446
|
+
tag_key_value: Optional. Filter by tag key-value pairs.
|
|
410
447
|
|
|
411
448
|
extra_headers: Send extra headers
|
|
412
449
|
|
|
@@ -461,8 +498,10 @@ class VolumesResource(SyncAPIResource):
|
|
|
461
498
|
extra_body: Body | None = None,
|
|
462
499
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
463
500
|
) -> TaskIDList:
|
|
464
|
-
"""
|
|
465
|
-
|
|
501
|
+
"""Delete a volume and all its snapshots.
|
|
502
|
+
|
|
503
|
+
The volume must be in an available state
|
|
504
|
+
to be deleted.
|
|
466
505
|
|
|
467
506
|
Args:
|
|
468
507
|
project_id: Project ID
|
|
@@ -573,8 +612,10 @@ class VolumesResource(SyncAPIResource):
|
|
|
573
612
|
extra_body: Body | None = None,
|
|
574
613
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
575
614
|
) -> Volume:
|
|
576
|
-
"""
|
|
577
|
-
|
|
615
|
+
"""Change the type of a volume.
|
|
616
|
+
|
|
617
|
+
The volume must not have any snapshots to change
|
|
618
|
+
its type.
|
|
578
619
|
|
|
579
620
|
Args:
|
|
580
621
|
project_id: Project ID
|
|
@@ -673,7 +714,7 @@ class VolumesResource(SyncAPIResource):
|
|
|
673
714
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
674
715
|
) -> Volume:
|
|
675
716
|
"""
|
|
676
|
-
|
|
717
|
+
Retrieve detailed information about a specific volume.
|
|
677
718
|
|
|
678
719
|
Args:
|
|
679
720
|
project_id: Project ID
|
|
@@ -718,8 +759,10 @@ class VolumesResource(SyncAPIResource):
|
|
|
718
759
|
extra_body: Body | None = None,
|
|
719
760
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
720
761
|
) -> TaskIDList:
|
|
721
|
-
"""
|
|
722
|
-
|
|
762
|
+
"""Increase the size of a volume.
|
|
763
|
+
|
|
764
|
+
The new size must be greater than the current
|
|
765
|
+
size.
|
|
723
766
|
|
|
724
767
|
Args:
|
|
725
768
|
project_id: Project ID
|
|
@@ -766,8 +809,10 @@ class VolumesResource(SyncAPIResource):
|
|
|
766
809
|
extra_body: Body | None = None,
|
|
767
810
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
768
811
|
) -> None:
|
|
769
|
-
"""
|
|
770
|
-
|
|
812
|
+
"""Revert a volume to its last snapshot.
|
|
813
|
+
|
|
814
|
+
The volume must be in an available state
|
|
815
|
+
to be reverted.
|
|
771
816
|
|
|
772
817
|
Args:
|
|
773
818
|
project_id: Project ID
|
|
@@ -843,8 +888,11 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
843
888
|
extra_body: Body | None = None,
|
|
844
889
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
845
890
|
) -> TaskIDList:
|
|
846
|
-
"""
|
|
847
|
-
|
|
891
|
+
"""Create a new volume in the project and region.
|
|
892
|
+
|
|
893
|
+
The volume can be created from
|
|
894
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
895
|
+
instance during creation.
|
|
848
896
|
|
|
849
897
|
Args:
|
|
850
898
|
project_id: Project ID
|
|
@@ -909,8 +957,11 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
909
957
|
extra_body: Body | None = None,
|
|
910
958
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
911
959
|
) -> TaskIDList:
|
|
912
|
-
"""
|
|
913
|
-
|
|
960
|
+
"""Create a new volume in the project and region.
|
|
961
|
+
|
|
962
|
+
The volume can be created from
|
|
963
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
964
|
+
instance during creation.
|
|
914
965
|
|
|
915
966
|
Args:
|
|
916
967
|
project_id: Project ID
|
|
@@ -975,8 +1026,11 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
975
1026
|
extra_body: Body | None = None,
|
|
976
1027
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
977
1028
|
) -> TaskIDList:
|
|
978
|
-
"""
|
|
979
|
-
|
|
1029
|
+
"""Create a new volume in the project and region.
|
|
1030
|
+
|
|
1031
|
+
The volume can be created from
|
|
1032
|
+
scratch, from an image, or from a snapshot. Optionally attach the volume to an
|
|
1033
|
+
instance during creation.
|
|
980
1034
|
|
|
981
1035
|
Args:
|
|
982
1036
|
project_id: Project ID
|
|
@@ -1075,7 +1129,8 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1075
1129
|
*,
|
|
1076
1130
|
project_id: int | None = None,
|
|
1077
1131
|
region_id: int | None = None,
|
|
1078
|
-
name: str,
|
|
1132
|
+
name: str | NotGiven = NOT_GIVEN,
|
|
1133
|
+
tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
|
|
1079
1134
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1080
1135
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1081
1136
|
extra_headers: Headers | None = None,
|
|
@@ -1084,7 +1139,7 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1084
1139
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1085
1140
|
) -> Volume:
|
|
1086
1141
|
"""
|
|
1087
|
-
Rename volume
|
|
1142
|
+
Rename a volume or update tags
|
|
1088
1143
|
|
|
1089
1144
|
Args:
|
|
1090
1145
|
project_id: Project ID
|
|
@@ -1093,7 +1148,27 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1093
1148
|
|
|
1094
1149
|
volume_id: Volume ID
|
|
1095
1150
|
|
|
1096
|
-
name: Name
|
|
1151
|
+
name: Name
|
|
1152
|
+
|
|
1153
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
1154
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
1155
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
1156
|
+
cannot be modified. **Examples:**
|
|
1157
|
+
|
|
1158
|
+
- **Add/update tags:**
|
|
1159
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
1160
|
+
updates existing ones.
|
|
1161
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
1162
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
1163
|
+
tags are preserved).
|
|
1164
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
1165
|
+
specified tags.
|
|
1166
|
+
- **Mixed operations:**
|
|
1167
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
1168
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
1169
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
1170
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
1171
|
+
ones in the same request.
|
|
1097
1172
|
|
|
1098
1173
|
extra_headers: Send extra headers
|
|
1099
1174
|
|
|
@@ -1111,7 +1186,13 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1111
1186
|
raise ValueError(f"Expected a non-empty value for `volume_id` but received {volume_id!r}")
|
|
1112
1187
|
return await self._patch(
|
|
1113
1188
|
f"/cloud/v1/volumes/{project_id}/{region_id}/{volume_id}",
|
|
1114
|
-
body=await async_maybe_transform(
|
|
1189
|
+
body=await async_maybe_transform(
|
|
1190
|
+
{
|
|
1191
|
+
"name": name,
|
|
1192
|
+
"tags": tags,
|
|
1193
|
+
},
|
|
1194
|
+
volume_update_params.VolumeUpdateParams,
|
|
1195
|
+
),
|
|
1115
1196
|
options=make_request_options(
|
|
1116
1197
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1117
1198
|
),
|
|
@@ -1140,8 +1221,11 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1140
1221
|
extra_body: Body | None = None,
|
|
1141
1222
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1142
1223
|
) -> AsyncPaginator[Volume, AsyncOffsetPage[Volume]]:
|
|
1143
|
-
"""
|
|
1144
|
-
|
|
1224
|
+
"""Retrieve a list of volumes in the project and region.
|
|
1225
|
+
|
|
1226
|
+
The list can be filtered
|
|
1227
|
+
by various parameters like bootable status, metadata/tags, attachments, instance
|
|
1228
|
+
ID, name, and ID.
|
|
1145
1229
|
|
|
1146
1230
|
Args:
|
|
1147
1231
|
project_id: Project ID
|
|
@@ -1168,9 +1252,7 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1168
1252
|
|
|
1169
1253
|
tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
|
|
1170
1254
|
|
|
1171
|
-
tag_key_value: Optional. Filter by tag key-value pairs.
|
|
1172
|
-
"`tag_key_value`={"key": "value"}" --url
|
|
1173
|
-
"https://example.com/cloud/v1/resource/1/1"
|
|
1255
|
+
tag_key_value: Optional. Filter by tag key-value pairs.
|
|
1174
1256
|
|
|
1175
1257
|
extra_headers: Send extra headers
|
|
1176
1258
|
|
|
@@ -1225,8 +1307,10 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1225
1307
|
extra_body: Body | None = None,
|
|
1226
1308
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1227
1309
|
) -> TaskIDList:
|
|
1228
|
-
"""
|
|
1229
|
-
|
|
1310
|
+
"""Delete a volume and all its snapshots.
|
|
1311
|
+
|
|
1312
|
+
The volume must be in an available state
|
|
1313
|
+
to be deleted.
|
|
1230
1314
|
|
|
1231
1315
|
Args:
|
|
1232
1316
|
project_id: Project ID
|
|
@@ -1337,8 +1421,10 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1337
1421
|
extra_body: Body | None = None,
|
|
1338
1422
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1339
1423
|
) -> Volume:
|
|
1340
|
-
"""
|
|
1341
|
-
|
|
1424
|
+
"""Change the type of a volume.
|
|
1425
|
+
|
|
1426
|
+
The volume must not have any snapshots to change
|
|
1427
|
+
its type.
|
|
1342
1428
|
|
|
1343
1429
|
Args:
|
|
1344
1430
|
project_id: Project ID
|
|
@@ -1439,7 +1525,7 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1439
1525
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1440
1526
|
) -> Volume:
|
|
1441
1527
|
"""
|
|
1442
|
-
|
|
1528
|
+
Retrieve detailed information about a specific volume.
|
|
1443
1529
|
|
|
1444
1530
|
Args:
|
|
1445
1531
|
project_id: Project ID
|
|
@@ -1484,8 +1570,10 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1484
1570
|
extra_body: Body | None = None,
|
|
1485
1571
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1486
1572
|
) -> TaskIDList:
|
|
1487
|
-
"""
|
|
1488
|
-
|
|
1573
|
+
"""Increase the size of a volume.
|
|
1574
|
+
|
|
1575
|
+
The new size must be greater than the current
|
|
1576
|
+
size.
|
|
1489
1577
|
|
|
1490
1578
|
Args:
|
|
1491
1579
|
project_id: Project ID
|
|
@@ -1532,8 +1620,10 @@ class AsyncVolumesResource(AsyncAPIResource):
|
|
|
1532
1620
|
extra_body: Body | None = None,
|
|
1533
1621
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1534
1622
|
) -> None:
|
|
1535
|
-
"""
|
|
1536
|
-
|
|
1623
|
+
"""Revert a volume to its last snapshot.
|
|
1624
|
+
|
|
1625
|
+
The volume must be in an available state
|
|
1626
|
+
to be reverted.
|
|
1537
1627
|
|
|
1538
1628
|
Args:
|
|
1539
1629
|
project_id: Project ID
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from .iam import (
|
|
4
|
+
IamResource,
|
|
5
|
+
AsyncIamResource,
|
|
6
|
+
IamResourceWithRawResponse,
|
|
7
|
+
AsyncIamResourceWithRawResponse,
|
|
8
|
+
IamResourceWithStreamingResponse,
|
|
9
|
+
AsyncIamResourceWithStreamingResponse,
|
|
10
|
+
)
|
|
11
|
+
from .users import (
|
|
12
|
+
UsersResource,
|
|
13
|
+
AsyncUsersResource,
|
|
14
|
+
UsersResourceWithRawResponse,
|
|
15
|
+
AsyncUsersResourceWithRawResponse,
|
|
16
|
+
UsersResourceWithStreamingResponse,
|
|
17
|
+
AsyncUsersResourceWithStreamingResponse,
|
|
18
|
+
)
|
|
19
|
+
from .api_tokens import (
|
|
20
|
+
APITokensResource,
|
|
21
|
+
AsyncAPITokensResource,
|
|
22
|
+
APITokensResourceWithRawResponse,
|
|
23
|
+
AsyncAPITokensResourceWithRawResponse,
|
|
24
|
+
APITokensResourceWithStreamingResponse,
|
|
25
|
+
AsyncAPITokensResourceWithStreamingResponse,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
__all__ = [
|
|
29
|
+
"APITokensResource",
|
|
30
|
+
"AsyncAPITokensResource",
|
|
31
|
+
"APITokensResourceWithRawResponse",
|
|
32
|
+
"AsyncAPITokensResourceWithRawResponse",
|
|
33
|
+
"APITokensResourceWithStreamingResponse",
|
|
34
|
+
"AsyncAPITokensResourceWithStreamingResponse",
|
|
35
|
+
"UsersResource",
|
|
36
|
+
"AsyncUsersResource",
|
|
37
|
+
"UsersResourceWithRawResponse",
|
|
38
|
+
"AsyncUsersResourceWithRawResponse",
|
|
39
|
+
"UsersResourceWithStreamingResponse",
|
|
40
|
+
"AsyncUsersResourceWithStreamingResponse",
|
|
41
|
+
"IamResource",
|
|
42
|
+
"AsyncIamResource",
|
|
43
|
+
"IamResourceWithRawResponse",
|
|
44
|
+
"AsyncIamResourceWithRawResponse",
|
|
45
|
+
"IamResourceWithStreamingResponse",
|
|
46
|
+
"AsyncIamResourceWithStreamingResponse",
|
|
47
|
+
]
|