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.
Files changed (86) hide show
  1. pulumi_databricks/__init__.py +23 -0
  2. pulumi_databricks/_inputs.py +1630 -181
  3. pulumi_databricks/access_control_rule_set.py +81 -0
  4. pulumi_databricks/account_federation_policy.py +24 -0
  5. pulumi_databricks/account_network_policy.py +50 -0
  6. pulumi_databricks/account_setting_v2.py +181 -12
  7. pulumi_databricks/alert_v2.py +74 -2
  8. pulumi_databricks/app.py +71 -7
  9. pulumi_databricks/apps_settings_custom_template.py +102 -0
  10. pulumi_databricks/catalog.py +8 -8
  11. pulumi_databricks/cluster_policy.py +120 -0
  12. pulumi_databricks/config/__init__.pyi +4 -0
  13. pulumi_databricks/config/vars.py +8 -0
  14. pulumi_databricks/credential.py +7 -7
  15. pulumi_databricks/dashboard.py +94 -0
  16. pulumi_databricks/data_quality_monitor.py +2 -2
  17. pulumi_databricks/data_quality_refresh.py +78 -2
  18. pulumi_databricks/database_synced_database_table.py +212 -0
  19. pulumi_databricks/external_location.py +131 -7
  20. pulumi_databricks/feature_engineering_feature.py +52 -19
  21. pulumi_databricks/feature_engineering_kafka_config.py +463 -0
  22. pulumi_databricks/feature_engineering_materialized_feature.py +47 -0
  23. pulumi_databricks/file.py +2 -2
  24. pulumi_databricks/get_account_setting_v2.py +16 -16
  25. pulumi_databricks/get_alert_v2.py +2 -2
  26. pulumi_databricks/get_alerts_v2.py +2 -2
  27. pulumi_databricks/get_aws_assume_role_policy.py +14 -14
  28. pulumi_databricks/get_aws_bucket_policy.py +10 -10
  29. pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +10 -10
  30. pulumi_databricks/get_aws_unity_catalog_policy.py +10 -10
  31. pulumi_databricks/get_cluster.py +54 -0
  32. pulumi_databricks/get_current_config.py +4 -4
  33. pulumi_databricks/get_dashboards.py +32 -0
  34. pulumi_databricks/get_data_quality_monitor.py +2 -2
  35. pulumi_databricks/get_data_quality_monitors.py +2 -2
  36. pulumi_databricks/get_data_quality_refresh.py +2 -2
  37. pulumi_databricks/get_data_quality_refreshes.py +2 -2
  38. pulumi_databricks/get_feature_engineering_feature.py +12 -1
  39. pulumi_databricks/get_feature_engineering_kafka_config.py +182 -0
  40. pulumi_databricks/get_feature_engineering_kafka_configs.py +103 -0
  41. pulumi_databricks/get_feature_engineering_materialized_feature.py +16 -2
  42. pulumi_databricks/get_metastore.py +6 -6
  43. pulumi_databricks/get_notebook.py +20 -1
  44. pulumi_databricks/get_policy_info.py +36 -2
  45. pulumi_databricks/get_policy_infos.py +34 -2
  46. pulumi_databricks/get_service_principals.py +93 -7
  47. pulumi_databricks/get_spark_version.py +2 -2
  48. pulumi_databricks/get_tag_policies.py +2 -2
  49. pulumi_databricks/get_tag_policy.py +2 -2
  50. pulumi_databricks/get_users.py +194 -0
  51. pulumi_databricks/get_workspace_entity_tag_assignment.py +180 -0
  52. pulumi_databricks/get_workspace_entity_tag_assignments.py +171 -0
  53. pulumi_databricks/get_workspace_setting_v2.py +16 -16
  54. pulumi_databricks/instance_profile.py +0 -182
  55. pulumi_databricks/lakehouse_monitor.py +2 -2
  56. pulumi_databricks/metastore.py +81 -7
  57. pulumi_databricks/metastore_data_access.py +48 -0
  58. pulumi_databricks/mlflow_webhook.py +4 -4
  59. pulumi_databricks/mws_credentials.py +10 -10
  60. pulumi_databricks/mws_customer_managed_keys.py +0 -288
  61. pulumi_databricks/mws_log_delivery.py +146 -0
  62. pulumi_databricks/mws_storage_configurations.py +16 -16
  63. pulumi_databricks/mws_vpc_endpoint.py +56 -56
  64. pulumi_databricks/mws_workspaces.py +115 -55
  65. pulumi_databricks/notebook.py +49 -0
  66. pulumi_databricks/outputs.py +2017 -240
  67. pulumi_databricks/permission_assignment.py +49 -0
  68. pulumi_databricks/permissions.py +6 -6
  69. pulumi_databricks/pipeline.py +7 -7
  70. pulumi_databricks/policy_info.py +122 -2
  71. pulumi_databricks/provider.py +36 -1
  72. pulumi_databricks/pulumi-plugin.json +1 -1
  73. pulumi_databricks/recipient.py +74 -0
  74. pulumi_databricks/registered_model.py +7 -7
  75. pulumi_databricks/rfa_access_request_destinations.py +86 -19
  76. pulumi_databricks/schema.py +7 -7
  77. pulumi_databricks/service_principal_federation_policy.py +28 -0
  78. pulumi_databricks/sql_table.py +7 -7
  79. pulumi_databricks/tag_policy.py +2 -2
  80. pulumi_databricks/volume.py +7 -7
  81. pulumi_databricks/workspace_entity_tag_assignment.py +375 -0
  82. pulumi_databricks/workspace_setting_v2.py +181 -12
  83. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/METADATA +1 -1
  84. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/RECORD +86 -79
  85. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/WHEEL +0 -0
  86. {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
- :param Sequence[_builtins.str] application_ids: List of `application_ids` of service principals. Individual service principal can be retrieved using ServicePrincipal data source
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
  [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](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
  [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](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
  [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](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
  [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](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
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](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
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](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')))