yandexcloud 0.337.0__py3-none-any.whl → 0.339.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 yandexcloud might be problematic. Click here for more details.
- yandex/cloud/ai/assistants/v1/common_pb2.py +32 -27
- yandex/cloud/ai/assistants/v1/common_pb2.pyi +29 -2
- yandex/cloud/ai/dataset/v1/dataset_service_pb2.py +32 -32
- yandex/cloud/ai/dataset/v1/dataset_service_pb2.pyi +7 -1
- yandex/cloud/ai/tuning/v1/tuning_service_pb2.py +39 -3
- yandex/cloud/ai/tuning/v1/tuning_service_pb2.pyi +220 -0
- yandex/cloud/ai/tuning/v1/tuning_service_pb2_grpc.py +172 -0
- yandex/cloud/ai/tuning/v1/tuning_service_pb2_grpc.pyi +68 -0
- yandex/cloud/ai/tuning/v1/tuning_task_pb2.py +3 -3
- yandex/cloud/ai/tuning/v1/tuning_task_pb2.pyi +2 -0
- yandex/cloud/apploadbalancer/v1/load_balancer_pb2.py +50 -50
- yandex/cloud/apploadbalancer/v1/load_balancer_pb2.pyi +10 -2
- yandex/cloud/apploadbalancer/v1/load_balancer_service_pb2.py +86 -66
- yandex/cloud/apploadbalancer/v1/load_balancer_service_pb2.pyi +98 -2
- yandex/cloud/apploadbalancer/v1/load_balancer_service_pb2_grpc.py +88 -0
- yandex/cloud/apploadbalancer/v1/load_balancer_service_pb2_grpc.pyi +40 -0
- yandex/cloud/backup/v1/backup_service_pb2.py +44 -40
- yandex/cloud/backup/v1/backup_service_pb2.pyi +14 -2
- yandex/cloud/backup/v1/policy_pb2.py +56 -52
- yandex/cloud/backup/v1/policy_pb2.pyi +36 -5
- yandex/cloud/backup/v1/resource_pb2.py +21 -19
- yandex/cloud/backup/v1/resource_pb2.pyi +32 -2
- yandex/cloud/backup/v1/resource_service_pb2.py +30 -30
- yandex/cloud/backup/v1/resource_service_pb2.pyi +5 -1
- yandex/cloud/baremetal/__init__.py +0 -0
- yandex/cloud/baremetal/v1alpha/__init__.py +0 -0
- yandex/cloud/baremetal/v1alpha/configuration_pb2.py +42 -0
- yandex/cloud/baremetal/v1alpha/configuration_pb2.pyi +109 -0
- yandex/cloud/baremetal/v1alpha/configuration_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/configuration_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/configuration_service_pb2.py +49 -0
- yandex/cloud/baremetal/v1alpha/configuration_service_pb2.pyi +111 -0
- yandex/cloud/baremetal/v1alpha/configuration_service_pb2_grpc.py +148 -0
- yandex/cloud/baremetal/v1alpha/configuration_service_pb2_grpc.pyi +80 -0
- yandex/cloud/baremetal/v1alpha/dhcp_pb2.py +37 -0
- yandex/cloud/baremetal/v1alpha/dhcp_pb2.pyi +33 -0
- yandex/cloud/baremetal/v1alpha/dhcp_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/dhcp_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/disk_pb2.py +39 -0
- yandex/cloud/baremetal/v1alpha/disk_pb2.pyi +68 -0
- yandex/cloud/baremetal/v1alpha/disk_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/disk_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_pb2.py +37 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_pb2.pyi +36 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_service_pb2.py +49 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_service_pb2.pyi +87 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_service_pb2_grpc.py +148 -0
- yandex/cloud/baremetal/v1alpha/hardware_pool_service_pb2_grpc.pyi +80 -0
- yandex/cloud/baremetal/v1alpha/image_pb2.py +44 -0
- yandex/cloud/baremetal/v1alpha/image_pb2.pyi +125 -0
- yandex/cloud/baremetal/v1alpha/image_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/image_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/image_service_pb2.py +108 -0
- yandex/cloud/baremetal/v1alpha/image_service_pb2.pyi +364 -0
- yandex/cloud/baremetal/v1alpha/image_service_pb2_grpc.py +327 -0
- yandex/cloud/baremetal/v1alpha/image_service_pb2_grpc.pyi +170 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_pb2.py +47 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_pb2.pyi +174 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_service_pb2.py +112 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_service_pb2.pyi +443 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_service_pb2_grpc.py +327 -0
- yandex/cloud/baremetal/v1alpha/private_subnet_service_pb2_grpc.pyi +170 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_pb2.py +45 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_pb2.pyi +143 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_service_pb2.py +106 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_service_pb2.pyi +382 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_service_pb2_grpc.py +327 -0
- yandex/cloud/baremetal/v1alpha/public_subnet_service_pb2_grpc.pyi +170 -0
- yandex/cloud/baremetal/v1alpha/server_pb2.py +54 -0
- yandex/cloud/baremetal/v1alpha/server_pb2.pyi +282 -0
- yandex/cloud/baremetal/v1alpha/server_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/server_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/server_service_pb2.py +217 -0
- yandex/cloud/baremetal/v1alpha/server_service_pb2.pyi +850 -0
- yandex/cloud/baremetal/v1alpha/server_service_pb2_grpc.py +589 -0
- yandex/cloud/baremetal/v1alpha/server_service_pb2_grpc.pyi +281 -0
- yandex/cloud/baremetal/v1alpha/storage_pb2.py +46 -0
- yandex/cloud/baremetal/v1alpha/storage_pb2.pyi +165 -0
- yandex/cloud/baremetal/v1alpha/storage_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/storage_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/storage_service_pb2.py +51 -0
- yandex/cloud/baremetal/v1alpha/storage_service_pb2.pyi +91 -0
- yandex/cloud/baremetal/v1alpha/storage_service_pb2_grpc.py +145 -0
- yandex/cloud/baremetal/v1alpha/storage_service_pb2_grpc.pyi +70 -0
- yandex/cloud/baremetal/v1alpha/vrf_pb2.py +42 -0
- yandex/cloud/baremetal/v1alpha/vrf_pb2.pyi +77 -0
- yandex/cloud/baremetal/v1alpha/vrf_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/vrf_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/vrf_service_pb2.py +106 -0
- yandex/cloud/baremetal/v1alpha/vrf_service_pb2.pyi +357 -0
- yandex/cloud/baremetal/v1alpha/vrf_service_pb2_grpc.py +327 -0
- yandex/cloud/baremetal/v1alpha/vrf_service_pb2_grpc.pyi +170 -0
- yandex/cloud/baremetal/v1alpha/zone_pb2.py +37 -0
- yandex/cloud/baremetal/v1alpha/zone_pb2.pyi +29 -0
- yandex/cloud/baremetal/v1alpha/zone_pb2_grpc.py +24 -0
- yandex/cloud/baremetal/v1alpha/zone_pb2_grpc.pyi +17 -0
- yandex/cloud/baremetal/v1alpha/zone_service_pb2.py +49 -0
- yandex/cloud/baremetal/v1alpha/zone_service_pb2.pyi +87 -0
- yandex/cloud/baremetal/v1alpha/zone_service_pb2_grpc.py +148 -0
- yandex/cloud/baremetal/v1alpha/zone_service_pb2_grpc.pyi +80 -0
- yandex/cloud/cloudregistry/v1/registry_service_pb2.py +40 -40
- yandex/cloud/dataproc/manager/v1/job_pb2.pyi +26 -26
- yandex/cloud/dataproc/manager/v1/job_service_pb2.pyi +7 -7
- yandex/cloud/dataproc/manager/v1/job_service_pb2_grpc.py +2 -2
- yandex/cloud/dataproc/manager/v1/job_service_pb2_grpc.pyi +6 -6
- yandex/cloud/dataproc/manager/v1/manager_service_pb2.pyi +2 -2
- yandex/cloud/dataproc/manager/v1/manager_service_pb2_grpc.py +3 -3
- yandex/cloud/dataproc/manager/v1/manager_service_pb2_grpc.pyi +3 -3
- yandex/cloud/dataproc/v1/cluster_pb2.pyi +5 -5
- yandex/cloud/dataproc/v1/cluster_service_pb2.pyi +13 -13
- yandex/cloud/dataproc/v1/cluster_service_pb2_grpc.py +4 -4
- yandex/cloud/dataproc/v1/cluster_service_pb2_grpc.pyi +6 -6
- yandex/cloud/dataproc/v1/job_pb2.pyi +15 -15
- yandex/cloud/dataproc/v1/job_service_pb2.pyi +3 -3
- yandex/cloud/dataproc/v1/job_service_pb2_grpc.py +4 -4
- yandex/cloud/dataproc/v1/job_service_pb2_grpc.pyi +6 -6
- yandex/cloud/dataproc/v1/resource_preset_pb2.pyi +2 -2
- yandex/cloud/dataproc/v1/subcluster_pb2.pyi +11 -11
- yandex/cloud/dataproc/v1/subcluster_service_pb2.pyi +3 -3
- yandex/cloud/dataproc/v1/subcluster_service_pb2_grpc.py +3 -3
- yandex/cloud/dataproc/v1/subcluster_service_pb2_grpc.pyi +3 -3
- yandex/cloud/iam/v1/api_key_pb2.pyi +3 -1
- yandex/cloud/iam/v1/api_key_service_pb2.pyi +3 -1
- yandex/cloud/iam/v1/key_service_pb2.pyi +0 -2
- yandex/cloud/iam/v1/workload/oidc/federation_service_pb2.py +32 -25
- yandex/cloud/iam/v1/workload/oidc/federation_service_pb2_grpc.py +133 -0
- yandex/cloud/iam/v1/workload/oidc/federation_service_pb2_grpc.pyi +61 -0
- yandex/cloud/k8s/v1/cluster_pb2.py +40 -30
- yandex/cloud/k8s/v1/cluster_pb2.pyi +94 -2
- yandex/cloud/k8s/v1/cluster_service_pb2.py +54 -42
- yandex/cloud/k8s/v1/cluster_service_pb2.pyi +70 -4
- yandex/cloud/k8s/v1/resource_preset_pb2.py +37 -0
- yandex/cloud/k8s/v1/resource_preset_pb2.pyi +43 -0
- yandex/cloud/k8s/v1/resource_preset_pb2_grpc.py +24 -0
- yandex/cloud/k8s/v1/resource_preset_pb2_grpc.pyi +17 -0
- yandex/cloud/k8s/v1/resource_preset_service_pb2.py +53 -0
- yandex/cloud/k8s/v1/resource_preset_service_pb2.pyi +81 -0
- yandex/cloud/k8s/v1/resource_preset_service_pb2_grpc.py +146 -0
- yandex/cloud/k8s/v1/resource_preset_service_pb2_grpc.pyi +71 -0
- yandex/cloud/mdb/mysql/v1/backup_pb2.py +6 -6
- yandex/cloud/mdb/mysql/v1/backup_pb2.pyi +5 -1
- yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.py +26 -20
- yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.pyi +73 -2
- yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.py +26 -20
- yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.pyi +100 -2
- yandex/cloud/mdb/opensearch/v1/backup_pb2.py +30 -3
- yandex/cloud/mdb/opensearch/v1/backup_pb2.pyi +162 -0
- yandex/cloud/mdb/opensearch/v1/cluster_pb2.py +46 -45
- yandex/cloud/mdb/opensearch/v1/cluster_pb2.pyi +9 -2
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.py +88 -70
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.pyi +102 -4
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2_grpc.py +89 -0
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2_grpc.pyi +49 -3
- yandex/cloud/mdb/postgresql/v1/config/host10_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host10_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host11_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host11_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host12_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host12_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host13_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host13_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host14_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host14_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host15_1c_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host15_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/host16_1c_pb2.py +25 -25
- yandex/cloud/mdb/postgresql/v1/config/host16_pb2.py +25 -25
- yandex/cloud/mdb/postgresql/v1/config/host9_6_pb2.py +23 -23
- yandex/cloud/mdb/postgresql/v1/config/postgresql10_1c_pb2.py +35 -35
- yandex/cloud/mdb/postgresql/v1/config/postgresql10_pb2.py +35 -35
- yandex/cloud/mdb/postgresql/v1/config/postgresql11_1c_pb2.py +35 -35
- yandex/cloud/mdb/postgresql/v1/config/postgresql11_pb2.py +35 -35
- yandex/cloud/mdb/postgresql/v1/config/postgresql12_1c_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql12_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql13_1c_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql13_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql14_1c_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql14_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql15_1c_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql15_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql16_1c_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql16_pb2.py +37 -37
- yandex/cloud/mdb/postgresql/v1/config/postgresql9_6_pb2.py +29 -29
- yandex/cloud/monitoring/v3/unit_format_pb2.py +2 -2
- yandex/cloud/monitoring/v3/unit_format_pb2.pyi +16 -0
- yandex/cloud/searchapi/v2/gen_search_service_pb2.py +28 -22
- yandex/cloud/searchapi/v2/search_query_pb2.py +8 -8
- yandex/cloud/searchapi/v2/search_query_pb2.pyi +8 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2.py +11 -3
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2.pyi +24 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2_grpc.py +44 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2_grpc.pyi +20 -0
- yandex/cloud/spark/__init__.py +0 -0
- yandex/cloud/spark/v1/__init__.py +0 -0
- yandex/cloud/spark/v1/cluster_pb2.py +100 -0
- yandex/cloud/spark/v1/cluster_pb2.pyi +444 -0
- yandex/cloud/spark/v1/cluster_pb2_grpc.py +24 -0
- yandex/cloud/spark/v1/cluster_pb2_grpc.pyi +17 -0
- yandex/cloud/spark/v1/cluster_service_pb2.py +124 -0
- yandex/cloud/spark/v1/cluster_service_pb2.pyi +333 -0
- yandex/cloud/spark/v1/cluster_service_pb2_grpc.py +366 -0
- yandex/cloud/spark/v1/cluster_service_pb2_grpc.pyi +169 -0
- yandex/cloud/spark/v1/job_pb2.py +56 -0
- yandex/cloud/spark/v1/job_pb2.pyi +346 -0
- yandex/cloud/spark/v1/job_pb2_grpc.py +24 -0
- yandex/cloud/spark/v1/job_pb2_grpc.pyi +17 -0
- yandex/cloud/spark/v1/job_service_pb2.py +97 -0
- yandex/cloud/spark/v1/job_service_pb2.pyi +224 -0
- yandex/cloud/spark/v1/job_service_pb2_grpc.py +279 -0
- yandex/cloud/spark/v1/job_service_pb2_grpc.pyi +132 -0
- yandex/cloud/spark/v1/maintenance_pb2.py +53 -0
- yandex/cloud/spark/v1/maintenance_pb2.pyi +123 -0
- yandex/cloud/spark/v1/maintenance_pb2_grpc.py +24 -0
- yandex/cloud/spark/v1/maintenance_pb2_grpc.pyi +17 -0
- yandexcloud/__init__.py +2 -2
- yandexcloud/_operation_waiter.py +17 -19
- yandexcloud/_retry_policy.py +17 -3
- yandexcloud/_wrappers/dataproc/__init__.py +39 -0
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/METADATA +9 -9
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/RECORD +230 -118
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/WHEEL +1 -1
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.337.0.dist-info → yandexcloud-0.339.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import google.protobuf.descriptor
|
|
8
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
9
|
+
import google.protobuf.message
|
|
10
|
+
import google.protobuf.timestamp_pb2
|
|
11
|
+
import sys
|
|
12
|
+
import typing
|
|
13
|
+
|
|
14
|
+
if sys.version_info >= (3, 10):
|
|
15
|
+
import typing as typing_extensions
|
|
16
|
+
else:
|
|
17
|
+
import typing_extensions
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
20
|
+
|
|
21
|
+
@typing.final
|
|
22
|
+
class MaintenanceWindow(google.protobuf.message.Message):
|
|
23
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
24
|
+
|
|
25
|
+
ANYTIME_FIELD_NUMBER: builtins.int
|
|
26
|
+
WEEKLY_MAINTENANCE_WINDOW_FIELD_NUMBER: builtins.int
|
|
27
|
+
@property
|
|
28
|
+
def anytime(self) -> global___AnytimeMaintenanceWindow: ...
|
|
29
|
+
@property
|
|
30
|
+
def weekly_maintenance_window(self) -> global___WeeklyMaintenanceWindow: ...
|
|
31
|
+
def __init__(
|
|
32
|
+
self,
|
|
33
|
+
*,
|
|
34
|
+
anytime: global___AnytimeMaintenanceWindow | None = ...,
|
|
35
|
+
weekly_maintenance_window: global___WeeklyMaintenanceWindow | None = ...,
|
|
36
|
+
) -> None: ...
|
|
37
|
+
def HasField(self, field_name: typing.Literal["anytime", b"anytime", "policy", b"policy", "weekly_maintenance_window", b"weekly_maintenance_window"]) -> builtins.bool: ...
|
|
38
|
+
def ClearField(self, field_name: typing.Literal["anytime", b"anytime", "policy", b"policy", "weekly_maintenance_window", b"weekly_maintenance_window"]) -> None: ...
|
|
39
|
+
def WhichOneof(self, oneof_group: typing.Literal["policy", b"policy"]) -> typing.Literal["anytime", "weekly_maintenance_window"] | None: ...
|
|
40
|
+
|
|
41
|
+
global___MaintenanceWindow = MaintenanceWindow
|
|
42
|
+
|
|
43
|
+
@typing.final
|
|
44
|
+
class AnytimeMaintenanceWindow(google.protobuf.message.Message):
|
|
45
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
46
|
+
|
|
47
|
+
def __init__(
|
|
48
|
+
self,
|
|
49
|
+
) -> None: ...
|
|
50
|
+
|
|
51
|
+
global___AnytimeMaintenanceWindow = AnytimeMaintenanceWindow
|
|
52
|
+
|
|
53
|
+
@typing.final
|
|
54
|
+
class WeeklyMaintenanceWindow(google.protobuf.message.Message):
|
|
55
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
56
|
+
|
|
57
|
+
class _WeekDay:
|
|
58
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
59
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
60
|
+
|
|
61
|
+
class _WeekDayEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WeeklyMaintenanceWindow._WeekDay.ValueType], builtins.type):
|
|
62
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
63
|
+
WEEK_DAY_UNSPECIFIED: WeeklyMaintenanceWindow._WeekDay.ValueType # 0
|
|
64
|
+
MON: WeeklyMaintenanceWindow._WeekDay.ValueType # 1
|
|
65
|
+
TUE: WeeklyMaintenanceWindow._WeekDay.ValueType # 2
|
|
66
|
+
WED: WeeklyMaintenanceWindow._WeekDay.ValueType # 3
|
|
67
|
+
THU: WeeklyMaintenanceWindow._WeekDay.ValueType # 4
|
|
68
|
+
FRI: WeeklyMaintenanceWindow._WeekDay.ValueType # 5
|
|
69
|
+
SAT: WeeklyMaintenanceWindow._WeekDay.ValueType # 6
|
|
70
|
+
SUN: WeeklyMaintenanceWindow._WeekDay.ValueType # 7
|
|
71
|
+
|
|
72
|
+
class WeekDay(_WeekDay, metaclass=_WeekDayEnumTypeWrapper): ...
|
|
73
|
+
WEEK_DAY_UNSPECIFIED: WeeklyMaintenanceWindow.WeekDay.ValueType # 0
|
|
74
|
+
MON: WeeklyMaintenanceWindow.WeekDay.ValueType # 1
|
|
75
|
+
TUE: WeeklyMaintenanceWindow.WeekDay.ValueType # 2
|
|
76
|
+
WED: WeeklyMaintenanceWindow.WeekDay.ValueType # 3
|
|
77
|
+
THU: WeeklyMaintenanceWindow.WeekDay.ValueType # 4
|
|
78
|
+
FRI: WeeklyMaintenanceWindow.WeekDay.ValueType # 5
|
|
79
|
+
SAT: WeeklyMaintenanceWindow.WeekDay.ValueType # 6
|
|
80
|
+
SUN: WeeklyMaintenanceWindow.WeekDay.ValueType # 7
|
|
81
|
+
|
|
82
|
+
DAY_FIELD_NUMBER: builtins.int
|
|
83
|
+
HOUR_FIELD_NUMBER: builtins.int
|
|
84
|
+
day: global___WeeklyMaintenanceWindow.WeekDay.ValueType
|
|
85
|
+
hour: builtins.int
|
|
86
|
+
"""Hour of the day in UTC."""
|
|
87
|
+
def __init__(
|
|
88
|
+
self,
|
|
89
|
+
*,
|
|
90
|
+
day: global___WeeklyMaintenanceWindow.WeekDay.ValueType = ...,
|
|
91
|
+
hour: builtins.int = ...,
|
|
92
|
+
) -> None: ...
|
|
93
|
+
def ClearField(self, field_name: typing.Literal["day", b"day", "hour", b"hour"]) -> None: ...
|
|
94
|
+
|
|
95
|
+
global___WeeklyMaintenanceWindow = WeeklyMaintenanceWindow
|
|
96
|
+
|
|
97
|
+
@typing.final
|
|
98
|
+
class MaintenanceOperation(google.protobuf.message.Message):
|
|
99
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
100
|
+
|
|
101
|
+
INFO_FIELD_NUMBER: builtins.int
|
|
102
|
+
DELAYED_UNTIL_FIELD_NUMBER: builtins.int
|
|
103
|
+
LATEST_MAINTENANCE_TIME_FIELD_NUMBER: builtins.int
|
|
104
|
+
NEXT_MAINTENANCE_WINDOW_TIME_FIELD_NUMBER: builtins.int
|
|
105
|
+
info: builtins.str
|
|
106
|
+
@property
|
|
107
|
+
def delayed_until(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
108
|
+
@property
|
|
109
|
+
def latest_maintenance_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
110
|
+
@property
|
|
111
|
+
def next_maintenance_window_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
112
|
+
def __init__(
|
|
113
|
+
self,
|
|
114
|
+
*,
|
|
115
|
+
info: builtins.str = ...,
|
|
116
|
+
delayed_until: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
117
|
+
latest_maintenance_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
118
|
+
next_maintenance_window_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
119
|
+
) -> None: ...
|
|
120
|
+
def HasField(self, field_name: typing.Literal["delayed_until", b"delayed_until", "latest_maintenance_time", b"latest_maintenance_time", "next_maintenance_window_time", b"next_maintenance_window_time"]) -> builtins.bool: ...
|
|
121
|
+
def ClearField(self, field_name: typing.Literal["delayed_until", b"delayed_until", "info", b"info", "latest_maintenance_time", b"latest_maintenance_time", "next_maintenance_window_time", b"next_maintenance_window_time"]) -> None: ...
|
|
122
|
+
|
|
123
|
+
global___MaintenanceOperation = MaintenanceOperation
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
GRPC_GENERATED_VERSION = '1.70.0'
|
|
8
|
+
GRPC_VERSION = grpc.__version__
|
|
9
|
+
_version_not_supported = False
|
|
10
|
+
|
|
11
|
+
try:
|
|
12
|
+
from grpc._utilities import first_version_is_lower
|
|
13
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
|
14
|
+
except ImportError:
|
|
15
|
+
_version_not_supported = True
|
|
16
|
+
|
|
17
|
+
if _version_not_supported:
|
|
18
|
+
raise RuntimeError(
|
|
19
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
|
20
|
+
+ f' but the generated code in yandex/cloud/spark/v1/maintenance_pb2_grpc.py depends on'
|
|
21
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
|
22
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
|
23
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
|
24
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import abc
|
|
7
|
+
import collections.abc
|
|
8
|
+
import grpc
|
|
9
|
+
import grpc.aio
|
|
10
|
+
import typing
|
|
11
|
+
|
|
12
|
+
_T = typing.TypeVar("_T")
|
|
13
|
+
|
|
14
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
15
|
+
|
|
16
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
17
|
+
...
|
yandexcloud/__init__.py
CHANGED
|
@@ -8,7 +8,7 @@ from yandexcloud._backoff import (
|
|
|
8
8
|
default_backoff,
|
|
9
9
|
)
|
|
10
10
|
from yandexcloud._retry_interceptor import RetryInterceptor
|
|
11
|
-
from yandexcloud._retry_policy import RetryPolicy
|
|
11
|
+
from yandexcloud._retry_policy import RetryPolicy, ThrottlingMode
|
|
12
12
|
from yandexcloud._sdk import SDK
|
|
13
13
|
|
|
14
|
-
__version__ = "0.
|
|
14
|
+
__version__ = "0.339.0"
|
yandexcloud/_operation_waiter.py
CHANGED
|
@@ -63,44 +63,42 @@ def get_operation_result(
|
|
|
63
63
|
operation_result: OperationResult[ResponseType, MetaType] = OperationResult(operation)
|
|
64
64
|
created_at = datetime.fromtimestamp(operation.created_at.seconds)
|
|
65
65
|
message = (
|
|
66
|
-
"Running Yandex.Cloud operation. ID: {id}. "
|
|
67
|
-
"Description: {description}. Created at: {created_at}. "
|
|
68
|
-
"Created by: {created_by}."
|
|
69
|
-
)
|
|
70
|
-
message = message.format(
|
|
71
|
-
id=operation.id,
|
|
72
|
-
description=operation.description,
|
|
73
|
-
created_at=created_at,
|
|
74
|
-
created_by=operation.created_by,
|
|
66
|
+
f"Running Yandex.Cloud operation. ID: {operation.id}. "
|
|
67
|
+
f"Description: {operation.description}. Created at: {created_at}. "
|
|
68
|
+
f"Created by: {operation.created_by}."
|
|
75
69
|
)
|
|
70
|
+
|
|
76
71
|
if meta_type and meta_type is not Empty:
|
|
77
72
|
unpacked_meta = meta_type()
|
|
78
73
|
operation.metadata.Unpack(unpacked_meta)
|
|
79
74
|
operation_result.meta = unpacked_meta
|
|
80
75
|
message += f" Meta: {unpacked_meta}."
|
|
76
|
+
|
|
81
77
|
logger.info(message)
|
|
78
|
+
|
|
82
79
|
result = wait_for_operation(sdk, operation.id, timeout=timeout)
|
|
83
80
|
if result is None:
|
|
84
|
-
|
|
81
|
+
raise OperationError(message="Unexpected operation result", operation_result=operation_result)
|
|
82
|
+
|
|
85
83
|
if result.error and result.error.code:
|
|
86
84
|
error_message = (
|
|
87
|
-
"Error Yandex.Cloud operation. ID: {id}.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
details=result.error.details,
|
|
93
|
-
message=result.error.message,
|
|
85
|
+
f"Error Yandex.Cloud operation. ID: {result.id}. "
|
|
86
|
+
f"Error code: {result.error.code}. "
|
|
87
|
+
f"Details: {result.error.details}. "
|
|
88
|
+
f"Message: {result.error.message}. "
|
|
89
|
+
f"Meta: {operation_result.meta}."
|
|
94
90
|
)
|
|
95
91
|
logger.error(error_message)
|
|
96
|
-
raise OperationError(message=error_message, operation_result=
|
|
92
|
+
raise OperationError(message=error_message, operation_result=operation_result)
|
|
97
93
|
|
|
98
94
|
log_message = f"Done Yandex.Cloud operation. ID: {operation.id}."
|
|
99
95
|
if response_type and response_type is not Empty:
|
|
100
96
|
unpacked_response = response_type()
|
|
101
97
|
result.response.Unpack(unpacked_response)
|
|
102
98
|
operation_result.response = unpacked_response
|
|
103
|
-
log_message += f" Response: {
|
|
99
|
+
log_message += f" Response: {operation_result.response}."
|
|
100
|
+
log_message += f" Meta: {operation_result.meta}."
|
|
101
|
+
|
|
104
102
|
logger.info(log_message)
|
|
105
103
|
return operation_result
|
|
106
104
|
|
yandexcloud/_retry_policy.py
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from
|
|
2
|
+
from enum import Enum
|
|
3
|
+
from typing import Any, Dict, Tuple
|
|
3
4
|
|
|
4
5
|
import grpc
|
|
5
6
|
|
|
6
7
|
|
|
8
|
+
class ThrottlingMode(str, Enum):
|
|
9
|
+
PERSISTENT = "persistent"
|
|
10
|
+
TEMPORARY = "temporary"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def get_throttling_policy(throttling_mode: ThrottlingMode) -> Dict[str, Any]:
|
|
14
|
+
if throttling_mode == ThrottlingMode.PERSISTENT:
|
|
15
|
+
return {"maxTokens": 100, "tokenRatio": 0.1}
|
|
16
|
+
|
|
17
|
+
return {"maxTokens": 6, "tokenRatio": 0.1}
|
|
18
|
+
|
|
19
|
+
|
|
7
20
|
class RetryPolicy:
|
|
8
21
|
def __init__(
|
|
9
22
|
self,
|
|
10
23
|
max_attempts: int = 4,
|
|
11
24
|
status_codes: Tuple["grpc.StatusCode"] = (grpc.StatusCode.UNAVAILABLE,),
|
|
25
|
+
throttling_mode: ThrottlingMode = ThrottlingMode.TEMPORARY,
|
|
12
26
|
):
|
|
13
27
|
self.__policy = {
|
|
14
28
|
"methodConfig": [
|
|
@@ -21,10 +35,10 @@ class RetryPolicy:
|
|
|
21
35
|
"backoffMultiplier": 2,
|
|
22
36
|
"retryableStatusCodes": [status.name for status in status_codes],
|
|
23
37
|
},
|
|
38
|
+
"waitForReady": True,
|
|
24
39
|
}
|
|
25
40
|
],
|
|
26
|
-
"retryThrottling":
|
|
27
|
-
"waitForReady": True,
|
|
41
|
+
"retryThrottling": get_throttling_policy(throttling_mode),
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
def to_json(self) -> str:
|
|
@@ -474,6 +474,45 @@ class Dataproc:
|
|
|
474
474
|
meta_type=cluster_service_pb.DeleteClusterMetadata,
|
|
475
475
|
)
|
|
476
476
|
|
|
477
|
+
def stop_cluster(self, cluster_id=None, decommission_timeout=0):
|
|
478
|
+
"""
|
|
479
|
+
Stop Yandex.Cloud Data Proc cluster.
|
|
480
|
+
:param cluster_id: ID of the cluster to stop.
|
|
481
|
+
:type cluster_id: str
|
|
482
|
+
:param decommission_timeout: Timeout to gracefully decommission nodes during downscaling. In seconds.
|
|
483
|
+
:type decommission_timeout: int
|
|
484
|
+
"""
|
|
485
|
+
cluster_id = cluster_id or self.cluster_id
|
|
486
|
+
if not cluster_id:
|
|
487
|
+
raise RuntimeError("Cluster id must be specified.")
|
|
488
|
+
|
|
489
|
+
request = cluster_service_pb.StopClusterRequest(
|
|
490
|
+
cluster_id=cluster_id, decommission_timeout=decommission_timeout
|
|
491
|
+
)
|
|
492
|
+
return self.sdk.create_operation_and_get_result(
|
|
493
|
+
request,
|
|
494
|
+
service=cluster_service_grpc_pb.ClusterServiceStub,
|
|
495
|
+
method_name="Stop",
|
|
496
|
+
meta_type=cluster_service_pb.StopClusterMetadata,
|
|
497
|
+
)
|
|
498
|
+
|
|
499
|
+
def start_cluster(self, cluster_id=None):
|
|
500
|
+
"""
|
|
501
|
+
Start Yandex.Cloud Data Proc cluster.
|
|
502
|
+
:param cluster_id: ID of the cluster to start.
|
|
503
|
+
:type cluster_id: str
|
|
504
|
+
"""
|
|
505
|
+
cluster_id = cluster_id or self.cluster_id
|
|
506
|
+
if not cluster_id:
|
|
507
|
+
raise RuntimeError("Cluster id must be specified.")
|
|
508
|
+
request = cluster_service_pb.StartClusterRequest(cluster_id=cluster_id)
|
|
509
|
+
return self.sdk.create_operation_and_get_result(
|
|
510
|
+
request,
|
|
511
|
+
service=cluster_service_grpc_pb.ClusterServiceStub,
|
|
512
|
+
method_name="Start",
|
|
513
|
+
meta_type=cluster_service_pb.StartClusterMetadata,
|
|
514
|
+
)
|
|
515
|
+
|
|
477
516
|
def create_hive_job(
|
|
478
517
|
self,
|
|
479
518
|
query=None,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: yandexcloud
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.339.0
|
|
4
4
|
Summary: The Yandex Cloud official SDK
|
|
5
5
|
Author-email: Yandex LLC <cloud@support.yandex.ru>
|
|
6
6
|
License: MIT
|
|
@@ -185,22 +185,22 @@ set_up_yc_api_endpoint(kz_region_endpoint)
|
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
### Retries
|
|
188
|
-
|
|
188
|
+
SDK provide built-in retry policy, that supports [exponential backoff and jitter](https://aws.amazon.com/ru/blogs/architecture/exponential-backoff-and-jitter/), and also [retry budget](https://github.com/grpc/proposal/blob/master/A6-client-retries.md#throttling-retry-attempts-and-hedged-rpcs). It's necessary to avoid retry amplification.
|
|
189
189
|
|
|
190
190
|
```python
|
|
191
191
|
import grpc
|
|
192
192
|
from yandexcloud import SDK, RetryPolicy
|
|
193
193
|
|
|
194
|
-
sdk = SDK(retry_policy=RetryPolicy(
|
|
194
|
+
sdk = SDK(retry_policy=RetryPolicy())
|
|
195
195
|
```
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
197
|
+
SDK provide different modes for retry throttling policy:
|
|
198
|
+
|
|
199
|
+
* `persistent` is suitable when you use SDK in any long-lived application, when SDK instance will live long enough for manage budget;
|
|
200
|
+
* `temporary` is suitable when you use SDK in any short-lived application, e.g. scripts or CI/CD.
|
|
201
|
+
|
|
202
|
+
By default, SDK will use temporary mode, but you can change it through `throttling_mode` argument.
|
|
201
203
|
|
|
202
|
-
sdk = SDK(retry_policy=RetryPolicy())
|
|
203
|
-
```
|
|
204
204
|
|
|
205
205
|
## Contributing
|
|
206
206
|
### Dependencies
|