pulumi-databricks 1.75.0a1756323569__py3-none-any.whl → 1.77.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 (159) hide show
  1. pulumi_databricks/__init__.py +129 -46
  2. pulumi_databricks/_inputs.py +13377 -13798
  3. pulumi_databricks/account_federation_policy.py +473 -0
  4. pulumi_databricks/account_network_policy.py +12 -4
  5. pulumi_databricks/account_setting_v2.py +759 -0
  6. pulumi_databricks/alert_v2.py +223 -90
  7. pulumi_databricks/app.py +111 -4
  8. pulumi_databricks/apps_settings_custom_template.py +531 -0
  9. pulumi_databricks/budget_policy.py +28 -5
  10. pulumi_databricks/catalog.py +322 -2
  11. pulumi_databricks/cluster.py +47 -168
  12. pulumi_databricks/config/__init__.pyi +2 -0
  13. pulumi_databricks/config/vars.py +4 -0
  14. pulumi_databricks/connection.py +0 -34
  15. pulumi_databricks/data_quality_monitor.py +453 -0
  16. pulumi_databricks/data_quality_refresh.py +492 -0
  17. pulumi_databricks/database_database_catalog.py +8 -4
  18. pulumi_databricks/database_instance.py +354 -73
  19. pulumi_databricks/database_synced_database_table.py +52 -4
  20. pulumi_databricks/entitlements.py +21 -21
  21. pulumi_databricks/entity_tag_assignment.py +409 -0
  22. pulumi_databricks/external_metadata.py +15 -11
  23. pulumi_databricks/feature_engineering_feature.py +480 -0
  24. pulumi_databricks/feature_engineering_materialized_feature.py +397 -0
  25. pulumi_databricks/get_account_federation_policies.py +127 -0
  26. pulumi_databricks/get_account_federation_policy.py +214 -0
  27. pulumi_databricks/get_account_network_policies.py +4 -0
  28. pulumi_databricks/get_account_network_policy.py +17 -18
  29. pulumi_databricks/get_account_setting_v2.py +331 -0
  30. pulumi_databricks/get_alert_v2.py +78 -70
  31. pulumi_databricks/get_alerts_v2.py +31 -12
  32. pulumi_databricks/get_app.py +21 -9
  33. pulumi_databricks/get_apps.py +22 -10
  34. pulumi_databricks/get_apps_settings_custom_template.py +207 -0
  35. pulumi_databricks/get_apps_settings_custom_templates.py +133 -0
  36. pulumi_databricks/get_aws_bucket_policy.py +6 -6
  37. pulumi_databricks/get_budget_policies.py +70 -6
  38. pulumi_databricks/get_budget_policy.py +35 -30
  39. pulumi_databricks/get_catalog.py +21 -4
  40. pulumi_databricks/get_catalogs.py +23 -4
  41. pulumi_databricks/get_cluster.py +21 -4
  42. pulumi_databricks/get_cluster_policy.py +23 -4
  43. pulumi_databricks/get_clusters.py +21 -4
  44. pulumi_databricks/get_current_metastore.py +21 -4
  45. pulumi_databricks/get_dashboards.py +24 -4
  46. pulumi_databricks/get_data_quality_monitor.py +210 -0
  47. pulumi_databricks/get_data_quality_monitors.py +143 -0
  48. pulumi_databricks/get_data_quality_refresh.py +270 -0
  49. pulumi_databricks/get_data_quality_refreshes.py +207 -0
  50. pulumi_databricks/get_database_database_catalog.py +6 -20
  51. pulumi_databricks/get_database_database_catalogs.py +46 -8
  52. pulumi_databricks/get_database_instance.py +122 -75
  53. pulumi_databricks/get_database_instances.py +31 -6
  54. pulumi_databricks/get_database_synced_database_table.py +7 -28
  55. pulumi_databricks/get_database_synced_database_tables.py +43 -5
  56. pulumi_databricks/get_directory.py +20 -1
  57. pulumi_databricks/get_entity_tag_assignment.py +202 -0
  58. pulumi_databricks/get_entity_tag_assignments.py +187 -0
  59. pulumi_databricks/get_external_location.py +21 -4
  60. pulumi_databricks/get_external_locations.py +23 -4
  61. pulumi_databricks/get_external_metadata.py +12 -50
  62. pulumi_databricks/get_external_metadatas.py +55 -6
  63. pulumi_databricks/get_feature_engineering_feature.py +179 -0
  64. pulumi_databricks/get_feature_engineering_features.py +103 -0
  65. pulumi_databricks/get_feature_engineering_materialized_feature.py +180 -0
  66. pulumi_databricks/get_feature_engineering_materialized_features.py +123 -0
  67. pulumi_databricks/get_functions.py +16 -1
  68. pulumi_databricks/get_instance_profiles.py +21 -4
  69. pulumi_databricks/get_jobs.py +23 -4
  70. pulumi_databricks/get_materialized_features_feature_tag.py +3 -11
  71. pulumi_databricks/get_materialized_features_feature_tags.py +59 -8
  72. pulumi_databricks/get_metastore.py +2 -2
  73. pulumi_databricks/get_mlflow_experiment.py +18 -1
  74. pulumi_databricks/get_mlflow_model.py +18 -1
  75. pulumi_databricks/get_mlflow_models.py +23 -4
  76. pulumi_databricks/get_node_type.py +42 -5
  77. pulumi_databricks/get_notification_destinations.py +17 -1
  78. pulumi_databricks/get_online_store.py +7 -17
  79. pulumi_databricks/get_online_stores.py +29 -8
  80. pulumi_databricks/get_pipelines.py +23 -4
  81. pulumi_databricks/get_policy_info.py +28 -99
  82. pulumi_databricks/get_policy_infos.py +92 -5
  83. pulumi_databricks/get_quality_monitor_v2.py +4 -0
  84. pulumi_databricks/get_quality_monitors_v2.py +22 -3
  85. pulumi_databricks/get_registered_model.py +19 -4
  86. pulumi_databricks/get_registered_model_versions.py +19 -4
  87. pulumi_databricks/get_rfa_access_request_destinations.py +126 -0
  88. pulumi_databricks/get_schema.py +18 -1
  89. pulumi_databricks/get_schemas.py +23 -4
  90. pulumi_databricks/get_service_principal_federation_policies.py +151 -0
  91. pulumi_databricks/get_service_principal_federation_policy.py +220 -0
  92. pulumi_databricks/get_serving_endpoints.py +19 -4
  93. pulumi_databricks/get_share.py +117 -18
  94. pulumi_databricks/get_shares.py +22 -3
  95. pulumi_databricks/get_spark_version.py +20 -1
  96. pulumi_databricks/get_sql_warehouse.py +16 -1
  97. pulumi_databricks/get_sql_warehouses.py +20 -1
  98. pulumi_databricks/get_storage_credential.py +18 -1
  99. pulumi_databricks/get_storage_credentials.py +23 -4
  100. pulumi_databricks/get_table.py +18 -1
  101. pulumi_databricks/get_tables.py +20 -1
  102. pulumi_databricks/get_tag_policies.py +139 -0
  103. pulumi_databricks/get_tag_policy.py +175 -0
  104. pulumi_databricks/get_views.py +20 -1
  105. pulumi_databricks/get_volume.py +18 -1
  106. pulumi_databricks/get_volumes.py +20 -1
  107. pulumi_databricks/get_workspace_network_option.py +8 -16
  108. pulumi_databricks/get_workspace_setting_v2.py +331 -0
  109. pulumi_databricks/get_zones.py +20 -1
  110. pulumi_databricks/git_credential.py +54 -7
  111. pulumi_databricks/grant.py +2 -2
  112. pulumi_databricks/group.py +21 -21
  113. pulumi_databricks/job.py +47 -0
  114. pulumi_databricks/library.py +165 -0
  115. pulumi_databricks/materialized_features_feature_tag.py +8 -4
  116. pulumi_databricks/mws_ncc_private_endpoint_rule.py +7 -7
  117. pulumi_databricks/mws_permission_assignment.py +16 -16
  118. pulumi_databricks/mws_storage_configurations.py +6 -6
  119. pulumi_databricks/mws_workspaces.py +76 -29
  120. pulumi_databricks/online_store.py +8 -4
  121. pulumi_databricks/outputs.py +26397 -22382
  122. pulumi_databricks/permission_assignment.py +266 -24
  123. pulumi_databricks/pipeline.py +37 -3
  124. pulumi_databricks/policy_info.py +43 -39
  125. pulumi_databricks/provider.py +15 -0
  126. pulumi_databricks/pulumi-plugin.json +1 -1
  127. pulumi_databricks/quality_monitor.py +47 -0
  128. pulumi_databricks/quality_monitor_v2.py +8 -4
  129. pulumi_databricks/registered_model.py +301 -29
  130. pulumi_databricks/rfa_access_request_destinations.py +286 -0
  131. pulumi_databricks/service_principal_federation_policy.py +469 -0
  132. pulumi_databricks/share.py +71 -84
  133. pulumi_databricks/sql_endpoint.py +47 -0
  134. pulumi_databricks/sql_table.py +35 -7
  135. pulumi_databricks/storage_credential.py +59 -6
  136. pulumi_databricks/tag_policy.py +357 -0
  137. pulumi_databricks/user.py +21 -21
  138. pulumi_databricks/workspace_binding.py +0 -48
  139. pulumi_databricks/workspace_network_option.py +8 -4
  140. pulumi_databricks/workspace_setting_v2.py +759 -0
  141. {pulumi_databricks-1.75.0a1756323569.dist-info → pulumi_databricks-1.77.0.dist-info}/METADATA +1 -1
  142. pulumi_databricks-1.77.0.dist-info/RECORD +250 -0
  143. pulumi_databricks/clean_room_asset.py +0 -891
  144. pulumi_databricks/clean_room_auto_approval_rule.py +0 -426
  145. pulumi_databricks/clean_rooms_clean_room.py +0 -518
  146. pulumi_databricks/get_clean_room_asset.py +0 -399
  147. pulumi_databricks/get_clean_room_asset_revisions_clean_room_asset.py +0 -375
  148. pulumi_databricks/get_clean_room_asset_revisions_clean_room_assets.py +0 -82
  149. pulumi_databricks/get_clean_room_assets.py +0 -104
  150. pulumi_databricks/get_clean_room_auto_approval_rule.py +0 -200
  151. pulumi_databricks/get_clean_room_auto_approval_rules.py +0 -82
  152. pulumi_databricks/get_clean_rooms_clean_room.py +0 -272
  153. pulumi_databricks/get_clean_rooms_clean_rooms.py +0 -104
  154. pulumi_databricks/get_recipient_federation_policies.py +0 -82
  155. pulumi_databricks/get_recipient_federation_policy.py +0 -165
  156. pulumi_databricks/recipient_federation_policy.py +0 -346
  157. pulumi_databricks-1.75.0a1756323569.dist-info/RECORD +0 -231
  158. {pulumi_databricks-1.75.0a1756323569.dist-info → pulumi_databricks-1.77.0.dist-info}/WHEEL +0 -0
  159. {pulumi_databricks-1.75.0a1756323569.dist-info → pulumi_databricks-1.77.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,469 @@
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__ = ['ServicePrincipalFederationPolicyArgs', 'ServicePrincipalFederationPolicy']
20
+
21
+ @pulumi.input_type
22
+ class ServicePrincipalFederationPolicyArgs:
23
+ def __init__(__self__, *,
24
+ description: Optional[pulumi.Input[_builtins.str]] = None,
25
+ oidc_policy: Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']] = None,
26
+ policy_id: Optional[pulumi.Input[_builtins.str]] = None,
27
+ service_principal_id: Optional[pulumi.Input[_builtins.int]] = None):
28
+ """
29
+ The set of arguments for constructing a ServicePrincipalFederationPolicy resource.
30
+ :param pulumi.Input[_builtins.str] description: Description of the federation policy
31
+ :param pulumi.Input[_builtins.str] policy_id: (string) - The ID of the federation policy. Output only
32
+ :param pulumi.Input[_builtins.int] service_principal_id: (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
33
+ """
34
+ if description is not None:
35
+ pulumi.set(__self__, "description", description)
36
+ if oidc_policy is not None:
37
+ pulumi.set(__self__, "oidc_policy", oidc_policy)
38
+ if policy_id is not None:
39
+ pulumi.set(__self__, "policy_id", policy_id)
40
+ if service_principal_id is not None:
41
+ pulumi.set(__self__, "service_principal_id", service_principal_id)
42
+
43
+ @_builtins.property
44
+ @pulumi.getter
45
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
46
+ """
47
+ Description of the federation policy
48
+ """
49
+ return pulumi.get(self, "description")
50
+
51
+ @description.setter
52
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
53
+ pulumi.set(self, "description", value)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="oidcPolicy")
57
+ def oidc_policy(self) -> Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']]:
58
+ return pulumi.get(self, "oidc_policy")
59
+
60
+ @oidc_policy.setter
61
+ def oidc_policy(self, value: Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']]):
62
+ pulumi.set(self, "oidc_policy", value)
63
+
64
+ @_builtins.property
65
+ @pulumi.getter(name="policyId")
66
+ def policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
67
+ """
68
+ (string) - The ID of the federation policy. Output only
69
+ """
70
+ return pulumi.get(self, "policy_id")
71
+
72
+ @policy_id.setter
73
+ def policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
74
+ pulumi.set(self, "policy_id", value)
75
+
76
+ @_builtins.property
77
+ @pulumi.getter(name="servicePrincipalId")
78
+ def service_principal_id(self) -> Optional[pulumi.Input[_builtins.int]]:
79
+ """
80
+ (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
81
+ """
82
+ return pulumi.get(self, "service_principal_id")
83
+
84
+ @service_principal_id.setter
85
+ def service_principal_id(self, value: Optional[pulumi.Input[_builtins.int]]):
86
+ pulumi.set(self, "service_principal_id", value)
87
+
88
+
89
+ @pulumi.input_type
90
+ class _ServicePrincipalFederationPolicyState:
91
+ def __init__(__self__, *,
92
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
93
+ description: Optional[pulumi.Input[_builtins.str]] = None,
94
+ name: Optional[pulumi.Input[_builtins.str]] = None,
95
+ oidc_policy: Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']] = None,
96
+ policy_id: Optional[pulumi.Input[_builtins.str]] = None,
97
+ service_principal_id: Optional[pulumi.Input[_builtins.int]] = None,
98
+ uid: Optional[pulumi.Input[_builtins.str]] = None,
99
+ update_time: Optional[pulumi.Input[_builtins.str]] = None):
100
+ """
101
+ Input properties used for looking up and filtering ServicePrincipalFederationPolicy resources.
102
+ :param pulumi.Input[_builtins.str] create_time: (string) - Creation time of the federation policy
103
+ :param pulumi.Input[_builtins.str] description: Description of the federation policy
104
+ :param pulumi.Input[_builtins.str] name: (string) - Resource name for the federation policy. Example values include
105
+ `accounts/<account-id>/federationPolicies/my-federation-policy` for Account Federation Policies, and
106
+ `accounts/<account-id>/servicePrincipals/<service-principal-id>/federationPolicies/my-federation-policy`
107
+ for Service Principal Federation Policies. Typically an output parameter, which does not need to be
108
+ specified in create or update requests. If specified in a request, must match the value in the
109
+ request URL
110
+ :param pulumi.Input[_builtins.str] policy_id: (string) - The ID of the federation policy. Output only
111
+ :param pulumi.Input[_builtins.int] service_principal_id: (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
112
+ :param pulumi.Input[_builtins.str] uid: (string) - Unique, immutable id of the federation policy
113
+ :param pulumi.Input[_builtins.str] update_time: (string) - Last update time of the federation policy
114
+ """
115
+ if create_time is not None:
116
+ pulumi.set(__self__, "create_time", create_time)
117
+ if description is not None:
118
+ pulumi.set(__self__, "description", description)
119
+ if name is not None:
120
+ pulumi.set(__self__, "name", name)
121
+ if oidc_policy is not None:
122
+ pulumi.set(__self__, "oidc_policy", oidc_policy)
123
+ if policy_id is not None:
124
+ pulumi.set(__self__, "policy_id", policy_id)
125
+ if service_principal_id is not None:
126
+ pulumi.set(__self__, "service_principal_id", service_principal_id)
127
+ if uid is not None:
128
+ pulumi.set(__self__, "uid", uid)
129
+ if update_time is not None:
130
+ pulumi.set(__self__, "update_time", update_time)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="createTime")
134
+ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
135
+ """
136
+ (string) - Creation time of the federation policy
137
+ """
138
+ return pulumi.get(self, "create_time")
139
+
140
+ @create_time.setter
141
+ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "create_time", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter
146
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ Description of the federation policy
149
+ """
150
+ return pulumi.get(self, "description")
151
+
152
+ @description.setter
153
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "description", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
159
+ """
160
+ (string) - Resource name for the federation policy. Example values include
161
+ `accounts/<account-id>/federationPolicies/my-federation-policy` for Account Federation Policies, and
162
+ `accounts/<account-id>/servicePrincipals/<service-principal-id>/federationPolicies/my-federation-policy`
163
+ for Service Principal Federation Policies. Typically an output parameter, which does not need to be
164
+ specified in create or update requests. If specified in a request, must match the value in the
165
+ request URL
166
+ """
167
+ return pulumi.get(self, "name")
168
+
169
+ @name.setter
170
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
171
+ pulumi.set(self, "name", value)
172
+
173
+ @_builtins.property
174
+ @pulumi.getter(name="oidcPolicy")
175
+ def oidc_policy(self) -> Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']]:
176
+ return pulumi.get(self, "oidc_policy")
177
+
178
+ @oidc_policy.setter
179
+ def oidc_policy(self, value: Optional[pulumi.Input['ServicePrincipalFederationPolicyOidcPolicyArgs']]):
180
+ pulumi.set(self, "oidc_policy", value)
181
+
182
+ @_builtins.property
183
+ @pulumi.getter(name="policyId")
184
+ def policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
185
+ """
186
+ (string) - The ID of the federation policy. Output only
187
+ """
188
+ return pulumi.get(self, "policy_id")
189
+
190
+ @policy_id.setter
191
+ def policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
192
+ pulumi.set(self, "policy_id", value)
193
+
194
+ @_builtins.property
195
+ @pulumi.getter(name="servicePrincipalId")
196
+ def service_principal_id(self) -> Optional[pulumi.Input[_builtins.int]]:
197
+ """
198
+ (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
199
+ """
200
+ return pulumi.get(self, "service_principal_id")
201
+
202
+ @service_principal_id.setter
203
+ def service_principal_id(self, value: Optional[pulumi.Input[_builtins.int]]):
204
+ pulumi.set(self, "service_principal_id", value)
205
+
206
+ @_builtins.property
207
+ @pulumi.getter
208
+ def uid(self) -> Optional[pulumi.Input[_builtins.str]]:
209
+ """
210
+ (string) - Unique, immutable id of the federation policy
211
+ """
212
+ return pulumi.get(self, "uid")
213
+
214
+ @uid.setter
215
+ def uid(self, value: Optional[pulumi.Input[_builtins.str]]):
216
+ pulumi.set(self, "uid", value)
217
+
218
+ @_builtins.property
219
+ @pulumi.getter(name="updateTime")
220
+ def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
221
+ """
222
+ (string) - Last update time of the federation policy
223
+ """
224
+ return pulumi.get(self, "update_time")
225
+
226
+ @update_time.setter
227
+ def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
228
+ pulumi.set(self, "update_time", value)
229
+
230
+
231
+ @pulumi.type_token("databricks:index/servicePrincipalFederationPolicy:ServicePrincipalFederationPolicy")
232
+ class ServicePrincipalFederationPolicy(pulumi.CustomResource):
233
+ @overload
234
+ def __init__(__self__,
235
+ resource_name: str,
236
+ opts: Optional[pulumi.ResourceOptions] = None,
237
+ description: Optional[pulumi.Input[_builtins.str]] = None,
238
+ oidc_policy: Optional[pulumi.Input[Union['ServicePrincipalFederationPolicyOidcPolicyArgs', 'ServicePrincipalFederationPolicyOidcPolicyArgsDict']]] = None,
239
+ policy_id: Optional[pulumi.Input[_builtins.str]] = None,
240
+ service_principal_id: Optional[pulumi.Input[_builtins.int]] = None,
241
+ __props__=None):
242
+ """
243
+ [![GA](https://img.shields.io/badge/Release_Stage-GA-green)](https://docs.databricks.com/aws/en/release-notes/release-types)
244
+
245
+ Service principal federation policies allow automated workloads running outside of Databricks to access Databricks APIs without the need for Databricks secrets. Your application (workload) authenticates to Databricks as a Databricks service principal using tokens issued by the workload runtime, for example Github Actions.
246
+
247
+ A service principal federation policy is associated with a service principal in your Databricks account, and specifies:
248
+ * The identity provider (or issuer) from which the service principal can authenticate.
249
+ * The workload identity (or subject) that is permitted to authenticate as the Databricks service principal.
250
+
251
+ ## Example Usage
252
+
253
+ ## Import
254
+
255
+ As of Pulumi v1.5, resources can be imported through configuration.
256
+
257
+ hcl
258
+
259
+ import {
260
+
261
+ id = "service_principal_id,policy_id"
262
+
263
+ to = databricks_service_principal_federation_policy.this
264
+
265
+ }
266
+
267
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
268
+
269
+ ```sh
270
+ $ pulumi import databricks:index/servicePrincipalFederationPolicy:ServicePrincipalFederationPolicy this "service_principal_id,policy_id"
271
+ ```
272
+
273
+ :param str resource_name: The name of the resource.
274
+ :param pulumi.ResourceOptions opts: Options for the resource.
275
+ :param pulumi.Input[_builtins.str] description: Description of the federation policy
276
+ :param pulumi.Input[_builtins.str] policy_id: (string) - The ID of the federation policy. Output only
277
+ :param pulumi.Input[_builtins.int] service_principal_id: (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
278
+ """
279
+ ...
280
+ @overload
281
+ def __init__(__self__,
282
+ resource_name: str,
283
+ args: Optional[ServicePrincipalFederationPolicyArgs] = None,
284
+ opts: Optional[pulumi.ResourceOptions] = None):
285
+ """
286
+ [![GA](https://img.shields.io/badge/Release_Stage-GA-green)](https://docs.databricks.com/aws/en/release-notes/release-types)
287
+
288
+ Service principal federation policies allow automated workloads running outside of Databricks to access Databricks APIs without the need for Databricks secrets. Your application (workload) authenticates to Databricks as a Databricks service principal using tokens issued by the workload runtime, for example Github Actions.
289
+
290
+ A service principal federation policy is associated with a service principal in your Databricks account, and specifies:
291
+ * The identity provider (or issuer) from which the service principal can authenticate.
292
+ * The workload identity (or subject) that is permitted to authenticate as the Databricks service principal.
293
+
294
+ ## Example Usage
295
+
296
+ ## Import
297
+
298
+ As of Pulumi v1.5, resources can be imported through configuration.
299
+
300
+ hcl
301
+
302
+ import {
303
+
304
+ id = "service_principal_id,policy_id"
305
+
306
+ to = databricks_service_principal_federation_policy.this
307
+
308
+ }
309
+
310
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
311
+
312
+ ```sh
313
+ $ pulumi import databricks:index/servicePrincipalFederationPolicy:ServicePrincipalFederationPolicy this "service_principal_id,policy_id"
314
+ ```
315
+
316
+ :param str resource_name: The name of the resource.
317
+ :param ServicePrincipalFederationPolicyArgs args: The arguments to use to populate this resource's properties.
318
+ :param pulumi.ResourceOptions opts: Options for the resource.
319
+ """
320
+ ...
321
+ def __init__(__self__, resource_name: str, *args, **kwargs):
322
+ resource_args, opts = _utilities.get_resource_args_opts(ServicePrincipalFederationPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
323
+ if resource_args is not None:
324
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
325
+ else:
326
+ __self__._internal_init(resource_name, *args, **kwargs)
327
+
328
+ def _internal_init(__self__,
329
+ resource_name: str,
330
+ opts: Optional[pulumi.ResourceOptions] = None,
331
+ description: Optional[pulumi.Input[_builtins.str]] = None,
332
+ oidc_policy: Optional[pulumi.Input[Union['ServicePrincipalFederationPolicyOidcPolicyArgs', 'ServicePrincipalFederationPolicyOidcPolicyArgsDict']]] = None,
333
+ policy_id: Optional[pulumi.Input[_builtins.str]] = None,
334
+ service_principal_id: Optional[pulumi.Input[_builtins.int]] = None,
335
+ __props__=None):
336
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
337
+ if not isinstance(opts, pulumi.ResourceOptions):
338
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
339
+ if opts.id is None:
340
+ if __props__ is not None:
341
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
342
+ __props__ = ServicePrincipalFederationPolicyArgs.__new__(ServicePrincipalFederationPolicyArgs)
343
+
344
+ __props__.__dict__["description"] = description
345
+ __props__.__dict__["oidc_policy"] = oidc_policy
346
+ __props__.__dict__["policy_id"] = policy_id
347
+ __props__.__dict__["service_principal_id"] = service_principal_id
348
+ __props__.__dict__["create_time"] = None
349
+ __props__.__dict__["name"] = None
350
+ __props__.__dict__["uid"] = None
351
+ __props__.__dict__["update_time"] = None
352
+ super(ServicePrincipalFederationPolicy, __self__).__init__(
353
+ 'databricks:index/servicePrincipalFederationPolicy:ServicePrincipalFederationPolicy',
354
+ resource_name,
355
+ __props__,
356
+ opts)
357
+
358
+ @staticmethod
359
+ def get(resource_name: str,
360
+ id: pulumi.Input[str],
361
+ opts: Optional[pulumi.ResourceOptions] = None,
362
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
363
+ description: Optional[pulumi.Input[_builtins.str]] = None,
364
+ name: Optional[pulumi.Input[_builtins.str]] = None,
365
+ oidc_policy: Optional[pulumi.Input[Union['ServicePrincipalFederationPolicyOidcPolicyArgs', 'ServicePrincipalFederationPolicyOidcPolicyArgsDict']]] = None,
366
+ policy_id: Optional[pulumi.Input[_builtins.str]] = None,
367
+ service_principal_id: Optional[pulumi.Input[_builtins.int]] = None,
368
+ uid: Optional[pulumi.Input[_builtins.str]] = None,
369
+ update_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'ServicePrincipalFederationPolicy':
370
+ """
371
+ Get an existing ServicePrincipalFederationPolicy resource's state with the given name, id, and optional extra
372
+ properties used to qualify the lookup.
373
+
374
+ :param str resource_name: The unique name of the resulting resource.
375
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
376
+ :param pulumi.ResourceOptions opts: Options for the resource.
377
+ :param pulumi.Input[_builtins.str] create_time: (string) - Creation time of the federation policy
378
+ :param pulumi.Input[_builtins.str] description: Description of the federation policy
379
+ :param pulumi.Input[_builtins.str] name: (string) - Resource name for the federation policy. Example values include
380
+ `accounts/<account-id>/federationPolicies/my-federation-policy` for Account Federation Policies, and
381
+ `accounts/<account-id>/servicePrincipals/<service-principal-id>/federationPolicies/my-federation-policy`
382
+ for Service Principal Federation Policies. Typically an output parameter, which does not need to be
383
+ specified in create or update requests. If specified in a request, must match the value in the
384
+ request URL
385
+ :param pulumi.Input[_builtins.str] policy_id: (string) - The ID of the federation policy. Output only
386
+ :param pulumi.Input[_builtins.int] service_principal_id: (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
387
+ :param pulumi.Input[_builtins.str] uid: (string) - Unique, immutable id of the federation policy
388
+ :param pulumi.Input[_builtins.str] update_time: (string) - Last update time of the federation policy
389
+ """
390
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
391
+
392
+ __props__ = _ServicePrincipalFederationPolicyState.__new__(_ServicePrincipalFederationPolicyState)
393
+
394
+ __props__.__dict__["create_time"] = create_time
395
+ __props__.__dict__["description"] = description
396
+ __props__.__dict__["name"] = name
397
+ __props__.__dict__["oidc_policy"] = oidc_policy
398
+ __props__.__dict__["policy_id"] = policy_id
399
+ __props__.__dict__["service_principal_id"] = service_principal_id
400
+ __props__.__dict__["uid"] = uid
401
+ __props__.__dict__["update_time"] = update_time
402
+ return ServicePrincipalFederationPolicy(resource_name, opts=opts, __props__=__props__)
403
+
404
+ @_builtins.property
405
+ @pulumi.getter(name="createTime")
406
+ def create_time(self) -> pulumi.Output[_builtins.str]:
407
+ """
408
+ (string) - Creation time of the federation policy
409
+ """
410
+ return pulumi.get(self, "create_time")
411
+
412
+ @_builtins.property
413
+ @pulumi.getter
414
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
415
+ """
416
+ Description of the federation policy
417
+ """
418
+ return pulumi.get(self, "description")
419
+
420
+ @_builtins.property
421
+ @pulumi.getter
422
+ def name(self) -> pulumi.Output[_builtins.str]:
423
+ """
424
+ (string) - Resource name for the federation policy. Example values include
425
+ `accounts/<account-id>/federationPolicies/my-federation-policy` for Account Federation Policies, and
426
+ `accounts/<account-id>/servicePrincipals/<service-principal-id>/federationPolicies/my-federation-policy`
427
+ for Service Principal Federation Policies. Typically an output parameter, which does not need to be
428
+ specified in create or update requests. If specified in a request, must match the value in the
429
+ request URL
430
+ """
431
+ return pulumi.get(self, "name")
432
+
433
+ @_builtins.property
434
+ @pulumi.getter(name="oidcPolicy")
435
+ def oidc_policy(self) -> pulumi.Output[Optional['outputs.ServicePrincipalFederationPolicyOidcPolicy']]:
436
+ return pulumi.get(self, "oidc_policy")
437
+
438
+ @_builtins.property
439
+ @pulumi.getter(name="policyId")
440
+ def policy_id(self) -> pulumi.Output[_builtins.str]:
441
+ """
442
+ (string) - The ID of the federation policy. Output only
443
+ """
444
+ return pulumi.get(self, "policy_id")
445
+
446
+ @_builtins.property
447
+ @pulumi.getter(name="servicePrincipalId")
448
+ def service_principal_id(self) -> pulumi.Output[_builtins.int]:
449
+ """
450
+ (integer) - The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies
451
+ """
452
+ return pulumi.get(self, "service_principal_id")
453
+
454
+ @_builtins.property
455
+ @pulumi.getter
456
+ def uid(self) -> pulumi.Output[_builtins.str]:
457
+ """
458
+ (string) - Unique, immutable id of the federation policy
459
+ """
460
+ return pulumi.get(self, "uid")
461
+
462
+ @_builtins.property
463
+ @pulumi.getter(name="updateTime")
464
+ def update_time(self) -> pulumi.Output[_builtins.str]:
465
+ """
466
+ (string) - Last update time of the federation policy
467
+ """
468
+ return pulumi.get(self, "update_time")
469
+