pulumi-databricks 1.78.0a1762407761__py3-none-any.whl → 1.79.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.
- pulumi_databricks/__init__.py +23 -0
- pulumi_databricks/_inputs.py +1630 -181
- pulumi_databricks/access_control_rule_set.py +81 -0
- pulumi_databricks/account_federation_policy.py +24 -0
- pulumi_databricks/account_network_policy.py +50 -0
- pulumi_databricks/account_setting_v2.py +181 -12
- pulumi_databricks/alert_v2.py +74 -2
- pulumi_databricks/app.py +71 -7
- pulumi_databricks/apps_settings_custom_template.py +102 -0
- pulumi_databricks/catalog.py +8 -8
- pulumi_databricks/cluster_policy.py +120 -0
- pulumi_databricks/config/__init__.pyi +4 -0
- pulumi_databricks/config/vars.py +8 -0
- pulumi_databricks/credential.py +7 -7
- pulumi_databricks/dashboard.py +94 -0
- pulumi_databricks/data_quality_monitor.py +2 -2
- pulumi_databricks/data_quality_refresh.py +78 -2
- pulumi_databricks/database_synced_database_table.py +212 -0
- pulumi_databricks/external_location.py +131 -7
- pulumi_databricks/feature_engineering_feature.py +52 -19
- pulumi_databricks/feature_engineering_kafka_config.py +463 -0
- pulumi_databricks/feature_engineering_materialized_feature.py +47 -0
- pulumi_databricks/file.py +2 -2
- pulumi_databricks/get_account_setting_v2.py +16 -16
- pulumi_databricks/get_alert_v2.py +2 -2
- pulumi_databricks/get_alerts_v2.py +2 -2
- 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_cluster.py +54 -0
- pulumi_databricks/get_current_config.py +4 -4
- pulumi_databricks/get_dashboards.py +32 -0
- pulumi_databricks/get_data_quality_monitor.py +2 -2
- pulumi_databricks/get_data_quality_monitors.py +2 -2
- pulumi_databricks/get_data_quality_refresh.py +2 -2
- pulumi_databricks/get_data_quality_refreshes.py +2 -2
- pulumi_databricks/get_feature_engineering_feature.py +12 -1
- pulumi_databricks/get_feature_engineering_kafka_config.py +182 -0
- pulumi_databricks/get_feature_engineering_kafka_configs.py +103 -0
- pulumi_databricks/get_feature_engineering_materialized_feature.py +16 -2
- pulumi_databricks/get_metastore.py +6 -6
- pulumi_databricks/get_notebook.py +20 -1
- pulumi_databricks/get_policy_info.py +36 -2
- pulumi_databricks/get_policy_infos.py +34 -2
- pulumi_databricks/get_service_principals.py +93 -7
- pulumi_databricks/get_spark_version.py +2 -2
- pulumi_databricks/get_tag_policies.py +2 -2
- pulumi_databricks/get_tag_policy.py +2 -2
- pulumi_databricks/get_users.py +194 -0
- pulumi_databricks/get_workspace_entity_tag_assignment.py +180 -0
- pulumi_databricks/get_workspace_entity_tag_assignments.py +171 -0
- pulumi_databricks/get_workspace_setting_v2.py +16 -16
- pulumi_databricks/instance_profile.py +0 -182
- pulumi_databricks/lakehouse_monitor.py +2 -2
- 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 +115 -55
- pulumi_databricks/notebook.py +49 -0
- pulumi_databricks/outputs.py +2017 -240
- pulumi_databricks/permission_assignment.py +49 -0
- pulumi_databricks/permissions.py +6 -6
- pulumi_databricks/pipeline.py +7 -7
- pulumi_databricks/policy_info.py +122 -2
- pulumi_databricks/provider.py +36 -1
- pulumi_databricks/pulumi-plugin.json +1 -1
- pulumi_databricks/recipient.py +74 -0
- pulumi_databricks/registered_model.py +7 -7
- pulumi_databricks/rfa_access_request_destinations.py +86 -19
- pulumi_databricks/schema.py +7 -7
- pulumi_databricks/service_principal_federation_policy.py +28 -0
- pulumi_databricks/sql_table.py +7 -7
- pulumi_databricks/tag_policy.py +2 -2
- pulumi_databricks/volume.py +7 -7
- pulumi_databricks/workspace_entity_tag_assignment.py +375 -0
- pulumi_databricks/workspace_setting_v2.py +181 -12
- {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/METADATA +1 -1
- {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/RECORD +86 -79
- {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/WHEEL +0 -0
- {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/top_level.txt +0 -0
|
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
|
|
|
13
13
|
else:
|
|
14
14
|
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
15
|
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
16
18
|
|
|
17
19
|
__all__ = [
|
|
18
20
|
'GetServicePrincipalsResult',
|
|
@@ -26,7 +28,7 @@ class GetServicePrincipalsResult:
|
|
|
26
28
|
"""
|
|
27
29
|
A collection of values returned by getServicePrincipals.
|
|
28
30
|
"""
|
|
29
|
-
def __init__(__self__, application_ids=None, display_name_contains=None, id=None):
|
|
31
|
+
def __init__(__self__, application_ids=None, display_name_contains=None, id=None, service_principals=None):
|
|
30
32
|
if application_ids and not isinstance(application_ids, list):
|
|
31
33
|
raise TypeError("Expected argument 'application_ids' to be a list")
|
|
32
34
|
pulumi.set(__self__, "application_ids", application_ids)
|
|
@@ -36,12 +38,15 @@ class GetServicePrincipalsResult:
|
|
|
36
38
|
if id and not isinstance(id, str):
|
|
37
39
|
raise TypeError("Expected argument 'id' to be a str")
|
|
38
40
|
pulumi.set(__self__, "id", id)
|
|
41
|
+
if service_principals and not isinstance(service_principals, list):
|
|
42
|
+
raise TypeError("Expected argument 'service_principals' to be a list")
|
|
43
|
+
pulumi.set(__self__, "service_principals", service_principals)
|
|
39
44
|
|
|
40
45
|
@_builtins.property
|
|
41
46
|
@pulumi.getter(name="applicationIds")
|
|
42
47
|
def application_ids(self) -> Sequence[_builtins.str]:
|
|
43
48
|
"""
|
|
44
|
-
List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source
|
|
49
|
+
List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source or from `service_principals` attribute.
|
|
45
50
|
"""
|
|
46
51
|
return pulumi.get(self, "application_ids")
|
|
47
52
|
|
|
@@ -58,6 +63,14 @@ class GetServicePrincipalsResult:
|
|
|
58
63
|
"""
|
|
59
64
|
return pulumi.get(self, "id")
|
|
60
65
|
|
|
66
|
+
@_builtins.property
|
|
67
|
+
@pulumi.getter(name="servicePrincipals")
|
|
68
|
+
def service_principals(self) -> Sequence['outputs.GetServicePrincipalsServicePrincipalResult']:
|
|
69
|
+
"""
|
|
70
|
+
List of objects describing individual service principals. Each object has the following attributes:
|
|
71
|
+
"""
|
|
72
|
+
return pulumi.get(self, "service_principals")
|
|
73
|
+
|
|
61
74
|
|
|
62
75
|
class AwaitableGetServicePrincipalsResult(GetServicePrincipalsResult):
|
|
63
76
|
# pylint: disable=using-constant-test
|
|
@@ -67,49 +80,122 @@ class AwaitableGetServicePrincipalsResult(GetServicePrincipalsResult):
|
|
|
67
80
|
return GetServicePrincipalsResult(
|
|
68
81
|
application_ids=self.application_ids,
|
|
69
82
|
display_name_contains=self.display_name_contains,
|
|
70
|
-
id=self.id
|
|
83
|
+
id=self.id,
|
|
84
|
+
service_principals=self.service_principals)
|
|
71
85
|
|
|
72
86
|
|
|
73
87
|
def get_service_principals(application_ids: Optional[Sequence[_builtins.str]] = None,
|
|
74
88
|
display_name_contains: Optional[_builtins.str] = None,
|
|
89
|
+
service_principals: Optional[Sequence[Union['GetServicePrincipalsServicePrincipalArgs', 'GetServicePrincipalsServicePrincipalArgsDict']]] = None,
|
|
75
90
|
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServicePrincipalsResult:
|
|
76
91
|
"""
|
|
77
92
|
Retrieves `application_ids` of all ServicePrincipal based on their `display_name`
|
|
78
93
|
|
|
79
94
|
> This data source can be used with an account or workspace-level provider.
|
|
80
95
|
|
|
96
|
+
## Example Usage
|
|
97
|
+
|
|
98
|
+
Adding all service principals of which display name contains `my-spn` to admin group
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
import pulumi
|
|
102
|
+
import pulumi_databricks as databricks
|
|
103
|
+
import pulumi_std as std
|
|
104
|
+
|
|
105
|
+
admins = databricks.get_group(display_name="admins")
|
|
106
|
+
spns = databricks.get_service_principals(display_name_contains="my-spn")
|
|
107
|
+
spn = {__key: databricks.get_service_principal(application_id=__value) for __key, __value in std.toset(input=spns.application_ids).result}
|
|
108
|
+
my_member_spn = []
|
|
109
|
+
for range in [{"key": k, "value": v} for [k, v] in enumerate(std.toset(input=spns.application_ids).result)]:
|
|
110
|
+
my_member_spn.append(databricks.GroupMember(f"my_member_spn-{range['key']}",
|
|
111
|
+
group_id=admins.id,
|
|
112
|
+
member_id=spn[range["value"]].sp_id))
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Related Resources
|
|
116
|
+
|
|
117
|
+
The following resources are used in the same context:
|
|
81
118
|
|
|
82
|
-
|
|
119
|
+
- End to end workspace management guide.
|
|
120
|
+
- get_current_user data to retrieve information about User or databricks_service_principal, that is calling Databricks REST API.
|
|
121
|
+
- Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
|
|
122
|
+
- Group data to retrieve information about Group members, entitlements and instance profiles.
|
|
123
|
+
- GroupInstanceProfile to attach InstanceProfile (AWS) to databricks_group.
|
|
124
|
+
- GroupMember to attach users and groups as group members.
|
|
125
|
+
- Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
|
|
126
|
+
- databricks_service principal to manage service principals
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
:param Sequence[_builtins.str] application_ids: List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source or from `service_principals` attribute.
|
|
83
130
|
:param _builtins.str display_name_contains: Only return ServicePrincipal display name that match the given name string
|
|
131
|
+
:param Sequence[Union['GetServicePrincipalsServicePrincipalArgs', 'GetServicePrincipalsServicePrincipalArgsDict']] service_principals: List of objects describing individual service principals. Each object has the following attributes:
|
|
84
132
|
"""
|
|
85
133
|
__args__ = dict()
|
|
86
134
|
__args__['applicationIds'] = application_ids
|
|
87
135
|
__args__['displayNameContains'] = display_name_contains
|
|
136
|
+
__args__['servicePrincipals'] = service_principals
|
|
88
137
|
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
89
138
|
__ret__ = pulumi.runtime.invoke('databricks:index/getServicePrincipals:getServicePrincipals', __args__, opts=opts, typ=GetServicePrincipalsResult).value
|
|
90
139
|
|
|
91
140
|
return AwaitableGetServicePrincipalsResult(
|
|
92
141
|
application_ids=pulumi.get(__ret__, 'application_ids'),
|
|
93
142
|
display_name_contains=pulumi.get(__ret__, 'display_name_contains'),
|
|
94
|
-
id=pulumi.get(__ret__, 'id')
|
|
143
|
+
id=pulumi.get(__ret__, 'id'),
|
|
144
|
+
service_principals=pulumi.get(__ret__, 'service_principals'))
|
|
95
145
|
def get_service_principals_output(application_ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None,
|
|
96
146
|
display_name_contains: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
147
|
+
service_principals: Optional[pulumi.Input[Optional[Sequence[Union['GetServicePrincipalsServicePrincipalArgs', 'GetServicePrincipalsServicePrincipalArgsDict']]]]] = None,
|
|
97
148
|
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServicePrincipalsResult]:
|
|
98
149
|
"""
|
|
99
150
|
Retrieves `application_ids` of all ServicePrincipal based on their `display_name`
|
|
100
151
|
|
|
101
152
|
> This data source can be used with an account or workspace-level provider.
|
|
102
153
|
|
|
154
|
+
## Example Usage
|
|
155
|
+
|
|
156
|
+
Adding all service principals of which display name contains `my-spn` to admin group
|
|
157
|
+
|
|
158
|
+
```python
|
|
159
|
+
import pulumi
|
|
160
|
+
import pulumi_databricks as databricks
|
|
161
|
+
import pulumi_std as std
|
|
162
|
+
|
|
163
|
+
admins = databricks.get_group(display_name="admins")
|
|
164
|
+
spns = databricks.get_service_principals(display_name_contains="my-spn")
|
|
165
|
+
spn = {__key: databricks.get_service_principal(application_id=__value) for __key, __value in std.toset(input=spns.application_ids).result}
|
|
166
|
+
my_member_spn = []
|
|
167
|
+
for range in [{"key": k, "value": v} for [k, v] in enumerate(std.toset(input=spns.application_ids).result)]:
|
|
168
|
+
my_member_spn.append(databricks.GroupMember(f"my_member_spn-{range['key']}",
|
|
169
|
+
group_id=admins.id,
|
|
170
|
+
member_id=spn[range["value"]].sp_id))
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Related Resources
|
|
174
|
+
|
|
175
|
+
The following resources are used in the same context:
|
|
176
|
+
|
|
177
|
+
- End to end workspace management guide.
|
|
178
|
+
- get_current_user data to retrieve information about User or databricks_service_principal, that is calling Databricks REST API.
|
|
179
|
+
- Group to manage [Account-level](https://docs.databricks.com/aws/en/admin/users-groups/groups) or [Workspace-level](https://docs.databricks.com/aws/en/admin/users-groups/workspace-local-groups) groups.
|
|
180
|
+
- Group data to retrieve information about Group members, entitlements and instance profiles.
|
|
181
|
+
- GroupInstanceProfile to attach InstanceProfile (AWS) to databricks_group.
|
|
182
|
+
- GroupMember to attach users and groups as group members.
|
|
183
|
+
- Permissions to manage [access control](https://docs.databricks.com/security/access-control/index.html) in Databricks workspace.
|
|
184
|
+
- databricks_service principal to manage service principals
|
|
185
|
+
|
|
103
186
|
|
|
104
|
-
:param Sequence[_builtins.str] application_ids: List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source
|
|
187
|
+
:param Sequence[_builtins.str] application_ids: List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source or from `service_principals` attribute.
|
|
105
188
|
:param _builtins.str display_name_contains: Only return ServicePrincipal display name that match the given name string
|
|
189
|
+
:param Sequence[Union['GetServicePrincipalsServicePrincipalArgs', 'GetServicePrincipalsServicePrincipalArgsDict']] service_principals: List of objects describing individual service principals. Each object has the following attributes:
|
|
106
190
|
"""
|
|
107
191
|
__args__ = dict()
|
|
108
192
|
__args__['applicationIds'] = application_ids
|
|
109
193
|
__args__['displayNameContains'] = display_name_contains
|
|
194
|
+
__args__['servicePrincipals'] = service_principals
|
|
110
195
|
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
111
196
|
__ret__ = pulumi.runtime.invoke_output('databricks:index/getServicePrincipals:getServicePrincipals', __args__, opts=opts, typ=GetServicePrincipalsResult)
|
|
112
197
|
return __ret__.apply(lambda __response__: GetServicePrincipalsResult(
|
|
113
198
|
application_ids=pulumi.get(__response__, 'application_ids'),
|
|
114
199
|
display_name_contains=pulumi.get(__response__, 'display_name_contains'),
|
|
115
|
-
id=pulumi.get(__response__, 'id')
|
|
200
|
+
id=pulumi.get(__response__, 'id'),
|
|
201
|
+
service_principals=pulumi.get(__response__, 'service_principals')))
|
|
@@ -216,7 +216,7 @@ def get_spark_version(beta: Optional[_builtins.bool] = None,
|
|
|
216
216
|
:param _builtins.bool ml: if we should limit the search only to ML runtimes. Default to `false`.
|
|
217
217
|
:param _builtins.bool photon: if we should limit the search only to Photon runtimes. Default to `false`. *Deprecated with DBR 14.0 release. Specify `runtime_engine=\\"PHOTON\\"` in the cluster configuration instead!*
|
|
218
218
|
:param Union['GetSparkVersionProviderConfigArgs', 'GetSparkVersionProviderConfigArgsDict'] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
|
|
219
|
-
:param _builtins.str scala: if we should limit the search only to runtimes that are based on specific Scala version. Default to `2.12
|
|
219
|
+
:param _builtins.str scala: if we should limit the search only to runtimes that are based on specific Scala version. Default to `2.1` to select either `2.12` or `2.13` depending on the DBR version (for DBR that has both `2.12` and `2.13` flavors, `2.12` is returned by default).
|
|
220
220
|
:param _builtins.str spark_version: if we should limit the search only to runtimes that are based on specific Spark version. Default to empty string. It could be specified as `3`, or `3.0`, or full version, like, `3.0.1`.
|
|
221
221
|
"""
|
|
222
222
|
__args__ = dict()
|
|
@@ -312,7 +312,7 @@ def get_spark_version_output(beta: Optional[pulumi.Input[Optional[_builtins.bool
|
|
|
312
312
|
:param _builtins.bool ml: if we should limit the search only to ML runtimes. Default to `false`.
|
|
313
313
|
:param _builtins.bool photon: if we should limit the search only to Photon runtimes. Default to `false`. *Deprecated with DBR 14.0 release. Specify `runtime_engine=\\"PHOTON\\"` in the cluster configuration instead!*
|
|
314
314
|
:param Union['GetSparkVersionProviderConfigArgs', 'GetSparkVersionProviderConfigArgsDict'] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
|
|
315
|
-
:param _builtins.str scala: if we should limit the search only to runtimes that are based on specific Scala version. Default to `2.12
|
|
315
|
+
:param _builtins.str scala: if we should limit the search only to runtimes that are based on specific Scala version. Default to `2.1` to select either `2.12` or `2.13` depending on the DBR version (for DBR that has both `2.12` and `2.13` flavors, `2.12` is returned by default).
|
|
316
316
|
:param _builtins.str spark_version: if we should limit the search only to runtimes that are based on specific Spark version. Default to empty string. It could be specified as `3`, or `3.0`, or full version, like, `3.0.1`.
|
|
317
317
|
"""
|
|
318
318
|
__args__ = dict()
|
|
@@ -73,7 +73,7 @@ def get_tag_policies(page_size: Optional[_builtins.int] = None,
|
|
|
73
73
|
"""
|
|
74
74
|
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
75
75
|
|
|
76
|
-
This data source can be used to list all tag policies in the account.
|
|
76
|
+
This data source can be used to list all tag policies in the account. Manage tag policy permissions using the `AccessControlRuleSet` resource.
|
|
77
77
|
|
|
78
78
|
> **Note** This resource can only be used with a workspace-level provider!
|
|
79
79
|
|
|
@@ -108,7 +108,7 @@ def get_tag_policies_output(page_size: Optional[pulumi.Input[Optional[_builtins.
|
|
|
108
108
|
"""
|
|
109
109
|
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
110
110
|
|
|
111
|
-
This data source can be used to list all tag policies in the account.
|
|
111
|
+
This data source can be used to list all tag policies in the account. Manage tag policy permissions using the `AccessControlRuleSet` resource.
|
|
112
112
|
|
|
113
113
|
> **Note** This resource can only be used with a workspace-level provider!
|
|
114
114
|
|
|
@@ -115,7 +115,7 @@ def get_tag_policy(tag_key: Optional[_builtins.str] = None,
|
|
|
115
115
|
"""
|
|
116
116
|
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
117
117
|
|
|
118
|
-
This data source can be used to get a single tag policy by its tag key.
|
|
118
|
+
This data source can be used to get a single tag policy by its tag key. Manage tag policy permissions using the `AccessControlRuleSet` resource.
|
|
119
119
|
|
|
120
120
|
> **Note** This resource can only be used with a workspace-level provider!
|
|
121
121
|
|
|
@@ -147,7 +147,7 @@ def get_tag_policy_output(tag_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
|
147
147
|
"""
|
|
148
148
|
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
149
149
|
|
|
150
|
-
This data source can be used to get a single tag policy by its tag key.
|
|
150
|
+
This data source can be used to get a single tag policy by its tag key. Manage tag policy permissions using the `AccessControlRuleSet` resource.
|
|
151
151
|
|
|
152
152
|
> **Note** This resource can only be used with a workspace-level provider!
|
|
153
153
|
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
'GetUsersResult',
|
|
21
|
+
'AwaitableGetUsersResult',
|
|
22
|
+
'get_users',
|
|
23
|
+
'get_users_output',
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
@pulumi.output_type
|
|
27
|
+
class GetUsersResult:
|
|
28
|
+
"""
|
|
29
|
+
A collection of values returned by getUsers.
|
|
30
|
+
"""
|
|
31
|
+
def __init__(__self__, extra_attributes=None, filter=None, id=None, users=None):
|
|
32
|
+
if extra_attributes and not isinstance(extra_attributes, str):
|
|
33
|
+
raise TypeError("Expected argument 'extra_attributes' to be a str")
|
|
34
|
+
pulumi.set(__self__, "extra_attributes", extra_attributes)
|
|
35
|
+
if filter and not isinstance(filter, str):
|
|
36
|
+
raise TypeError("Expected argument 'filter' to be a str")
|
|
37
|
+
pulumi.set(__self__, "filter", filter)
|
|
38
|
+
if id and not isinstance(id, str):
|
|
39
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
40
|
+
pulumi.set(__self__, "id", id)
|
|
41
|
+
if users and not isinstance(users, list):
|
|
42
|
+
raise TypeError("Expected argument 'users' to be a list")
|
|
43
|
+
pulumi.set(__self__, "users", users)
|
|
44
|
+
|
|
45
|
+
@_builtins.property
|
|
46
|
+
@pulumi.getter(name="extraAttributes")
|
|
47
|
+
def extra_attributes(self) -> Optional[_builtins.str]:
|
|
48
|
+
return pulumi.get(self, "extra_attributes")
|
|
49
|
+
|
|
50
|
+
@_builtins.property
|
|
51
|
+
@pulumi.getter
|
|
52
|
+
def filter(self) -> Optional[_builtins.str]:
|
|
53
|
+
return pulumi.get(self, "filter")
|
|
54
|
+
|
|
55
|
+
@_builtins.property
|
|
56
|
+
@pulumi.getter
|
|
57
|
+
def id(self) -> _builtins.str:
|
|
58
|
+
"""
|
|
59
|
+
The provider-assigned unique ID for this managed resource.
|
|
60
|
+
"""
|
|
61
|
+
return pulumi.get(self, "id")
|
|
62
|
+
|
|
63
|
+
@_builtins.property
|
|
64
|
+
@pulumi.getter
|
|
65
|
+
def users(self) -> Sequence['outputs.GetUsersUserResult']:
|
|
66
|
+
"""
|
|
67
|
+
A list of users matching the specified criteria. Each user has the following attributes:
|
|
68
|
+
"""
|
|
69
|
+
return pulumi.get(self, "users")
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class AwaitableGetUsersResult(GetUsersResult):
|
|
73
|
+
# pylint: disable=using-constant-test
|
|
74
|
+
def __await__(self):
|
|
75
|
+
if False:
|
|
76
|
+
yield self
|
|
77
|
+
return GetUsersResult(
|
|
78
|
+
extra_attributes=self.extra_attributes,
|
|
79
|
+
filter=self.filter,
|
|
80
|
+
id=self.id,
|
|
81
|
+
users=self.users)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def get_users(extra_attributes: Optional[_builtins.str] = None,
|
|
85
|
+
filter: Optional[_builtins.str] = None,
|
|
86
|
+
users: Optional[Sequence[Union['GetUsersUserArgs', 'GetUsersUserArgsDict']]] = None,
|
|
87
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUsersResult:
|
|
88
|
+
"""
|
|
89
|
+
Retrieves information about multiple User resources.
|
|
90
|
+
|
|
91
|
+
> This data source works with both the account-level and workspace-level provider.
|
|
92
|
+
|
|
93
|
+
## Example Usage
|
|
94
|
+
|
|
95
|
+
Adding a subset of users to a group
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
import pulumi
|
|
99
|
+
import pulumi_databricks as databricks
|
|
100
|
+
|
|
101
|
+
company_users = databricks.get_users(filter="userName co \\"@domain.org\\"")
|
|
102
|
+
data_users_group = databricks.Group("data_users_group", display_name="Data Users")
|
|
103
|
+
add_users_to_group = []
|
|
104
|
+
for range in [{"key": k, "value": v} for [k, v] in enumerate({user.id: user for user in company_users.users})]:
|
|
105
|
+
add_users_to_group.append(databricks.GroupMember(f"add_users_to_group-{range['key']}",
|
|
106
|
+
group_id=data_users_group.id,
|
|
107
|
+
member_id=%!v(PANIC=Format method: runtime error: index out of range [-1])))
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Related Resources
|
|
111
|
+
|
|
112
|
+
The following resources are used in the same context:
|
|
113
|
+
|
|
114
|
+
- **databricks_user**: Resource to manage individual users in Databricks.
|
|
115
|
+
- **databricks_group**: Resource to manage groups in Databricks.
|
|
116
|
+
- **databricks_group_member**: Resource to manage group memberships by adding users to groups.
|
|
117
|
+
- **databricks_permissions**: Resource to manage access control in the Databricks workspace.
|
|
118
|
+
- **databricks_current_user**: Data source to retrieve information about the user or service principal that is calling the Databricks REST API.
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
:param _builtins.str extra_attributes: A comma-separated list of additional user attributes to include in the results. By default, the data source returns the following attributes: `id`, `userName`, `displayName`, and `externalId`. Use this argument to request additional attributes as needed. The list of all available attributes can be found in the [API reference](https://docs.databricks.com/api/workspace/users/list).
|
|
122
|
+
:param _builtins.str filter: Query by which the results have to be filtered. If not specified, all users will be returned. Supported operators are equals (`eq`), contains (`co`), starts with (`sw`), and not equals (`ne`). Additionally, simple expressions can be formed using logical operators `and` and `or`.
|
|
123
|
+
|
|
124
|
+
**Examples:**
|
|
125
|
+
- User whose `displayName` equals "john":
|
|
126
|
+
:param Sequence[Union['GetUsersUserArgs', 'GetUsersUserArgsDict']] users: A list of users matching the specified criteria. Each user has the following attributes:
|
|
127
|
+
"""
|
|
128
|
+
__args__ = dict()
|
|
129
|
+
__args__['extraAttributes'] = extra_attributes
|
|
130
|
+
__args__['filter'] = filter
|
|
131
|
+
__args__['users'] = users
|
|
132
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
133
|
+
__ret__ = pulumi.runtime.invoke('databricks:index/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult).value
|
|
134
|
+
|
|
135
|
+
return AwaitableGetUsersResult(
|
|
136
|
+
extra_attributes=pulumi.get(__ret__, 'extra_attributes'),
|
|
137
|
+
filter=pulumi.get(__ret__, 'filter'),
|
|
138
|
+
id=pulumi.get(__ret__, 'id'),
|
|
139
|
+
users=pulumi.get(__ret__, 'users'))
|
|
140
|
+
def get_users_output(extra_attributes: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
141
|
+
filter: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
142
|
+
users: Optional[pulumi.Input[Optional[Sequence[Union['GetUsersUserArgs', 'GetUsersUserArgsDict']]]]] = None,
|
|
143
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUsersResult]:
|
|
144
|
+
"""
|
|
145
|
+
Retrieves information about multiple User resources.
|
|
146
|
+
|
|
147
|
+
> This data source works with both the account-level and workspace-level provider.
|
|
148
|
+
|
|
149
|
+
## Example Usage
|
|
150
|
+
|
|
151
|
+
Adding a subset of users to a group
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
import pulumi
|
|
155
|
+
import pulumi_databricks as databricks
|
|
156
|
+
|
|
157
|
+
company_users = databricks.get_users(filter="userName co \\"@domain.org\\"")
|
|
158
|
+
data_users_group = databricks.Group("data_users_group", display_name="Data Users")
|
|
159
|
+
add_users_to_group = []
|
|
160
|
+
for range in [{"key": k, "value": v} for [k, v] in enumerate({user.id: user for user in company_users.users})]:
|
|
161
|
+
add_users_to_group.append(databricks.GroupMember(f"add_users_to_group-{range['key']}",
|
|
162
|
+
group_id=data_users_group.id,
|
|
163
|
+
member_id=%!v(PANIC=Format method: runtime error: index out of range [-1])))
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Related Resources
|
|
167
|
+
|
|
168
|
+
The following resources are used in the same context:
|
|
169
|
+
|
|
170
|
+
- **databricks_user**: Resource to manage individual users in Databricks.
|
|
171
|
+
- **databricks_group**: Resource to manage groups in Databricks.
|
|
172
|
+
- **databricks_group_member**: Resource to manage group memberships by adding users to groups.
|
|
173
|
+
- **databricks_permissions**: Resource to manage access control in the Databricks workspace.
|
|
174
|
+
- **databricks_current_user**: Data source to retrieve information about the user or service principal that is calling the Databricks REST API.
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
:param _builtins.str extra_attributes: A comma-separated list of additional user attributes to include in the results. By default, the data source returns the following attributes: `id`, `userName`, `displayName`, and `externalId`. Use this argument to request additional attributes as needed. The list of all available attributes can be found in the [API reference](https://docs.databricks.com/api/workspace/users/list).
|
|
178
|
+
:param _builtins.str filter: Query by which the results have to be filtered. If not specified, all users will be returned. Supported operators are equals (`eq`), contains (`co`), starts with (`sw`), and not equals (`ne`). Additionally, simple expressions can be formed using logical operators `and` and `or`.
|
|
179
|
+
|
|
180
|
+
**Examples:**
|
|
181
|
+
- User whose `displayName` equals "john":
|
|
182
|
+
:param Sequence[Union['GetUsersUserArgs', 'GetUsersUserArgsDict']] users: A list of users matching the specified criteria. Each user has the following attributes:
|
|
183
|
+
"""
|
|
184
|
+
__args__ = dict()
|
|
185
|
+
__args__['extraAttributes'] = extra_attributes
|
|
186
|
+
__args__['filter'] = filter
|
|
187
|
+
__args__['users'] = users
|
|
188
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
189
|
+
__ret__ = pulumi.runtime.invoke_output('databricks:index/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult)
|
|
190
|
+
return __ret__.apply(lambda __response__: GetUsersResult(
|
|
191
|
+
extra_attributes=pulumi.get(__response__, 'extra_attributes'),
|
|
192
|
+
filter=pulumi.get(__response__, 'filter'),
|
|
193
|
+
id=pulumi.get(__response__, 'id'),
|
|
194
|
+
users=pulumi.get(__response__, 'users')))
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
'GetWorkspaceEntityTagAssignmentResult',
|
|
19
|
+
'AwaitableGetWorkspaceEntityTagAssignmentResult',
|
|
20
|
+
'get_workspace_entity_tag_assignment',
|
|
21
|
+
'get_workspace_entity_tag_assignment_output',
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
@pulumi.output_type
|
|
25
|
+
class GetWorkspaceEntityTagAssignmentResult:
|
|
26
|
+
"""
|
|
27
|
+
A collection of values returned by getWorkspaceEntityTagAssignment.
|
|
28
|
+
"""
|
|
29
|
+
def __init__(__self__, entity_id=None, entity_type=None, id=None, tag_key=None, tag_value=None):
|
|
30
|
+
if entity_id and not isinstance(entity_id, str):
|
|
31
|
+
raise TypeError("Expected argument 'entity_id' to be a str")
|
|
32
|
+
pulumi.set(__self__, "entity_id", entity_id)
|
|
33
|
+
if entity_type and not isinstance(entity_type, str):
|
|
34
|
+
raise TypeError("Expected argument 'entity_type' to be a str")
|
|
35
|
+
pulumi.set(__self__, "entity_type", entity_type)
|
|
36
|
+
if id and not isinstance(id, str):
|
|
37
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
38
|
+
pulumi.set(__self__, "id", id)
|
|
39
|
+
if tag_key and not isinstance(tag_key, str):
|
|
40
|
+
raise TypeError("Expected argument 'tag_key' to be a str")
|
|
41
|
+
pulumi.set(__self__, "tag_key", tag_key)
|
|
42
|
+
if tag_value and not isinstance(tag_value, str):
|
|
43
|
+
raise TypeError("Expected argument 'tag_value' to be a str")
|
|
44
|
+
pulumi.set(__self__, "tag_value", tag_value)
|
|
45
|
+
|
|
46
|
+
@_builtins.property
|
|
47
|
+
@pulumi.getter(name="entityId")
|
|
48
|
+
def entity_id(self) -> _builtins.str:
|
|
49
|
+
"""
|
|
50
|
+
(string) - The identifier of the entity to which the tag is assigned
|
|
51
|
+
"""
|
|
52
|
+
return pulumi.get(self, "entity_id")
|
|
53
|
+
|
|
54
|
+
@_builtins.property
|
|
55
|
+
@pulumi.getter(name="entityType")
|
|
56
|
+
def entity_type(self) -> _builtins.str:
|
|
57
|
+
"""
|
|
58
|
+
(string) - The type of entity to which the tag is assigned. Allowed values are dashboards, geniespaces
|
|
59
|
+
"""
|
|
60
|
+
return pulumi.get(self, "entity_type")
|
|
61
|
+
|
|
62
|
+
@_builtins.property
|
|
63
|
+
@pulumi.getter
|
|
64
|
+
def id(self) -> _builtins.str:
|
|
65
|
+
"""
|
|
66
|
+
The provider-assigned unique ID for this managed resource.
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "id")
|
|
69
|
+
|
|
70
|
+
@_builtins.property
|
|
71
|
+
@pulumi.getter(name="tagKey")
|
|
72
|
+
def tag_key(self) -> _builtins.str:
|
|
73
|
+
"""
|
|
74
|
+
(string) - The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed
|
|
75
|
+
"""
|
|
76
|
+
return pulumi.get(self, "tag_key")
|
|
77
|
+
|
|
78
|
+
@_builtins.property
|
|
79
|
+
@pulumi.getter(name="tagValue")
|
|
80
|
+
def tag_value(self) -> _builtins.str:
|
|
81
|
+
"""
|
|
82
|
+
(string) - The value of the tag
|
|
83
|
+
"""
|
|
84
|
+
return pulumi.get(self, "tag_value")
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class AwaitableGetWorkspaceEntityTagAssignmentResult(GetWorkspaceEntityTagAssignmentResult):
|
|
88
|
+
# pylint: disable=using-constant-test
|
|
89
|
+
def __await__(self):
|
|
90
|
+
if False:
|
|
91
|
+
yield self
|
|
92
|
+
return GetWorkspaceEntityTagAssignmentResult(
|
|
93
|
+
entity_id=self.entity_id,
|
|
94
|
+
entity_type=self.entity_type,
|
|
95
|
+
id=self.id,
|
|
96
|
+
tag_key=self.tag_key,
|
|
97
|
+
tag_value=self.tag_value)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def get_workspace_entity_tag_assignment(entity_id: Optional[_builtins.str] = None,
|
|
101
|
+
entity_type: Optional[_builtins.str] = None,
|
|
102
|
+
tag_key: Optional[_builtins.str] = None,
|
|
103
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkspaceEntityTagAssignmentResult:
|
|
104
|
+
"""
|
|
105
|
+
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
106
|
+
|
|
107
|
+
This data source allows you to get information about a tag assignment for a specific workspace scoped entity using the entity type, entity id, and tag key.
|
|
108
|
+
|
|
109
|
+
## Example Usage
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
import pulumi
|
|
113
|
+
import pulumi_databricks as databricks
|
|
114
|
+
|
|
115
|
+
dashboard_tag = databricks.get_workspace_entity_tag_assignment(entity_type="dashboards",
|
|
116
|
+
entity_id="2807324866692453",
|
|
117
|
+
tag_key="sensitivity_level")
|
|
118
|
+
geniespace_tag = databricks.get_workspace_entity_tag_assignment(entity_type="geniespaces",
|
|
119
|
+
entity_id="2807324866692453",
|
|
120
|
+
tag_key="sensitivity_level")
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
:param _builtins.str entity_id: The identifier of the entity to which the tag is assigned
|
|
125
|
+
:param _builtins.str entity_type: The type of entity to which the tag is assigned. Allowed values are dashboards, geniespaces
|
|
126
|
+
:param _builtins.str tag_key: The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed
|
|
127
|
+
"""
|
|
128
|
+
__args__ = dict()
|
|
129
|
+
__args__['entityId'] = entity_id
|
|
130
|
+
__args__['entityType'] = entity_type
|
|
131
|
+
__args__['tagKey'] = tag_key
|
|
132
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
133
|
+
__ret__ = pulumi.runtime.invoke('databricks:index/getWorkspaceEntityTagAssignment:getWorkspaceEntityTagAssignment', __args__, opts=opts, typ=GetWorkspaceEntityTagAssignmentResult).value
|
|
134
|
+
|
|
135
|
+
return AwaitableGetWorkspaceEntityTagAssignmentResult(
|
|
136
|
+
entity_id=pulumi.get(__ret__, 'entity_id'),
|
|
137
|
+
entity_type=pulumi.get(__ret__, 'entity_type'),
|
|
138
|
+
id=pulumi.get(__ret__, 'id'),
|
|
139
|
+
tag_key=pulumi.get(__ret__, 'tag_key'),
|
|
140
|
+
tag_value=pulumi.get(__ret__, 'tag_value'))
|
|
141
|
+
def get_workspace_entity_tag_assignment_output(entity_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
142
|
+
entity_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
143
|
+
tag_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
144
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkspaceEntityTagAssignmentResult]:
|
|
145
|
+
"""
|
|
146
|
+
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
147
|
+
|
|
148
|
+
This data source allows you to get information about a tag assignment for a specific workspace scoped entity using the entity type, entity id, and tag key.
|
|
149
|
+
|
|
150
|
+
## Example Usage
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
import pulumi
|
|
154
|
+
import pulumi_databricks as databricks
|
|
155
|
+
|
|
156
|
+
dashboard_tag = databricks.get_workspace_entity_tag_assignment(entity_type="dashboards",
|
|
157
|
+
entity_id="2807324866692453",
|
|
158
|
+
tag_key="sensitivity_level")
|
|
159
|
+
geniespace_tag = databricks.get_workspace_entity_tag_assignment(entity_type="geniespaces",
|
|
160
|
+
entity_id="2807324866692453",
|
|
161
|
+
tag_key="sensitivity_level")
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
:param _builtins.str entity_id: The identifier of the entity to which the tag is assigned
|
|
166
|
+
:param _builtins.str entity_type: The type of entity to which the tag is assigned. Allowed values are dashboards, geniespaces
|
|
167
|
+
:param _builtins.str tag_key: The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed
|
|
168
|
+
"""
|
|
169
|
+
__args__ = dict()
|
|
170
|
+
__args__['entityId'] = entity_id
|
|
171
|
+
__args__['entityType'] = entity_type
|
|
172
|
+
__args__['tagKey'] = tag_key
|
|
173
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
174
|
+
__ret__ = pulumi.runtime.invoke_output('databricks:index/getWorkspaceEntityTagAssignment:getWorkspaceEntityTagAssignment', __args__, opts=opts, typ=GetWorkspaceEntityTagAssignmentResult)
|
|
175
|
+
return __ret__.apply(lambda __response__: GetWorkspaceEntityTagAssignmentResult(
|
|
176
|
+
entity_id=pulumi.get(__response__, 'entity_id'),
|
|
177
|
+
entity_type=pulumi.get(__response__, 'entity_type'),
|
|
178
|
+
id=pulumi.get(__response__, 'id'),
|
|
179
|
+
tag_key=pulumi.get(__response__, 'tag_key'),
|
|
180
|
+
tag_value=pulumi.get(__response__, 'tag_value')))
|