yandexcloud 0.336.0__py3-none-any.whl → 0.338.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.
- yandex/cloud/ai/assistants/v1/runs/run_service_pb2.py +11 -3
- yandex/cloud/ai/assistants/v1/runs/run_service_pb2.pyi +34 -0
- yandex/cloud/ai/assistants/v1/runs/run_service_pb2_grpc.py +45 -0
- yandex/cloud/ai/assistants/v1/runs/run_service_pb2_grpc.pyi +26 -0
- yandex/cloud/ai/dataset/v1/dataset_service_pb2.py +24 -24
- yandex/cloud/ai/dataset/v1/dataset_service_pb2.pyi +11 -1
- yandex/cloud/ai/foundation_models/v1/batch_inference_task_status_pb2.py +37 -0
- yandex/cloud/ai/foundation_models/v1/batch_inference_task_status_pb2.pyi +43 -0
- yandex/cloud/ai/foundation_models/v1/batch_inference_task_status_pb2_grpc.py +24 -0
- yandex/cloud/ai/foundation_models/v1/batch_inference_task_status_pb2_grpc.pyi +17 -0
- yandex/cloud/ai/foundation_models/v1/embedding/embedding_service_pb2.py +8 -7
- yandex/cloud/ai/foundation_models/v1/embedding/embedding_service_pb2.pyi +9 -1
- yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service_pb2.py +26 -15
- yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service_pb2.pyi +87 -0
- yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service_pb2_grpc.py +77 -0
- yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service_pb2_grpc.pyi +38 -0
- yandex/cloud/ai/tuning/v1/tuning_task_pb2.py +12 -5
- yandex/cloud/ai/tuning/v1/tuning_task_pb2.pyi +29 -1
- yandex/cloud/airflow/v1/cluster_pb2.py +36 -35
- yandex/cloud/airflow/v1/cluster_pb2.pyi +15 -2
- yandex/cloud/airflow/v1/cluster_service_pb2.py +42 -41
- yandex/cloud/airflow/v1/cluster_service_pb2.pyi +17 -4
- yandex/cloud/airflow/v1/maintenance_pb2.py +53 -0
- yandex/cloud/airflow/v1/maintenance_pb2.pyi +123 -0
- yandex/cloud/airflow/v1/maintenance_pb2_grpc.py +24 -0
- yandex/cloud/airflow/v1/maintenance_pb2_grpc.pyi +17 -0
- yandex/cloud/backup/v1/backup_service_pb2.py +44 -40
- yandex/cloud/backup/v1/backup_service_pb2.pyi +14 -2
- yandex/cloud/iam/v1/key_service_pb2.pyi +0 -2
- yandex/cloud/iot/devices/v1/device_pb2.py +18 -14
- yandex/cloud/iot/devices/v1/device_pb2.pyi +23 -1
- yandex/cloud/iot/devices/v1/device_service_pb2.py +65 -53
- yandex/cloud/iot/devices/v1/device_service_pb2.pyi +46 -2
- yandex/cloud/loadtesting/agent/v1/test_pb2.py +5 -5
- yandex/cloud/loadtesting/agent/v1/test_pb2.pyi +2 -0
- yandex/cloud/loadtesting/api/v1/test/status_pb2.py +2 -2
- yandex/cloud/loadtesting/api/v1/test/status_pb2.pyi +6 -2
- yandex/cloud/marketplace/licensemanager/saas/v1/instance_service_pb2.py +12 -5
- yandex/cloud/marketplace/licensemanager/saas/v1/instance_service_pb2.pyi +16 -0
- yandex/cloud/marketplace/licensemanager/saas/v1/instance_service_pb2_grpc.py +45 -0
- yandex/cloud/marketplace/licensemanager/saas/v1/instance_service_pb2_grpc.pyi +21 -0
- yandex/cloud/marketplace/licensemanager/v1/user_info_pb2.py +37 -0
- yandex/cloud/marketplace/licensemanager/v1/user_info_pb2.pyi +39 -0
- yandex/cloud/marketplace/licensemanager/v1/user_info_pb2_grpc.py +24 -0
- yandex/cloud/marketplace/licensemanager/v1/user_info_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/clickhouse/v1/cluster_service_pb2.py +170 -170
- yandex/cloud/mdb/clickhouse/v1/cluster_service_pb2.pyi +14 -2
- yandex/cloud/mdb/kafka/v1/user_pb2.py +4 -4
- yandex/cloud/mdb/kafka/v1/user_pb2.pyi +4 -0
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.py +21 -3
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.pyi +86 -0
- 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/redis/v1/cluster_pb2.py +23 -23
- yandex/cloud/mdb/redis/v1/cluster_pb2.pyi +4 -0
- yandex/cloud/mdb/redis/v1/config/redis_pb2.py +10 -8
- yandex/cloud/mdb/redis/v1/config/redis_pb2.pyi +14 -2
- yandex/cloud/mdb/spqr/__init__.py +0 -0
- yandex/cloud/mdb/spqr/v1/__init__.py +0 -0
- yandex/cloud/mdb/spqr/v1/backup_pb2.py +40 -0
- yandex/cloud/mdb/spqr/v1/backup_pb2.pyi +97 -0
- yandex/cloud/mdb/spqr/v1/backup_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/backup_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/backup_service_pb2.py +68 -0
- yandex/cloud/mdb/spqr/v1/backup_service_pb2.pyi +121 -0
- yandex/cloud/mdb/spqr/v1/backup_service_pb2_grpc.py +193 -0
- yandex/cloud/mdb/spqr/v1/backup_service_pb2_grpc.pyi +101 -0
- yandex/cloud/mdb/spqr/v1/cluster_pb2.py +58 -0
- yandex/cloud/mdb/spqr/v1/cluster_pb2.pyi +330 -0
- yandex/cloud/mdb/spqr/v1/cluster_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/cluster_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/cluster_service_pb2.py +403 -0
- yandex/cloud/mdb/spqr/v1/cluster_service_pb2.pyi +1790 -0
- yandex/cloud/mdb/spqr/v1/cluster_service_pb2_grpc.py +1250 -0
- yandex/cloud/mdb/spqr/v1/cluster_service_pb2_grpc.pyi +588 -0
- yandex/cloud/mdb/spqr/v1/config_pb2.py +65 -0
- yandex/cloud/mdb/spqr/v1/config_pb2.pyi +341 -0
- yandex/cloud/mdb/spqr/v1/config_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/config_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/database_pb2.py +42 -0
- yandex/cloud/mdb/spqr/v1/database_pb2.pyi +51 -0
- yandex/cloud/mdb/spqr/v1/database_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/database_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/database_service_pb2.py +94 -0
- yandex/cloud/mdb/spqr/v1/database_service_pb2.pyi +219 -0
- yandex/cloud/mdb/spqr/v1/database_service_pb2_grpc.py +281 -0
- yandex/cloud/mdb/spqr/v1/database_service_pb2_grpc.pyi +141 -0
- yandex/cloud/mdb/spqr/v1/host_pb2.py +69 -0
- yandex/cloud/mdb/spqr/v1/host_pb2.pyi +394 -0
- yandex/cloud/mdb/spqr/v1/host_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/host_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/maintenance_pb2.py +53 -0
- yandex/cloud/mdb/spqr/v1/maintenance_pb2.pyi +137 -0
- yandex/cloud/mdb/spqr/v1/maintenance_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/maintenance_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_pb2.py +37 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_pb2.pyi +45 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_service_pb2.py +56 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_service_pb2.pyi +84 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_service_pb2_grpc.py +148 -0
- yandex/cloud/mdb/spqr/v1/resource_preset_service_pb2_grpc.pyi +80 -0
- yandex/cloud/mdb/spqr/v1/shard_pb2.py +37 -0
- yandex/cloud/mdb/spqr/v1/shard_pb2.pyi +31 -0
- yandex/cloud/mdb/spqr/v1/shard_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/shard_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/user_pb2.py +53 -0
- yandex/cloud/mdb/spqr/v1/user_pb2.pyi +133 -0
- yandex/cloud/mdb/spqr/v1/user_pb2_grpc.py +24 -0
- yandex/cloud/mdb/spqr/v1/user_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/spqr/v1/user_service_pb2.py +107 -0
- yandex/cloud/mdb/spqr/v1/user_service_pb2.pyi +293 -0
- yandex/cloud/mdb/spqr/v1/user_service_pb2_grpc.py +325 -0
- yandex/cloud/mdb/spqr/v1/user_service_pb2_grpc.pyi +161 -0
- yandex/cloud/monitoring/v3/dashboard_pb2.py +6 -5
- yandex/cloud/monitoring/v3/dashboard_pb2.pyi +9 -2
- yandex/cloud/monitoring/v3/dashboard_service_pb2.py +30 -29
- yandex/cloud/monitoring/v3/dashboard_service_pb2.pyi +17 -4
- yandex/cloud/monitoring/v3/timeline_pb2.py +37 -0
- yandex/cloud/monitoring/v3/timeline_pb2.pyi +31 -0
- yandex/cloud/monitoring/v3/timeline_pb2_grpc.py +24 -0
- yandex/cloud/monitoring/v3/timeline_pb2_grpc.pyi +17 -0
- yandex/cloud/searchapi/v2/gen_search_service_pb2.py +83 -0
- yandex/cloud/searchapi/v2/gen_search_service_pb2.pyi +297 -0
- yandex/cloud/searchapi/v2/gen_search_service_pb2_grpc.py +100 -0
- yandex/cloud/searchapi/v2/gen_search_service_pb2_grpc.pyi +47 -0
- yandex/cloud/searchapi/v2/search_query_pb2.py +8 -8
- yandex/cloud/searchapi/v2/search_query_pb2.pyi +8 -0
- yandex/cloud/searchapi/v2/search_service_pb2.py +16 -12
- 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/storage/v1/s3api_pb2.py +7 -1
- yandex/cloud/storage/v1/s3api_pb2.pyi +128 -1
- yandex/cloud/video/v1/channel_pb2.py +16 -11
- yandex/cloud/video/v1/channel_pb2.pyi +32 -2
- yandex/cloud/video/v1/channel_service_pb2.py +34 -30
- yandex/cloud/video/v1/channel_service_pb2.pyi +27 -10
- yandex/cloud/video/v1/channel_service_pb2_grpc.py +4 -4
- yandex/cloud/video/v1/channel_service_pb2_grpc.pyi +12 -12
- yandex/cloud/video/v1/episode_pb2.pyi +5 -4
- yandex/cloud/video/v1/episode_service_pb2.py +56 -52
- yandex/cloud/video/v1/episode_service_pb2.pyi +18 -12
- yandex/cloud/video/v1/episode_service_pb2_grpc.py +4 -4
- yandex/cloud/video/v1/episode_service_pb2_grpc.pyi +12 -12
- yandex/cloud/video/v1/playlist_service_pb2.py +34 -30
- yandex/cloud/video/v1/playlist_service_pb2.pyi +11 -6
- yandex/cloud/video/v1/playlist_service_pb2_grpc.py +3 -3
- yandex/cloud/video/v1/playlist_service_pb2_grpc.pyi +9 -9
- yandex/cloud/video/v1/stream_line_pb2.py +16 -24
- yandex/cloud/video/v1/stream_line_pb2.pyi +34 -108
- yandex/cloud/video/v1/stream_line_service_pb2.py +60 -70
- yandex/cloud/video/v1/stream_line_service_pb2.pyi +17 -119
- yandex/cloud/video/v1/stream_line_service_pb2_grpc.py +3 -3
- yandex/cloud/video/v1/stream_line_service_pb2_grpc.pyi +9 -9
- yandex/cloud/video/v1/stream_pb2.py +12 -11
- yandex/cloud/video/v1/stream_pb2.pyi +19 -6
- yandex/cloud/video/v1/stream_service_pb2.py +54 -49
- yandex/cloud/video/v1/stream_service_pb2.pyi +34 -13
- yandex/cloud/video/v1/stream_service_pb2_grpc.py +2 -2
- yandex/cloud/video/v1/stream_service_pb2_grpc.pyi +6 -6
- yandex/cloud/video/v1/subtitle_pb2.py +6 -4
- yandex/cloud/video/v1/subtitle_pb2.pyi +30 -2
- yandex/cloud/video/v1/subtitle_service_pb2.py +21 -21
- yandex/cloud/video/v1/subtitle_service_pb2.pyi +7 -5
- yandex/cloud/video/v1/subtitle_service_pb2_grpc.py +1 -1
- yandex/cloud/video/v1/subtitle_service_pb2_grpc.pyi +3 -3
- yandex/cloud/video/v1/thumbnail_service_pb2.py +29 -25
- yandex/cloud/video/v1/thumbnail_service_pb2.pyi +68 -6
- yandex/cloud/video/v1/thumbnail_service_pb2_grpc.py +3 -3
- yandex/cloud/video/v1/thumbnail_service_pb2_grpc.pyi +9 -9
- yandex/cloud/video/v1/video_pb2.py +24 -18
- yandex/cloud/video/v1/video_pb2.pyi +130 -38
- yandex/cloud/video/v1/video_service_pb2.py +114 -66
- yandex/cloud/video/v1/video_service_pb2.pyi +279 -40
- yandex/cloud/video/v1/video_service_pb2_grpc.py +50 -6
- yandex/cloud/video/v1/video_service_pb2_grpc.pyi +38 -18
- yandex/cloud/ydb/v1/database_pb2.py +46 -46
- yandex/cloud/ydb/v1/database_pb2.pyi +10 -2
- yandex/cloud/ydb/v1/database_service_pb2.py +18 -18
- yandex/cloud/ydb/v1/database_service_pb2.pyi +10 -2
- 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.336.0.dist-info → yandexcloud-0.338.0.dist-info}/METADATA +9 -9
- {yandexcloud-0.336.0.dist-info → yandexcloud-0.338.0.dist-info}/RECORD +193 -115
- {yandexcloud-0.336.0.dist-info → yandexcloud-0.338.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.336.0.dist-info → yandexcloud-0.338.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.336.0.dist-info → yandexcloud-0.338.0.dist-info}/WHEEL +0 -0
- {yandexcloud-0.336.0.dist-info → yandexcloud-0.338.0.dist-info}/top_level.txt +0 -0
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.338.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
|