From 7e4c3ef63f10f964dcebdca2ce3d681a4bf466ba Mon Sep 17 00:00:00 2001 From: Ben Sully Date: Wed, 18 Nov 2020 10:02:16 +0000 Subject: [PATCH] Re-add init_scripts to ClusterService.create_cluster This was removed in [this PR][!325] by autogeneration, but the /clusters/create API endpoint should still accept the init_scripts argument, and it's useful for creating clusters programmatically. I'm not sure how autogeneration works so this could happen again in future - perhaps it should be looked into somewhere upstream instead, but for now this would be useful! [!325]: https://github.com/databricks/databricks-cli/pull/325#discussion_r496278147 --- databricks_cli/sdk/service.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/databricks_cli/sdk/service.py b/databricks_cli/sdk/service.py index c3cc1a7b..9b5e9c48 100755 --- a/databricks_cli/sdk/service.py +++ b/databricks_cli/sdk/service.py @@ -212,12 +212,13 @@ def list_clusters(self, headers=None): return self.client.perform_query('GET', '/clusters/list', data=_data, headers=headers) + # init_scripts argument was removed by autogeneration and manually added here. def create_cluster(self, num_workers=None, autoscale=None, cluster_name=None, spark_version=None, spark_conf=None, aws_attributes=None, node_type_id=None, driver_node_type_id=None, ssh_public_keys=None, custom_tags=None, - cluster_log_conf=None, spark_env_vars=None, autotermination_minutes=None, - enable_elastic_disk=None, cluster_source=None, instance_pool_id=None, - headers=None): + cluster_log_conf=None, init_scripts=None, spark_env_vars=None, + autotermination_minutes=None, enable_elastic_disk=None, cluster_source=None, + instance_pool_id=None, headers=None): _data = {} if num_workers is not None: _data['num_workers'] = num_workers @@ -247,6 +248,9 @@ def create_cluster(self, num_workers=None, autoscale=None, cluster_name=None, sp _data['cluster_log_conf'] = cluster_log_conf if not isinstance(cluster_log_conf, dict): raise TypeError('Expected databricks.ClusterLogConf() or dict for field cluster_log_conf') + # init_scripts handling was removed by autogeneration and manually added here. + if init_scripts is not None: + _data['init_scripts'] = init_scripts if spark_env_vars is not None: _data['spark_env_vars'] = spark_env_vars if autotermination_minutes is not None: