Skip to content

Commit e198801

Browse files
got686-yandexPeppaTheC
authored andcommitted
dataproc start/stop operations
1 parent 0b76570 commit e198801

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

yandexcloud/_wrappers/dataproc/__init__.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,45 @@ def delete_cluster(self, cluster_id=None):
474474
meta_type=cluster_service_pb.DeleteClusterMetadata,
475475
)
476476

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+
477516
def create_hive_job(
478517
self,
479518
query=None,

0 commit comments

Comments
 (0)