pulumi-databricks 1.77.0a1760375482__py3-none-any.whl → 1.79.0a1762839813__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.
- pulumi_databricks/__init__.py +54 -46
- pulumi_databricks/_inputs.py +26079 -32918
- pulumi_databricks/account_federation_policy.py +44 -16
- pulumi_databricks/account_network_policy.py +56 -2
- pulumi_databricks/account_setting_v2.py +46 -83
- pulumi_databricks/alert_v2.py +168 -134
- pulumi_databricks/app.py +153 -0
- pulumi_databricks/apps_settings_custom_template.py +75 -52
- pulumi_databricks/budget_policy.py +6 -2
- pulumi_databricks/catalog.py +65 -23
- pulumi_databricks/cluster.py +47 -168
- pulumi_databricks/cluster_policy.py +120 -0
- pulumi_databricks/config/__init__.pyi +4 -0
- pulumi_databricks/config/vars.py +8 -0
- pulumi_databricks/data_quality_monitor.py +453 -0
- pulumi_databricks/data_quality_refresh.py +492 -0
- pulumi_databricks/database_database_catalog.py +9 -52
- pulumi_databricks/database_instance.py +271 -120
- pulumi_databricks/database_synced_database_table.py +239 -52
- pulumi_databricks/entitlements.py +21 -21
- pulumi_databricks/entity_tag_assignment.py +83 -52
- pulumi_databricks/external_location.py +131 -7
- pulumi_databricks/external_metadata.py +16 -59
- pulumi_databricks/feature_engineering_feature.py +480 -0
- pulumi_databricks/feature_engineering_materialized_feature.py +397 -0
- pulumi_databricks/file.py +2 -2
- pulumi_databricks/get_account_federation_policies.py +22 -3
- pulumi_databricks/get_account_federation_policy.py +12 -27
- pulumi_databricks/get_account_network_policies.py +4 -0
- pulumi_databricks/get_account_network_policy.py +9 -18
- pulumi_databricks/get_account_setting_v2.py +36 -141
- pulumi_databricks/get_alert_v2.py +41 -107
- pulumi_databricks/get_alerts_v2.py +29 -31
- pulumi_databricks/get_app.py +21 -5
- pulumi_databricks/get_apps.py +22 -6
- pulumi_databricks/get_apps_settings_custom_template.py +11 -55
- pulumi_databricks/get_apps_settings_custom_templates.py +25 -21
- pulumi_databricks/get_aws_assume_role_policy.py +14 -14
- pulumi_databricks/get_aws_bucket_policy.py +10 -10
- pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +10 -10
- pulumi_databricks/get_aws_unity_catalog_policy.py +10 -10
- pulumi_databricks/get_budget_policies.py +70 -6
- pulumi_databricks/get_budget_policy.py +9 -32
- pulumi_databricks/get_catalog.py +21 -4
- pulumi_databricks/get_catalogs.py +23 -4
- pulumi_databricks/get_cluster.py +75 -4
- pulumi_databricks/get_cluster_policy.py +23 -4
- pulumi_databricks/get_clusters.py +21 -4
- pulumi_databricks/get_current_config.py +4 -4
- pulumi_databricks/get_current_metastore.py +21 -4
- pulumi_databricks/get_dashboards.py +20 -4
- pulumi_databricks/get_data_quality_monitor.py +210 -0
- pulumi_databricks/get_data_quality_monitors.py +143 -0
- pulumi_databricks/get_data_quality_refresh.py +270 -0
- pulumi_databricks/get_data_quality_refreshes.py +207 -0
- pulumi_databricks/get_database_database_catalog.py +10 -41
- pulumi_databricks/get_database_database_catalogs.py +37 -18
- pulumi_databricks/get_database_instance.py +93 -99
- pulumi_databricks/get_database_instances.py +20 -16
- pulumi_databricks/get_database_synced_database_table.py +11 -49
- pulumi_databricks/get_database_synced_database_tables.py +42 -23
- pulumi_databricks/get_directory.py +20 -1
- pulumi_databricks/get_entity_tag_assignment.py +63 -30
- pulumi_databricks/get_entity_tag_assignments.py +69 -23
- pulumi_databricks/get_external_location.py +21 -4
- pulumi_databricks/get_external_locations.py +23 -4
- pulumi_databricks/get_external_metadata.py +18 -73
- pulumi_databricks/get_external_metadatas.py +22 -16
- pulumi_databricks/get_feature_engineering_feature.py +179 -0
- pulumi_databricks/get_feature_engineering_features.py +103 -0
- pulumi_databricks/get_feature_engineering_materialized_feature.py +180 -0
- pulumi_databricks/get_feature_engineering_materialized_features.py +123 -0
- pulumi_databricks/get_functions.py +16 -1
- pulumi_databricks/get_instance_profiles.py +21 -4
- pulumi_databricks/get_jobs.py +23 -4
- pulumi_databricks/get_materialized_features_feature_tag.py +7 -32
- pulumi_databricks/get_materialized_features_feature_tags.py +50 -18
- pulumi_databricks/get_metastore.py +6 -6
- pulumi_databricks/get_mlflow_experiment.py +18 -1
- pulumi_databricks/get_mlflow_model.py +18 -1
- pulumi_databricks/get_mlflow_models.py +23 -4
- pulumi_databricks/get_node_type.py +42 -5
- pulumi_databricks/get_notebook.py +20 -1
- pulumi_databricks/get_notification_destinations.py +17 -1
- pulumi_databricks/get_online_store.py +11 -38
- pulumi_databricks/get_online_stores.py +20 -18
- pulumi_databricks/get_pipelines.py +23 -4
- pulumi_databricks/get_policy_info.py +21 -109
- pulumi_databricks/get_policy_infos.py +50 -25
- pulumi_databricks/get_quality_monitor_v2.py +8 -21
- pulumi_databricks/get_quality_monitors_v2.py +23 -25
- pulumi_databricks/get_registered_model.py +19 -4
- pulumi_databricks/get_registered_model_versions.py +19 -4
- pulumi_databricks/get_rfa_access_request_destinations.py +126 -0
- pulumi_databricks/get_schema.py +18 -1
- pulumi_databricks/get_schemas.py +23 -4
- pulumi_databricks/get_service_principal_federation_policies.py +23 -4
- pulumi_databricks/get_service_principal_federation_policy.py +15 -24
- pulumi_databricks/get_service_principals.py +64 -0
- pulumi_databricks/get_serving_endpoints.py +19 -4
- pulumi_databricks/get_share.py +117 -18
- pulumi_databricks/get_shares.py +22 -3
- pulumi_databricks/get_spark_version.py +20 -1
- pulumi_databricks/get_sql_warehouse.py +16 -1
- pulumi_databricks/get_sql_warehouses.py +20 -1
- pulumi_databricks/get_storage_credential.py +18 -1
- pulumi_databricks/get_storage_credentials.py +23 -4
- pulumi_databricks/get_table.py +18 -1
- pulumi_databricks/get_tables.py +20 -1
- pulumi_databricks/get_tag_policies.py +55 -23
- pulumi_databricks/get_tag_policy.py +60 -40
- pulumi_databricks/get_views.py +20 -1
- pulumi_databricks/get_volume.py +18 -1
- pulumi_databricks/get_volumes.py +20 -1
- pulumi_databricks/get_workspace_network_option.py +8 -16
- pulumi_databricks/get_workspace_setting_v2.py +41 -163
- pulumi_databricks/get_zones.py +20 -1
- pulumi_databricks/git_credential.py +54 -7
- pulumi_databricks/group.py +21 -21
- pulumi_databricks/instance_profile.py +0 -182
- pulumi_databricks/job.py +47 -0
- pulumi_databricks/library.py +165 -0
- pulumi_databricks/materialized_features_feature_tag.py +9 -52
- pulumi_databricks/metastore.py +81 -7
- pulumi_databricks/metastore_data_access.py +48 -0
- pulumi_databricks/mlflow_webhook.py +4 -4
- pulumi_databricks/mws_credentials.py +10 -10
- pulumi_databricks/mws_customer_managed_keys.py +0 -288
- pulumi_databricks/mws_log_delivery.py +146 -0
- pulumi_databricks/mws_storage_configurations.py +16 -16
- pulumi_databricks/mws_vpc_endpoint.py +56 -56
- pulumi_databricks/mws_workspaces.py +146 -65
- pulumi_databricks/notebook.py +49 -0
- pulumi_databricks/online_store.py +9 -52
- pulumi_databricks/outputs.py +11885 -13474
- pulumi_databricks/permission_assignment.py +299 -8
- pulumi_databricks/permissions.py +6 -6
- pulumi_databricks/pipeline.py +37 -3
- pulumi_databricks/policy_info.py +9 -52
- pulumi_databricks/provider.py +36 -1
- pulumi_databricks/pulumi-plugin.json +1 -1
- pulumi_databricks/quality_monitor.py +47 -0
- pulumi_databricks/quality_monitor_v2.py +9 -52
- pulumi_databricks/recipient.py +74 -0
- pulumi_databricks/registered_model.py +308 -36
- pulumi_databricks/rfa_access_request_destinations.py +286 -0
- pulumi_databricks/schema.py +7 -7
- pulumi_databricks/service_principal_federation_policy.py +48 -16
- pulumi_databricks/share.py +71 -84
- pulumi_databricks/sql_table.py +42 -14
- pulumi_databricks/storage_credential.py +15 -2
- pulumi_databricks/tag_policy.py +111 -54
- pulumi_databricks/user.py +21 -21
- pulumi_databricks/volume.py +7 -7
- pulumi_databricks/workspace_binding.py +0 -48
- pulumi_databricks/workspace_network_option.py +6 -2
- pulumi_databricks/workspace_setting_v2.py +49 -133
- {pulumi_databricks-1.77.0a1760375482.dist-info → pulumi_databricks-1.79.0a1762839813.dist-info}/METADATA +1 -1
- pulumi_databricks-1.79.0a1762839813.dist-info/RECORD +250 -0
- pulumi_databricks/clean_room_asset.py +0 -938
- pulumi_databricks/clean_room_auto_approval_rule.py +0 -473
- pulumi_databricks/clean_rooms_clean_room.py +0 -569
- pulumi_databricks/get_clean_room_asset.py +0 -416
- pulumi_databricks/get_clean_room_asset_revisions_clean_room_asset.py +0 -392
- pulumi_databricks/get_clean_room_asset_revisions_clean_room_assets.py +0 -121
- pulumi_databricks/get_clean_room_assets.py +0 -146
- pulumi_databricks/get_clean_room_auto_approval_rule.py +0 -217
- pulumi_databricks/get_clean_room_auto_approval_rules.py +0 -101
- pulumi_databricks/get_clean_rooms_clean_room.py +0 -289
- pulumi_databricks/get_clean_rooms_clean_rooms.py +0 -125
- pulumi_databricks/get_recipient_federation_policies.py +0 -101
- pulumi_databricks/get_recipient_federation_policy.py +0 -182
- pulumi_databricks/recipient_federation_policy.py +0 -393
- pulumi_databricks-1.77.0a1760375482.dist-info/RECORD +0 -250
- {pulumi_databricks-1.77.0a1760375482.dist-info → pulumi_databricks-1.79.0a1762839813.dist-info}/WHEEL +0 -0
- {pulumi_databricks-1.77.0a1760375482.dist-info → pulumi_databricks-1.79.0a1762839813.dist-info}/top_level.txt +0 -0
|
@@ -21,6 +21,7 @@ class GitCredentialArgs:
|
|
|
21
21
|
def __init__(__self__, *,
|
|
22
22
|
git_provider: pulumi.Input[_builtins.str],
|
|
23
23
|
force: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
24
|
+
git_email: Optional[pulumi.Input[_builtins.str]] = None,
|
|
24
25
|
git_username: Optional[pulumi.Input[_builtins.str]] = None,
|
|
25
26
|
is_default_for_provider: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
26
27
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -29,7 +30,8 @@ class GitCredentialArgs:
|
|
|
29
30
|
The set of arguments for constructing a GitCredential resource.
|
|
30
31
|
:param pulumi.Input[_builtins.str] git_provider: case insensitive name of the Git provider. Following values are supported right now (could be a subject for a change, consult [Git Credentials API documentation](https://docs.databricks.com/dev-tools/api/latest/gitcredentials.html)): `gitHub`, `gitHubEnterprise`, `bitbucketCloud`, `bitbucketServer`, `azureDevOpsServices`, `gitLab`, `gitLabEnterpriseEdition`, `awsCodeCommit`, `azureDevOpsServicesAad`.
|
|
31
32
|
:param pulumi.Input[_builtins.bool] force: specify if settings need to be enforced (i.e., to overwrite previously set credential for service principals).
|
|
32
|
-
:param pulumi.Input[_builtins.str]
|
|
33
|
+
:param pulumi.Input[_builtins.str] git_email: The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
34
|
+
:param pulumi.Input[_builtins.str] git_username: user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
33
35
|
:param pulumi.Input[_builtins.bool] is_default_for_provider: boolean flag specifying if the credential is the default for the given provider type.
|
|
34
36
|
:param pulumi.Input[_builtins.str] name: the name of the git credential, used for identification and ease of lookup.
|
|
35
37
|
:param pulumi.Input[_builtins.str] personal_access_token: The personal access token used to authenticate to the corresponding Git provider. If value is not provided, it's sourced from the first environment variable of `GITHUB_TOKEN`, `GITLAB_TOKEN`, or `AZDO_PERSONAL_ACCESS_TOKEN`, that has a non-empty value.
|
|
@@ -37,6 +39,8 @@ class GitCredentialArgs:
|
|
|
37
39
|
pulumi.set(__self__, "git_provider", git_provider)
|
|
38
40
|
if force is not None:
|
|
39
41
|
pulumi.set(__self__, "force", force)
|
|
42
|
+
if git_email is not None:
|
|
43
|
+
pulumi.set(__self__, "git_email", git_email)
|
|
40
44
|
if git_username is not None:
|
|
41
45
|
pulumi.set(__self__, "git_username", git_username)
|
|
42
46
|
if is_default_for_provider is not None:
|
|
@@ -70,11 +74,23 @@ class GitCredentialArgs:
|
|
|
70
74
|
def force(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
71
75
|
pulumi.set(self, "force", value)
|
|
72
76
|
|
|
77
|
+
@_builtins.property
|
|
78
|
+
@pulumi.getter(name="gitEmail")
|
|
79
|
+
def git_email(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
80
|
+
"""
|
|
81
|
+
The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
82
|
+
"""
|
|
83
|
+
return pulumi.get(self, "git_email")
|
|
84
|
+
|
|
85
|
+
@git_email.setter
|
|
86
|
+
def git_email(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
87
|
+
pulumi.set(self, "git_email", value)
|
|
88
|
+
|
|
73
89
|
@_builtins.property
|
|
74
90
|
@pulumi.getter(name="gitUsername")
|
|
75
91
|
def git_username(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
76
92
|
"""
|
|
77
|
-
user name at Git provider.
|
|
93
|
+
user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
78
94
|
"""
|
|
79
95
|
return pulumi.get(self, "git_username")
|
|
80
96
|
|
|
@@ -123,6 +139,7 @@ class GitCredentialArgs:
|
|
|
123
139
|
class _GitCredentialState:
|
|
124
140
|
def __init__(__self__, *,
|
|
125
141
|
force: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
142
|
+
git_email: Optional[pulumi.Input[_builtins.str]] = None,
|
|
126
143
|
git_provider: Optional[pulumi.Input[_builtins.str]] = None,
|
|
127
144
|
git_username: Optional[pulumi.Input[_builtins.str]] = None,
|
|
128
145
|
is_default_for_provider: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -131,14 +148,17 @@ class _GitCredentialState:
|
|
|
131
148
|
"""
|
|
132
149
|
Input properties used for looking up and filtering GitCredential resources.
|
|
133
150
|
:param pulumi.Input[_builtins.bool] force: specify if settings need to be enforced (i.e., to overwrite previously set credential for service principals).
|
|
151
|
+
:param pulumi.Input[_builtins.str] git_email: The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
134
152
|
:param pulumi.Input[_builtins.str] git_provider: case insensitive name of the Git provider. Following values are supported right now (could be a subject for a change, consult [Git Credentials API documentation](https://docs.databricks.com/dev-tools/api/latest/gitcredentials.html)): `gitHub`, `gitHubEnterprise`, `bitbucketCloud`, `bitbucketServer`, `azureDevOpsServices`, `gitLab`, `gitLabEnterpriseEdition`, `awsCodeCommit`, `azureDevOpsServicesAad`.
|
|
135
|
-
:param pulumi.Input[_builtins.str] git_username: user name at Git provider.
|
|
153
|
+
:param pulumi.Input[_builtins.str] git_username: user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
136
154
|
:param pulumi.Input[_builtins.bool] is_default_for_provider: boolean flag specifying if the credential is the default for the given provider type.
|
|
137
155
|
:param pulumi.Input[_builtins.str] name: the name of the git credential, used for identification and ease of lookup.
|
|
138
156
|
:param pulumi.Input[_builtins.str] personal_access_token: The personal access token used to authenticate to the corresponding Git provider. If value is not provided, it's sourced from the first environment variable of `GITHUB_TOKEN`, `GITLAB_TOKEN`, or `AZDO_PERSONAL_ACCESS_TOKEN`, that has a non-empty value.
|
|
139
157
|
"""
|
|
140
158
|
if force is not None:
|
|
141
159
|
pulumi.set(__self__, "force", force)
|
|
160
|
+
if git_email is not None:
|
|
161
|
+
pulumi.set(__self__, "git_email", git_email)
|
|
142
162
|
if git_provider is not None:
|
|
143
163
|
pulumi.set(__self__, "git_provider", git_provider)
|
|
144
164
|
if git_username is not None:
|
|
@@ -162,6 +182,18 @@ class _GitCredentialState:
|
|
|
162
182
|
def force(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
163
183
|
pulumi.set(self, "force", value)
|
|
164
184
|
|
|
185
|
+
@_builtins.property
|
|
186
|
+
@pulumi.getter(name="gitEmail")
|
|
187
|
+
def git_email(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
188
|
+
"""
|
|
189
|
+
The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
190
|
+
"""
|
|
191
|
+
return pulumi.get(self, "git_email")
|
|
192
|
+
|
|
193
|
+
@git_email.setter
|
|
194
|
+
def git_email(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
195
|
+
pulumi.set(self, "git_email", value)
|
|
196
|
+
|
|
165
197
|
@_builtins.property
|
|
166
198
|
@pulumi.getter(name="gitProvider")
|
|
167
199
|
def git_provider(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
@@ -178,7 +210,7 @@ class _GitCredentialState:
|
|
|
178
210
|
@pulumi.getter(name="gitUsername")
|
|
179
211
|
def git_username(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
180
212
|
"""
|
|
181
|
-
user name at Git provider.
|
|
213
|
+
user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
182
214
|
"""
|
|
183
215
|
return pulumi.get(self, "git_username")
|
|
184
216
|
|
|
@@ -230,6 +262,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
230
262
|
resource_name: str,
|
|
231
263
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
232
264
|
force: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
265
|
+
git_email: Optional[pulumi.Input[_builtins.str]] = None,
|
|
233
266
|
git_provider: Optional[pulumi.Input[_builtins.str]] = None,
|
|
234
267
|
git_username: Optional[pulumi.Input[_builtins.str]] = None,
|
|
235
268
|
is_default_for_provider: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -299,8 +332,9 @@ class GitCredential(pulumi.CustomResource):
|
|
|
299
332
|
:param str resource_name: The name of the resource.
|
|
300
333
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
301
334
|
:param pulumi.Input[_builtins.bool] force: specify if settings need to be enforced (i.e., to overwrite previously set credential for service principals).
|
|
335
|
+
:param pulumi.Input[_builtins.str] git_email: The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
302
336
|
:param pulumi.Input[_builtins.str] git_provider: case insensitive name of the Git provider. Following values are supported right now (could be a subject for a change, consult [Git Credentials API documentation](https://docs.databricks.com/dev-tools/api/latest/gitcredentials.html)): `gitHub`, `gitHubEnterprise`, `bitbucketCloud`, `bitbucketServer`, `azureDevOpsServices`, `gitLab`, `gitLabEnterpriseEdition`, `awsCodeCommit`, `azureDevOpsServicesAad`.
|
|
303
|
-
:param pulumi.Input[_builtins.str] git_username: user name at Git provider.
|
|
337
|
+
:param pulumi.Input[_builtins.str] git_username: user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
304
338
|
:param pulumi.Input[_builtins.bool] is_default_for_provider: boolean flag specifying if the credential is the default for the given provider type.
|
|
305
339
|
:param pulumi.Input[_builtins.str] name: the name of the git credential, used for identification and ease of lookup.
|
|
306
340
|
:param pulumi.Input[_builtins.str] personal_access_token: The personal access token used to authenticate to the corresponding Git provider. If value is not provided, it's sourced from the first environment variable of `GITHUB_TOKEN`, `GITLAB_TOKEN`, or `AZDO_PERSONAL_ACCESS_TOKEN`, that has a non-empty value.
|
|
@@ -387,6 +421,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
387
421
|
resource_name: str,
|
|
388
422
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
389
423
|
force: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
424
|
+
git_email: Optional[pulumi.Input[_builtins.str]] = None,
|
|
390
425
|
git_provider: Optional[pulumi.Input[_builtins.str]] = None,
|
|
391
426
|
git_username: Optional[pulumi.Input[_builtins.str]] = None,
|
|
392
427
|
is_default_for_provider: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -402,6 +437,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
402
437
|
__props__ = GitCredentialArgs.__new__(GitCredentialArgs)
|
|
403
438
|
|
|
404
439
|
__props__.__dict__["force"] = force
|
|
440
|
+
__props__.__dict__["git_email"] = git_email
|
|
405
441
|
if git_provider is None and not opts.urn:
|
|
406
442
|
raise TypeError("Missing required property 'git_provider'")
|
|
407
443
|
__props__.__dict__["git_provider"] = git_provider
|
|
@@ -420,6 +456,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
420
456
|
id: pulumi.Input[str],
|
|
421
457
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
422
458
|
force: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
459
|
+
git_email: Optional[pulumi.Input[_builtins.str]] = None,
|
|
423
460
|
git_provider: Optional[pulumi.Input[_builtins.str]] = None,
|
|
424
461
|
git_username: Optional[pulumi.Input[_builtins.str]] = None,
|
|
425
462
|
is_default_for_provider: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -433,8 +470,9 @@ class GitCredential(pulumi.CustomResource):
|
|
|
433
470
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
434
471
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
435
472
|
:param pulumi.Input[_builtins.bool] force: specify if settings need to be enforced (i.e., to overwrite previously set credential for service principals).
|
|
473
|
+
:param pulumi.Input[_builtins.str] git_email: The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
436
474
|
:param pulumi.Input[_builtins.str] git_provider: case insensitive name of the Git provider. Following values are supported right now (could be a subject for a change, consult [Git Credentials API documentation](https://docs.databricks.com/dev-tools/api/latest/gitcredentials.html)): `gitHub`, `gitHubEnterprise`, `bitbucketCloud`, `bitbucketServer`, `azureDevOpsServices`, `gitLab`, `gitLabEnterpriseEdition`, `awsCodeCommit`, `azureDevOpsServicesAad`.
|
|
437
|
-
:param pulumi.Input[_builtins.str] git_username: user name at Git provider.
|
|
475
|
+
:param pulumi.Input[_builtins.str] git_username: user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
438
476
|
:param pulumi.Input[_builtins.bool] is_default_for_provider: boolean flag specifying if the credential is the default for the given provider type.
|
|
439
477
|
:param pulumi.Input[_builtins.str] name: the name of the git credential, used for identification and ease of lookup.
|
|
440
478
|
:param pulumi.Input[_builtins.str] personal_access_token: The personal access token used to authenticate to the corresponding Git provider. If value is not provided, it's sourced from the first environment variable of `GITHUB_TOKEN`, `GITLAB_TOKEN`, or `AZDO_PERSONAL_ACCESS_TOKEN`, that has a non-empty value.
|
|
@@ -444,6 +482,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
444
482
|
__props__ = _GitCredentialState.__new__(_GitCredentialState)
|
|
445
483
|
|
|
446
484
|
__props__.__dict__["force"] = force
|
|
485
|
+
__props__.__dict__["git_email"] = git_email
|
|
447
486
|
__props__.__dict__["git_provider"] = git_provider
|
|
448
487
|
__props__.__dict__["git_username"] = git_username
|
|
449
488
|
__props__.__dict__["is_default_for_provider"] = is_default_for_provider
|
|
@@ -459,6 +498,14 @@ class GitCredential(pulumi.CustomResource):
|
|
|
459
498
|
"""
|
|
460
499
|
return pulumi.get(self, "force")
|
|
461
500
|
|
|
501
|
+
@_builtins.property
|
|
502
|
+
@pulumi.getter(name="gitEmail")
|
|
503
|
+
def git_email(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
504
|
+
"""
|
|
505
|
+
The email associated with your Git provider user account. Used for authentication with the remote repository and also sets the author & committer identity for commits.
|
|
506
|
+
"""
|
|
507
|
+
return pulumi.get(self, "git_email")
|
|
508
|
+
|
|
462
509
|
@_builtins.property
|
|
463
510
|
@pulumi.getter(name="gitProvider")
|
|
464
511
|
def git_provider(self) -> pulumi.Output[_builtins.str]:
|
|
@@ -471,7 +518,7 @@ class GitCredential(pulumi.CustomResource):
|
|
|
471
518
|
@pulumi.getter(name="gitUsername")
|
|
472
519
|
def git_username(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
473
520
|
"""
|
|
474
|
-
user name at Git provider.
|
|
521
|
+
user name at Git provider. For most Git providers it is only used to set the Git committer & author names for commits, however it may be required for authentication depending on your Git provider / token requirements.
|
|
475
522
|
"""
|
|
476
523
|
return pulumi.get(self, "git_username")
|
|
477
524
|
|
pulumi_databricks/group.py
CHANGED
|
@@ -34,12 +34,12 @@ class GroupArgs:
|
|
|
34
34
|
:param pulumi.Input[_builtins.str] acl_principal_id: identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
|
|
35
35
|
:param pulumi.Input[_builtins.bool] allow_cluster_create: This is a field to allow the group to have cluster create privileges. More fine grained permissions could be assigned with Permissions and cluster_id argument. Everyone without `allow_cluster_create` argument set, but with permission to use Cluster Policy would be able to create clusters, but within boundaries of that specific policy.
|
|
36
36
|
:param pulumi.Input[_builtins.bool] allow_instance_pool_create: This is a field to allow the group to have instance pool create privileges. More fine grained permissions could be assigned with Permissions and instance_pool_id argument.
|
|
37
|
-
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
37
|
+
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
38
38
|
:param pulumi.Input[_builtins.str] display_name: This is the display name for the given group.
|
|
39
39
|
:param pulumi.Input[_builtins.str] external_id: ID of the group in an external identity provider.
|
|
40
40
|
:param pulumi.Input[_builtins.bool] force: Ignore `cannot create group: Group with name X already exists.` errors and implicitly import the specific group into Pulumi state, enforcing entitlements defined in the instance of resource. _This functionality is experimental_ and is designed to simplify corner cases, like Azure Active Directory synchronisation.
|
|
41
|
-
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace.
|
|
42
|
-
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access to
|
|
41
|
+
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
42
|
+
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
43
43
|
"""
|
|
44
44
|
if acl_principal_id is not None:
|
|
45
45
|
pulumi.set(__self__, "acl_principal_id", acl_principal_id)
|
|
@@ -102,7 +102,7 @@ class GroupArgs:
|
|
|
102
102
|
@pulumi.getter(name="databricksSqlAccess")
|
|
103
103
|
def databricks_sql_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
104
104
|
"""
|
|
105
|
-
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
105
|
+
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
106
106
|
"""
|
|
107
107
|
return pulumi.get(self, "databricks_sql_access")
|
|
108
108
|
|
|
@@ -159,7 +159,7 @@ class GroupArgs:
|
|
|
159
159
|
@pulumi.getter(name="workspaceAccess")
|
|
160
160
|
def workspace_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
161
161
|
"""
|
|
162
|
-
This is a field to allow the group to have access to a Databricks Workspace.
|
|
162
|
+
This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
163
163
|
"""
|
|
164
164
|
return pulumi.get(self, "workspace_access")
|
|
165
165
|
|
|
@@ -171,7 +171,7 @@ class GroupArgs:
|
|
|
171
171
|
@pulumi.getter(name="workspaceConsume")
|
|
172
172
|
def workspace_consume(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
173
173
|
"""
|
|
174
|
-
This is a field to allow the group to have access to
|
|
174
|
+
This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
175
175
|
"""
|
|
176
176
|
return pulumi.get(self, "workspace_consume")
|
|
177
177
|
|
|
@@ -198,12 +198,12 @@ class _GroupState:
|
|
|
198
198
|
:param pulumi.Input[_builtins.str] acl_principal_id: identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
|
|
199
199
|
:param pulumi.Input[_builtins.bool] allow_cluster_create: This is a field to allow the group to have cluster create privileges. More fine grained permissions could be assigned with Permissions and cluster_id argument. Everyone without `allow_cluster_create` argument set, but with permission to use Cluster Policy would be able to create clusters, but within boundaries of that specific policy.
|
|
200
200
|
:param pulumi.Input[_builtins.bool] allow_instance_pool_create: This is a field to allow the group to have instance pool create privileges. More fine grained permissions could be assigned with Permissions and instance_pool_id argument.
|
|
201
|
-
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
201
|
+
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
202
202
|
:param pulumi.Input[_builtins.str] display_name: This is the display name for the given group.
|
|
203
203
|
:param pulumi.Input[_builtins.str] external_id: ID of the group in an external identity provider.
|
|
204
204
|
:param pulumi.Input[_builtins.bool] force: Ignore `cannot create group: Group with name X already exists.` errors and implicitly import the specific group into Pulumi state, enforcing entitlements defined in the instance of resource. _This functionality is experimental_ and is designed to simplify corner cases, like Azure Active Directory synchronisation.
|
|
205
|
-
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace.
|
|
206
|
-
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access to
|
|
205
|
+
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
206
|
+
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
207
207
|
"""
|
|
208
208
|
if acl_principal_id is not None:
|
|
209
209
|
pulumi.set(__self__, "acl_principal_id", acl_principal_id)
|
|
@@ -266,7 +266,7 @@ class _GroupState:
|
|
|
266
266
|
@pulumi.getter(name="databricksSqlAccess")
|
|
267
267
|
def databricks_sql_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
268
268
|
"""
|
|
269
|
-
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
269
|
+
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
270
270
|
"""
|
|
271
271
|
return pulumi.get(self, "databricks_sql_access")
|
|
272
272
|
|
|
@@ -323,7 +323,7 @@ class _GroupState:
|
|
|
323
323
|
@pulumi.getter(name="workspaceAccess")
|
|
324
324
|
def workspace_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
325
325
|
"""
|
|
326
|
-
This is a field to allow the group to have access to a Databricks Workspace.
|
|
326
|
+
This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
327
327
|
"""
|
|
328
328
|
return pulumi.get(self, "workspace_access")
|
|
329
329
|
|
|
@@ -335,7 +335,7 @@ class _GroupState:
|
|
|
335
335
|
@pulumi.getter(name="workspaceConsume")
|
|
336
336
|
def workspace_consume(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
337
337
|
"""
|
|
338
|
-
This is a field to allow the group to have access to
|
|
338
|
+
This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
339
339
|
"""
|
|
340
340
|
return pulumi.get(self, "workspace_consume")
|
|
341
341
|
|
|
@@ -453,12 +453,12 @@ class Group(pulumi.CustomResource):
|
|
|
453
453
|
:param pulumi.Input[_builtins.str] acl_principal_id: identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
|
|
454
454
|
:param pulumi.Input[_builtins.bool] allow_cluster_create: This is a field to allow the group to have cluster create privileges. More fine grained permissions could be assigned with Permissions and cluster_id argument. Everyone without `allow_cluster_create` argument set, but with permission to use Cluster Policy would be able to create clusters, but within boundaries of that specific policy.
|
|
455
455
|
:param pulumi.Input[_builtins.bool] allow_instance_pool_create: This is a field to allow the group to have instance pool create privileges. More fine grained permissions could be assigned with Permissions and instance_pool_id argument.
|
|
456
|
-
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
456
|
+
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
457
457
|
:param pulumi.Input[_builtins.str] display_name: This is the display name for the given group.
|
|
458
458
|
:param pulumi.Input[_builtins.str] external_id: ID of the group in an external identity provider.
|
|
459
459
|
:param pulumi.Input[_builtins.bool] force: Ignore `cannot create group: Group with name X already exists.` errors and implicitly import the specific group into Pulumi state, enforcing entitlements defined in the instance of resource. _This functionality is experimental_ and is designed to simplify corner cases, like Azure Active Directory synchronisation.
|
|
460
|
-
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace.
|
|
461
|
-
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access to
|
|
460
|
+
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
461
|
+
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
462
462
|
"""
|
|
463
463
|
...
|
|
464
464
|
@overload
|
|
@@ -627,12 +627,12 @@ class Group(pulumi.CustomResource):
|
|
|
627
627
|
:param pulumi.Input[_builtins.str] acl_principal_id: identifier for use in databricks_access_control_rule_set, e.g. `groups/Some Group`.
|
|
628
628
|
:param pulumi.Input[_builtins.bool] allow_cluster_create: This is a field to allow the group to have cluster create privileges. More fine grained permissions could be assigned with Permissions and cluster_id argument. Everyone without `allow_cluster_create` argument set, but with permission to use Cluster Policy would be able to create clusters, but within boundaries of that specific policy.
|
|
629
629
|
:param pulumi.Input[_builtins.bool] allow_instance_pool_create: This is a field to allow the group to have instance pool create privileges. More fine grained permissions could be assigned with Permissions and instance_pool_id argument.
|
|
630
|
-
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
630
|
+
:param pulumi.Input[_builtins.bool] databricks_sql_access: This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
631
631
|
:param pulumi.Input[_builtins.str] display_name: This is the display name for the given group.
|
|
632
632
|
:param pulumi.Input[_builtins.str] external_id: ID of the group in an external identity provider.
|
|
633
633
|
:param pulumi.Input[_builtins.bool] force: Ignore `cannot create group: Group with name X already exists.` errors and implicitly import the specific group into Pulumi state, enforcing entitlements defined in the instance of resource. _This functionality is experimental_ and is designed to simplify corner cases, like Azure Active Directory synchronisation.
|
|
634
|
-
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace.
|
|
635
|
-
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access to
|
|
634
|
+
:param pulumi.Input[_builtins.bool] workspace_access: This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
635
|
+
:param pulumi.Input[_builtins.bool] workspace_consume: This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
636
636
|
"""
|
|
637
637
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
638
638
|
|
|
@@ -678,7 +678,7 @@ class Group(pulumi.CustomResource):
|
|
|
678
678
|
@pulumi.getter(name="databricksSqlAccess")
|
|
679
679
|
def databricks_sql_access(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
680
680
|
"""
|
|
681
|
-
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql)
|
|
681
|
+
This is a field to allow the group to have access to [Databricks SQL](https://databricks.com/product/databricks-sql) UI, [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one) and through databricks_sql_endpoint.
|
|
682
682
|
"""
|
|
683
683
|
return pulumi.get(self, "databricks_sql_access")
|
|
684
684
|
|
|
@@ -715,7 +715,7 @@ class Group(pulumi.CustomResource):
|
|
|
715
715
|
@pulumi.getter(name="workspaceAccess")
|
|
716
716
|
def workspace_access(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
717
717
|
"""
|
|
718
|
-
This is a field to allow the group to have access to a Databricks Workspace.
|
|
718
|
+
This is a field to allow the group to have access to a Databricks Workspace UI and [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one).
|
|
719
719
|
"""
|
|
720
720
|
return pulumi.get(self, "workspace_access")
|
|
721
721
|
|
|
@@ -723,7 +723,7 @@ class Group(pulumi.CustomResource):
|
|
|
723
723
|
@pulumi.getter(name="workspaceConsume")
|
|
724
724
|
def workspace_consume(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
725
725
|
"""
|
|
726
|
-
This is a field to allow the group to have access to
|
|
726
|
+
This is a field to allow the group to have access only to [Databricks One](https://docs.databricks.com/aws/en/workspace/databricks-one#who-can-access-databricks-one). Couldn't be used with `workspace_access` or `databricks_sql_access`.
|
|
727
727
|
"""
|
|
728
728
|
return pulumi.get(self, "workspace_consume")
|
|
729
729
|
|
|
@@ -177,62 +177,6 @@ class InstanceProfile(pulumi.CustomResource):
|
|
|
177
177
|
|
|
178
178
|
> Please switch to StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.
|
|
179
179
|
|
|
180
|
-
```python
|
|
181
|
-
import pulumi
|
|
182
|
-
import pulumi_aws as aws
|
|
183
|
-
import pulumi_databricks as databricks
|
|
184
|
-
|
|
185
|
-
config = pulumi.Config()
|
|
186
|
-
# Role that you've specified on https://accounts.cloud.databricks.com/#aws
|
|
187
|
-
crossaccount_role_name = config.require("crossaccountRoleName")
|
|
188
|
-
assume_role_for_ec2 = aws.iam.get_policy_document(statements=[{
|
|
189
|
-
"effect": "Allow",
|
|
190
|
-
"actions": ["sts:AssumeRole"],
|
|
191
|
-
"principals": [{
|
|
192
|
-
"identifiers": ["ec2.amazonaws.com"],
|
|
193
|
-
"type": "Service",
|
|
194
|
-
}],
|
|
195
|
-
}])
|
|
196
|
-
role_for_s3_access = aws.iam.Role("role_for_s3_access",
|
|
197
|
-
name="shared-ec2-role-for-s3",
|
|
198
|
-
description="Role for shared access",
|
|
199
|
-
assume_role_policy=assume_role_for_ec2.json)
|
|
200
|
-
pass_role_for_s3_access = aws.iam.get_policy_document_output(statements=[{
|
|
201
|
-
"effect": "Allow",
|
|
202
|
-
"actions": ["iam:PassRole"],
|
|
203
|
-
"resources": [role_for_s3_access.arn],
|
|
204
|
-
}])
|
|
205
|
-
pass_role_for_s3_access_policy = aws.iam.Policy("pass_role_for_s3_access",
|
|
206
|
-
name="shared-pass-role-for-s3-access",
|
|
207
|
-
path="/",
|
|
208
|
-
policy=pass_role_for_s3_access.json)
|
|
209
|
-
cross_account = aws.iam.RolePolicyAttachment("cross_account",
|
|
210
|
-
policy_arn=pass_role_for_s3_access_policy.arn,
|
|
211
|
-
role=crossaccount_role_name)
|
|
212
|
-
shared = aws.iam.InstanceProfile("shared",
|
|
213
|
-
name="shared-instance-profile",
|
|
214
|
-
role=role_for_s3_access.name)
|
|
215
|
-
shared_instance_profile = databricks.InstanceProfile("shared", instance_profile_arn=shared.arn)
|
|
216
|
-
latest = databricks.get_spark_version()
|
|
217
|
-
smallest = databricks.get_node_type(local_disk=True)
|
|
218
|
-
this = databricks.Cluster("this",
|
|
219
|
-
cluster_name="Shared Autoscaling",
|
|
220
|
-
spark_version=latest.id,
|
|
221
|
-
node_type_id=smallest.id,
|
|
222
|
-
autotermination_minutes=20,
|
|
223
|
-
autoscale={
|
|
224
|
-
"min_workers": 1,
|
|
225
|
-
"max_workers": 50,
|
|
226
|
-
},
|
|
227
|
-
aws_attributes={
|
|
228
|
-
"instance_profile_arn": shared_instance_profile.id,
|
|
229
|
-
"availability": "SPOT",
|
|
230
|
-
"zone_id": "us-east-1",
|
|
231
|
-
"first_on_demand": 1,
|
|
232
|
-
"spot_bid_price_percent": 100,
|
|
233
|
-
})
|
|
234
|
-
```
|
|
235
|
-
|
|
236
180
|
## Usage with Cluster Policies
|
|
237
181
|
|
|
238
182
|
It is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `Cluster` above could be replaced with `ClusterPolicy`:
|
|
@@ -267,41 +211,6 @@ class InstanceProfile(pulumi.CustomResource):
|
|
|
267
211
|
instance_profile_id=this.id)
|
|
268
212
|
```
|
|
269
213
|
|
|
270
|
-
## Usage with Databricks SQL serverless
|
|
271
|
-
|
|
272
|
-
When the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iam_role_arn` parameter can be specified.
|
|
273
|
-
|
|
274
|
-
```python
|
|
275
|
-
import pulumi
|
|
276
|
-
import pulumi_aws as aws
|
|
277
|
-
import pulumi_databricks as databricks
|
|
278
|
-
|
|
279
|
-
sql_serverless_assume_role = aws.iam.get_policy_document(statements=[{
|
|
280
|
-
"actions": ["sts:AssumeRole"],
|
|
281
|
-
"principals": [{
|
|
282
|
-
"type": "AWS",
|
|
283
|
-
"identifiers": ["arn:aws:iam::790110701330:role/serverless-customer-resource-role"],
|
|
284
|
-
}],
|
|
285
|
-
"conditions": [{
|
|
286
|
-
"test": "StringEquals",
|
|
287
|
-
"variable": "sts:ExternalID",
|
|
288
|
-
"values": [
|
|
289
|
-
"databricks-serverless-<YOUR_WORKSPACE_ID1>",
|
|
290
|
-
"databricks-serverless-<YOUR_WORKSPACE_ID2>",
|
|
291
|
-
],
|
|
292
|
-
}],
|
|
293
|
-
}])
|
|
294
|
-
this = aws.iam.Role("this",
|
|
295
|
-
name="my-databricks-sql-serverless-role",
|
|
296
|
-
assume_role_policy=sql_serverless_assume_role.json)
|
|
297
|
-
this_instance_profile = aws.iam.InstanceProfile("this",
|
|
298
|
-
name="my-databricks-sql-serverless-instance-profile",
|
|
299
|
-
role=this.name)
|
|
300
|
-
this_instance_profile2 = databricks.InstanceProfile("this",
|
|
301
|
-
instance_profile_arn=this_instance_profile.arn,
|
|
302
|
-
iam_role_arn=this.arn)
|
|
303
|
-
```
|
|
304
|
-
|
|
305
214
|
## Import
|
|
306
215
|
|
|
307
216
|
The resource instance profile can be imported using the ARN of it
|
|
@@ -344,62 +253,6 @@ class InstanceProfile(pulumi.CustomResource):
|
|
|
344
253
|
|
|
345
254
|
> Please switch to StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.
|
|
346
255
|
|
|
347
|
-
```python
|
|
348
|
-
import pulumi
|
|
349
|
-
import pulumi_aws as aws
|
|
350
|
-
import pulumi_databricks as databricks
|
|
351
|
-
|
|
352
|
-
config = pulumi.Config()
|
|
353
|
-
# Role that you've specified on https://accounts.cloud.databricks.com/#aws
|
|
354
|
-
crossaccount_role_name = config.require("crossaccountRoleName")
|
|
355
|
-
assume_role_for_ec2 = aws.iam.get_policy_document(statements=[{
|
|
356
|
-
"effect": "Allow",
|
|
357
|
-
"actions": ["sts:AssumeRole"],
|
|
358
|
-
"principals": [{
|
|
359
|
-
"identifiers": ["ec2.amazonaws.com"],
|
|
360
|
-
"type": "Service",
|
|
361
|
-
}],
|
|
362
|
-
}])
|
|
363
|
-
role_for_s3_access = aws.iam.Role("role_for_s3_access",
|
|
364
|
-
name="shared-ec2-role-for-s3",
|
|
365
|
-
description="Role for shared access",
|
|
366
|
-
assume_role_policy=assume_role_for_ec2.json)
|
|
367
|
-
pass_role_for_s3_access = aws.iam.get_policy_document_output(statements=[{
|
|
368
|
-
"effect": "Allow",
|
|
369
|
-
"actions": ["iam:PassRole"],
|
|
370
|
-
"resources": [role_for_s3_access.arn],
|
|
371
|
-
}])
|
|
372
|
-
pass_role_for_s3_access_policy = aws.iam.Policy("pass_role_for_s3_access",
|
|
373
|
-
name="shared-pass-role-for-s3-access",
|
|
374
|
-
path="/",
|
|
375
|
-
policy=pass_role_for_s3_access.json)
|
|
376
|
-
cross_account = aws.iam.RolePolicyAttachment("cross_account",
|
|
377
|
-
policy_arn=pass_role_for_s3_access_policy.arn,
|
|
378
|
-
role=crossaccount_role_name)
|
|
379
|
-
shared = aws.iam.InstanceProfile("shared",
|
|
380
|
-
name="shared-instance-profile",
|
|
381
|
-
role=role_for_s3_access.name)
|
|
382
|
-
shared_instance_profile = databricks.InstanceProfile("shared", instance_profile_arn=shared.arn)
|
|
383
|
-
latest = databricks.get_spark_version()
|
|
384
|
-
smallest = databricks.get_node_type(local_disk=True)
|
|
385
|
-
this = databricks.Cluster("this",
|
|
386
|
-
cluster_name="Shared Autoscaling",
|
|
387
|
-
spark_version=latest.id,
|
|
388
|
-
node_type_id=smallest.id,
|
|
389
|
-
autotermination_minutes=20,
|
|
390
|
-
autoscale={
|
|
391
|
-
"min_workers": 1,
|
|
392
|
-
"max_workers": 50,
|
|
393
|
-
},
|
|
394
|
-
aws_attributes={
|
|
395
|
-
"instance_profile_arn": shared_instance_profile.id,
|
|
396
|
-
"availability": "SPOT",
|
|
397
|
-
"zone_id": "us-east-1",
|
|
398
|
-
"first_on_demand": 1,
|
|
399
|
-
"spot_bid_price_percent": 100,
|
|
400
|
-
})
|
|
401
|
-
```
|
|
402
|
-
|
|
403
256
|
## Usage with Cluster Policies
|
|
404
257
|
|
|
405
258
|
It is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `Cluster` above could be replaced with `ClusterPolicy`:
|
|
@@ -434,41 +287,6 @@ class InstanceProfile(pulumi.CustomResource):
|
|
|
434
287
|
instance_profile_id=this.id)
|
|
435
288
|
```
|
|
436
289
|
|
|
437
|
-
## Usage with Databricks SQL serverless
|
|
438
|
-
|
|
439
|
-
When the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iam_role_arn` parameter can be specified.
|
|
440
|
-
|
|
441
|
-
```python
|
|
442
|
-
import pulumi
|
|
443
|
-
import pulumi_aws as aws
|
|
444
|
-
import pulumi_databricks as databricks
|
|
445
|
-
|
|
446
|
-
sql_serverless_assume_role = aws.iam.get_policy_document(statements=[{
|
|
447
|
-
"actions": ["sts:AssumeRole"],
|
|
448
|
-
"principals": [{
|
|
449
|
-
"type": "AWS",
|
|
450
|
-
"identifiers": ["arn:aws:iam::790110701330:role/serverless-customer-resource-role"],
|
|
451
|
-
}],
|
|
452
|
-
"conditions": [{
|
|
453
|
-
"test": "StringEquals",
|
|
454
|
-
"variable": "sts:ExternalID",
|
|
455
|
-
"values": [
|
|
456
|
-
"databricks-serverless-<YOUR_WORKSPACE_ID1>",
|
|
457
|
-
"databricks-serverless-<YOUR_WORKSPACE_ID2>",
|
|
458
|
-
],
|
|
459
|
-
}],
|
|
460
|
-
}])
|
|
461
|
-
this = aws.iam.Role("this",
|
|
462
|
-
name="my-databricks-sql-serverless-role",
|
|
463
|
-
assume_role_policy=sql_serverless_assume_role.json)
|
|
464
|
-
this_instance_profile = aws.iam.InstanceProfile("this",
|
|
465
|
-
name="my-databricks-sql-serverless-instance-profile",
|
|
466
|
-
role=this.name)
|
|
467
|
-
this_instance_profile2 = databricks.InstanceProfile("this",
|
|
468
|
-
instance_profile_arn=this_instance_profile.arn,
|
|
469
|
-
iam_role_arn=this.arn)
|
|
470
|
-
```
|
|
471
|
-
|
|
472
290
|
## Import
|
|
473
291
|
|
|
474
292
|
The resource instance profile can be imported using the ARN of it
|