Skip to content

Commit dc3ceec

Browse files
Maksim Zinalpotiuk
Maksim Zinal
authored andcommitted
add support for Yandex Dataproc cluster labels
1 parent 7963360 commit dc3ceec

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

airflow/providers/yandex/operators/yandexcloud_dataproc.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ class DataprocCreateClusterOperator(BaseOperator):
9595
Docs: https://cloud.yandex.com/docs/data-proc/concepts/logs
9696
:param initialization_actions: Set of init-actions to run when cluster starts.
9797
Docs: https://cloud.yandex.com/docs/data-proc/concepts/init-action
98+
:param labels: Cluster labels as key:value pairs. No more than 64 per resource.
99+
Docs: https://cloud.yandex.ru/docs/resource-manager/concepts/labels
98100
"""
99101

100102
def __init__(
@@ -135,6 +137,7 @@ def __init__(
135137
security_group_ids: Iterable[str] | None = None,
136138
log_group_id: str | None = None,
137139
initialization_actions: Iterable[InitializationAction] | None = None,
140+
labels: dict[str, str] | None = None,
138141
**kwargs,
139142
) -> None:
140143
super().__init__(**kwargs)
@@ -173,6 +176,7 @@ def __init__(
173176
self.security_group_ids = security_group_ids
174177
self.log_group_id = log_group_id
175178
self.initialization_actions = initialization_actions
179+
self.labels = labels
176180

177181
self.hook: DataprocHook | None = None
178182

@@ -214,6 +218,7 @@ def execute(self, context: Context) -> dict:
214218
host_group_ids=self.host_group_ids,
215219
security_group_ids=self.security_group_ids,
216220
log_group_id=self.log_group_id,
221+
labels=self.labels,
217222
initialization_actions=self.initialization_actions
218223
and [
219224
self.hook.sdk.wrappers.InitializationAction(

airflow/providers/yandex/provider.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ versions:
3737

3838
dependencies:
3939
- apache-airflow>=2.3.0
40-
- yandexcloud>=0.173.0
40+
- yandexcloud>=0.202.0
4141

4242
integrations:
4343
- integration-name: Yandex.Cloud

tests/providers/yandex/operators/test_yandexcloud_dataproc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ def test_create_cluster(self, create_cluster_mock, *_):
130130
enable_ui_proxy=False,
131131
host_group_ids=None,
132132
security_group_ids=None,
133+
labels=None,
133134
initialization_actions=None,
134135
)
135136
context["task_instance"].xcom_push.assert_has_calls(

0 commit comments

Comments
 (0)