pulumi-snowflake 0.56.0a1721327760__py3-none-any.whl → 0.57.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 (74) hide show
  1. pulumi_snowflake/__init__.py +78 -209
  2. pulumi_snowflake/_inputs.py +12188 -1362
  3. pulumi_snowflake/_utilities.py +2 -0
  4. pulumi_snowflake/account_role.py +226 -0
  5. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +692 -0
  6. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +645 -0
  7. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +680 -0
  8. pulumi_snowflake/cortex_search_service.py +563 -0
  9. pulumi_snowflake/database.py +854 -232
  10. pulumi_snowflake/database_old.py +556 -0
  11. pulumi_snowflake/external_oauth_integration.py +562 -534
  12. pulumi_snowflake/failover_group.py +2 -2
  13. pulumi_snowflake/get_cortex_search_services.py +197 -0
  14. pulumi_snowflake/get_databases.py +71 -62
  15. pulumi_snowflake/get_network_policies.py +122 -0
  16. pulumi_snowflake/get_roles.py +37 -31
  17. pulumi_snowflake/get_schemas.py +115 -38
  18. pulumi_snowflake/get_security_integrations.py +122 -0
  19. pulumi_snowflake/get_streamlits.py +159 -0
  20. pulumi_snowflake/get_warehouses.py +66 -18
  21. pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
  22. pulumi_snowflake/managed_account.py +7 -7
  23. pulumi_snowflake/network_policy.py +103 -19
  24. pulumi_snowflake/oauth_integration.py +4 -0
  25. pulumi_snowflake/oauth_integration_for_custom_clients.py +940 -0
  26. pulumi_snowflake/oauth_integration_for_partner_applications.py +584 -0
  27. pulumi_snowflake/outputs.py +16178 -2927
  28. pulumi_snowflake/pulumi-plugin.json +1 -1
  29. pulumi_snowflake/role.py +44 -72
  30. pulumi_snowflake/saml2_integration.py +975 -0
  31. pulumi_snowflake/saml_integration.py +4 -0
  32. pulumi_snowflake/schema.py +905 -151
  33. pulumi_snowflake/scim_integration.py +257 -103
  34. pulumi_snowflake/secondary_database.py +1059 -0
  35. pulumi_snowflake/sequence.py +6 -6
  36. pulumi_snowflake/shared_database.py +914 -0
  37. pulumi_snowflake/streamlit.py +650 -0
  38. pulumi_snowflake/table.py +0 -120
  39. pulumi_snowflake/table_constraint.py +2 -2
  40. pulumi_snowflake/tag_association.py +38 -38
  41. pulumi_snowflake/unsafe_execute.py +8 -8
  42. pulumi_snowflake/user_password_policy_attachment.py +32 -0
  43. pulumi_snowflake/warehouse.py +143 -120
  44. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/METADATA +1 -1
  45. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/RECORD +47 -58
  46. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/WHEEL +1 -1
  47. pulumi_snowflake/account_grant.py +0 -319
  48. pulumi_snowflake/database_grant.py +0 -471
  49. pulumi_snowflake/external_table_grant.py +0 -666
  50. pulumi_snowflake/failover_group_grant.py +0 -368
  51. pulumi_snowflake/file_format_grant.py +0 -611
  52. pulumi_snowflake/function_grant.py +0 -721
  53. pulumi_snowflake/grant_privileges_to_role.py +0 -821
  54. pulumi_snowflake/integration_grant.py +0 -416
  55. pulumi_snowflake/masking_policy_grant.py +0 -518
  56. pulumi_snowflake/materialized_view_grant.py +0 -665
  57. pulumi_snowflake/pipe_grant.py +0 -563
  58. pulumi_snowflake/procedure_grant.py +0 -721
  59. pulumi_snowflake/resource_monitor_grant.py +0 -363
  60. pulumi_snowflake/role_grants.py +0 -340
  61. pulumi_snowflake/role_ownership_grant.py +0 -329
  62. pulumi_snowflake/row_access_policy_grant.py +0 -516
  63. pulumi_snowflake/schema_grant.py +0 -603
  64. pulumi_snowflake/sequence_grant.py +0 -611
  65. pulumi_snowflake/stage_grant.py +0 -611
  66. pulumi_snowflake/stream_grant.py +0 -611
  67. pulumi_snowflake/table_grant.py +0 -653
  68. pulumi_snowflake/tag_grant.py +0 -508
  69. pulumi_snowflake/task_grant.py +0 -611
  70. pulumi_snowflake/user_grant.py +0 -370
  71. pulumi_snowflake/user_ownership_grant.py +0 -275
  72. pulumi_snowflake/view_grant.py +0 -685
  73. pulumi_snowflake/warehouse_grant.py +0 -416
  74. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,584 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['OauthIntegrationForPartnerApplicationsArgs', 'OauthIntegrationForPartnerApplications']
15
+
16
+ @pulumi.input_type
17
+ class OauthIntegrationForPartnerApplicationsArgs:
18
+ def __init__(__self__, *,
19
+ blocked_roles_lists: pulumi.Input[Sequence[pulumi.Input[str]]],
20
+ oauth_client: pulumi.Input[str],
21
+ comment: Optional[pulumi.Input[str]] = None,
22
+ enabled: Optional[pulumi.Input[str]] = None,
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
25
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
26
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
27
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a OauthIntegrationForPartnerApplications resource.
30
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
31
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
32
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
33
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
34
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
35
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
36
+ :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
37
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
38
+ """
39
+ pulumi.set(__self__, "blocked_roles_lists", blocked_roles_lists)
40
+ pulumi.set(__self__, "oauth_client", oauth_client)
41
+ if comment is not None:
42
+ pulumi.set(__self__, "comment", comment)
43
+ if enabled is not None:
44
+ pulumi.set(__self__, "enabled", enabled)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+ if oauth_issue_refresh_tokens is not None:
48
+ pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
49
+ if oauth_redirect_uri is not None:
50
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
51
+ if oauth_refresh_token_validity is not None:
52
+ pulumi.set(__self__, "oauth_refresh_token_validity", oauth_refresh_token_validity)
53
+ if oauth_use_secondary_roles is not None:
54
+ pulumi.set(__self__, "oauth_use_secondary_roles", oauth_use_secondary_roles)
55
+
56
+ @property
57
+ @pulumi.getter(name="blockedRolesLists")
58
+ def blocked_roles_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
59
+ """
60
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
61
+ """
62
+ return pulumi.get(self, "blocked_roles_lists")
63
+
64
+ @blocked_roles_lists.setter
65
+ def blocked_roles_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
66
+ pulumi.set(self, "blocked_roles_lists", value)
67
+
68
+ @property
69
+ @pulumi.getter(name="oauthClient")
70
+ def oauth_client(self) -> pulumi.Input[str]:
71
+ """
72
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
73
+ """
74
+ return pulumi.get(self, "oauth_client")
75
+
76
+ @oauth_client.setter
77
+ def oauth_client(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "oauth_client", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def comment(self) -> Optional[pulumi.Input[str]]:
83
+ """
84
+ Specifies a comment for the OAuth integration.
85
+ """
86
+ return pulumi.get(self, "comment")
87
+
88
+ @comment.setter
89
+ def comment(self, value: Optional[pulumi.Input[str]]):
90
+ pulumi.set(self, "comment", value)
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def enabled(self) -> Optional[pulumi.Input[str]]:
95
+ """
96
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
97
+ """
98
+ return pulumi.get(self, "enabled")
99
+
100
+ @enabled.setter
101
+ def enabled(self, value: Optional[pulumi.Input[str]]):
102
+ pulumi.set(self, "enabled", value)
103
+
104
+ @property
105
+ @pulumi.getter
106
+ def name(self) -> Optional[pulumi.Input[str]]:
107
+ """
108
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
109
+ """
110
+ return pulumi.get(self, "name")
111
+
112
+ @name.setter
113
+ def name(self, value: Optional[pulumi.Input[str]]):
114
+ pulumi.set(self, "name", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="oauthIssueRefreshTokens")
118
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
121
+ """
122
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
123
+
124
+ @oauth_issue_refresh_tokens.setter
125
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "oauth_issue_refresh_tokens", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="oauthRedirectUri")
130
+ def oauth_redirect_uri(self) -> Optional[pulumi.Input[str]]:
131
+ return pulumi.get(self, "oauth_redirect_uri")
132
+
133
+ @oauth_redirect_uri.setter
134
+ def oauth_redirect_uri(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "oauth_redirect_uri", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="oauthRefreshTokenValidity")
139
+ def oauth_refresh_token_validity(self) -> Optional[pulumi.Input[int]]:
140
+ """
141
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
142
+ """
143
+ return pulumi.get(self, "oauth_refresh_token_validity")
144
+
145
+ @oauth_refresh_token_validity.setter
146
+ def oauth_refresh_token_validity(self, value: Optional[pulumi.Input[int]]):
147
+ pulumi.set(self, "oauth_refresh_token_validity", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="oauthUseSecondaryRoles")
151
+ def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
154
+ """
155
+ return pulumi.get(self, "oauth_use_secondary_roles")
156
+
157
+ @oauth_use_secondary_roles.setter
158
+ def oauth_use_secondary_roles(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "oauth_use_secondary_roles", value)
160
+
161
+
162
+ @pulumi.input_type
163
+ class _OauthIntegrationForPartnerApplicationsState:
164
+ def __init__(__self__, *,
165
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
166
+ comment: Optional[pulumi.Input[str]] = None,
167
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]] = None,
168
+ enabled: Optional[pulumi.Input[str]] = None,
169
+ name: Optional[pulumi.Input[str]] = None,
170
+ oauth_client: Optional[pulumi.Input[str]] = None,
171
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
172
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
173
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
174
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
175
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]] = None):
176
+ """
177
+ Input properties used for looking up and filtering OauthIntegrationForPartnerApplications resources.
178
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
179
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
180
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
181
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
182
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
183
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
184
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
185
+ :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
186
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
187
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
188
+ """
189
+ if blocked_roles_lists is not None:
190
+ pulumi.set(__self__, "blocked_roles_lists", blocked_roles_lists)
191
+ if comment is not None:
192
+ pulumi.set(__self__, "comment", comment)
193
+ if describe_outputs is not None:
194
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
195
+ if enabled is not None:
196
+ pulumi.set(__self__, "enabled", enabled)
197
+ if name is not None:
198
+ pulumi.set(__self__, "name", name)
199
+ if oauth_client is not None:
200
+ pulumi.set(__self__, "oauth_client", oauth_client)
201
+ if oauth_issue_refresh_tokens is not None:
202
+ pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
203
+ if oauth_redirect_uri is not None:
204
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
205
+ if oauth_refresh_token_validity is not None:
206
+ pulumi.set(__self__, "oauth_refresh_token_validity", oauth_refresh_token_validity)
207
+ if oauth_use_secondary_roles is not None:
208
+ pulumi.set(__self__, "oauth_use_secondary_roles", oauth_use_secondary_roles)
209
+ if show_outputs is not None:
210
+ pulumi.set(__self__, "show_outputs", show_outputs)
211
+
212
+ @property
213
+ @pulumi.getter(name="blockedRolesLists")
214
+ def blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
215
+ """
216
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
217
+ """
218
+ return pulumi.get(self, "blocked_roles_lists")
219
+
220
+ @blocked_roles_lists.setter
221
+ def blocked_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
222
+ pulumi.set(self, "blocked_roles_lists", value)
223
+
224
+ @property
225
+ @pulumi.getter
226
+ def comment(self) -> Optional[pulumi.Input[str]]:
227
+ """
228
+ Specifies a comment for the OAuth integration.
229
+ """
230
+ return pulumi.get(self, "comment")
231
+
232
+ @comment.setter
233
+ def comment(self, value: Optional[pulumi.Input[str]]):
234
+ pulumi.set(self, "comment", value)
235
+
236
+ @property
237
+ @pulumi.getter(name="describeOutputs")
238
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]]:
239
+ """
240
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
241
+ """
242
+ return pulumi.get(self, "describe_outputs")
243
+
244
+ @describe_outputs.setter
245
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]]):
246
+ pulumi.set(self, "describe_outputs", value)
247
+
248
+ @property
249
+ @pulumi.getter
250
+ def enabled(self) -> Optional[pulumi.Input[str]]:
251
+ """
252
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
253
+ """
254
+ return pulumi.get(self, "enabled")
255
+
256
+ @enabled.setter
257
+ def enabled(self, value: Optional[pulumi.Input[str]]):
258
+ pulumi.set(self, "enabled", value)
259
+
260
+ @property
261
+ @pulumi.getter
262
+ def name(self) -> Optional[pulumi.Input[str]]:
263
+ """
264
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
265
+ """
266
+ return pulumi.get(self, "name")
267
+
268
+ @name.setter
269
+ def name(self, value: Optional[pulumi.Input[str]]):
270
+ pulumi.set(self, "name", value)
271
+
272
+ @property
273
+ @pulumi.getter(name="oauthClient")
274
+ def oauth_client(self) -> Optional[pulumi.Input[str]]:
275
+ """
276
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
277
+ """
278
+ return pulumi.get(self, "oauth_client")
279
+
280
+ @oauth_client.setter
281
+ def oauth_client(self, value: Optional[pulumi.Input[str]]):
282
+ pulumi.set(self, "oauth_client", value)
283
+
284
+ @property
285
+ @pulumi.getter(name="oauthIssueRefreshTokens")
286
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
289
+ """
290
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
291
+
292
+ @oauth_issue_refresh_tokens.setter
293
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
294
+ pulumi.set(self, "oauth_issue_refresh_tokens", value)
295
+
296
+ @property
297
+ @pulumi.getter(name="oauthRedirectUri")
298
+ def oauth_redirect_uri(self) -> Optional[pulumi.Input[str]]:
299
+ return pulumi.get(self, "oauth_redirect_uri")
300
+
301
+ @oauth_redirect_uri.setter
302
+ def oauth_redirect_uri(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "oauth_redirect_uri", value)
304
+
305
+ @property
306
+ @pulumi.getter(name="oauthRefreshTokenValidity")
307
+ def oauth_refresh_token_validity(self) -> Optional[pulumi.Input[int]]:
308
+ """
309
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
310
+ """
311
+ return pulumi.get(self, "oauth_refresh_token_validity")
312
+
313
+ @oauth_refresh_token_validity.setter
314
+ def oauth_refresh_token_validity(self, value: Optional[pulumi.Input[int]]):
315
+ pulumi.set(self, "oauth_refresh_token_validity", value)
316
+
317
+ @property
318
+ @pulumi.getter(name="oauthUseSecondaryRoles")
319
+ def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
320
+ """
321
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
322
+ """
323
+ return pulumi.get(self, "oauth_use_secondary_roles")
324
+
325
+ @oauth_use_secondary_roles.setter
326
+ def oauth_use_secondary_roles(self, value: Optional[pulumi.Input[str]]):
327
+ pulumi.set(self, "oauth_use_secondary_roles", value)
328
+
329
+ @property
330
+ @pulumi.getter(name="showOutputs")
331
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]]:
332
+ """
333
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
334
+ """
335
+ return pulumi.get(self, "show_outputs")
336
+
337
+ @show_outputs.setter
338
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]]):
339
+ pulumi.set(self, "show_outputs", value)
340
+
341
+
342
+ class OauthIntegrationForPartnerApplications(pulumi.CustomResource):
343
+ @overload
344
+ def __init__(__self__,
345
+ resource_name: str,
346
+ opts: Optional[pulumi.ResourceOptions] = None,
347
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
348
+ comment: Optional[pulumi.Input[str]] = None,
349
+ enabled: Optional[pulumi.Input[str]] = None,
350
+ name: Optional[pulumi.Input[str]] = None,
351
+ oauth_client: Optional[pulumi.Input[str]] = None,
352
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
353
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
354
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
355
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
356
+ __props__=None):
357
+ """
358
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
359
+
360
+ Resource used to manage oauth security integration for partner applications objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake).
361
+
362
+ ## Import
363
+
364
+ ```sh
365
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
366
+ ```
367
+
368
+ :param str resource_name: The name of the resource.
369
+ :param pulumi.ResourceOptions opts: Options for the resource.
370
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
371
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
372
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
373
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
374
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
375
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
376
+ :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
377
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
378
+ """
379
+ ...
380
+ @overload
381
+ def __init__(__self__,
382
+ resource_name: str,
383
+ args: OauthIntegrationForPartnerApplicationsArgs,
384
+ opts: Optional[pulumi.ResourceOptions] = None):
385
+ """
386
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
387
+
388
+ Resource used to manage oauth security integration for partner applications objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake).
389
+
390
+ ## Import
391
+
392
+ ```sh
393
+ $ pulumi import snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications example "name"
394
+ ```
395
+
396
+ :param str resource_name: The name of the resource.
397
+ :param OauthIntegrationForPartnerApplicationsArgs args: The arguments to use to populate this resource's properties.
398
+ :param pulumi.ResourceOptions opts: Options for the resource.
399
+ """
400
+ ...
401
+ def __init__(__self__, resource_name: str, *args, **kwargs):
402
+ resource_args, opts = _utilities.get_resource_args_opts(OauthIntegrationForPartnerApplicationsArgs, pulumi.ResourceOptions, *args, **kwargs)
403
+ if resource_args is not None:
404
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
405
+ else:
406
+ __self__._internal_init(resource_name, *args, **kwargs)
407
+
408
+ def _internal_init(__self__,
409
+ resource_name: str,
410
+ opts: Optional[pulumi.ResourceOptions] = None,
411
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
412
+ comment: Optional[pulumi.Input[str]] = None,
413
+ enabled: Optional[pulumi.Input[str]] = None,
414
+ name: Optional[pulumi.Input[str]] = None,
415
+ oauth_client: Optional[pulumi.Input[str]] = None,
416
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
417
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
418
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
419
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
420
+ __props__=None):
421
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
422
+ if not isinstance(opts, pulumi.ResourceOptions):
423
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
424
+ if opts.id is None:
425
+ if __props__ is not None:
426
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
427
+ __props__ = OauthIntegrationForPartnerApplicationsArgs.__new__(OauthIntegrationForPartnerApplicationsArgs)
428
+
429
+ if blocked_roles_lists is None and not opts.urn:
430
+ raise TypeError("Missing required property 'blocked_roles_lists'")
431
+ __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
432
+ __props__.__dict__["comment"] = comment
433
+ __props__.__dict__["enabled"] = enabled
434
+ __props__.__dict__["name"] = name
435
+ if oauth_client is None and not opts.urn:
436
+ raise TypeError("Missing required property 'oauth_client'")
437
+ __props__.__dict__["oauth_client"] = oauth_client
438
+ __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
439
+ __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
440
+ __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
441
+ __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
442
+ __props__.__dict__["describe_outputs"] = None
443
+ __props__.__dict__["show_outputs"] = None
444
+ super(OauthIntegrationForPartnerApplications, __self__).__init__(
445
+ 'snowflake:index/oauthIntegrationForPartnerApplications:OauthIntegrationForPartnerApplications',
446
+ resource_name,
447
+ __props__,
448
+ opts)
449
+
450
+ @staticmethod
451
+ def get(resource_name: str,
452
+ id: pulumi.Input[str],
453
+ opts: Optional[pulumi.ResourceOptions] = None,
454
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
455
+ comment: Optional[pulumi.Input[str]] = None,
456
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]]] = None,
457
+ enabled: Optional[pulumi.Input[str]] = None,
458
+ name: Optional[pulumi.Input[str]] = None,
459
+ oauth_client: Optional[pulumi.Input[str]] = None,
460
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
461
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
462
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
463
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
464
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]]] = None) -> 'OauthIntegrationForPartnerApplications':
465
+ """
466
+ Get an existing OauthIntegrationForPartnerApplications resource's state with the given name, id, and optional extra
467
+ properties used to qualify the lookup.
468
+
469
+ :param str resource_name: The unique name of the resulting resource.
470
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
471
+ :param pulumi.ResourceOptions opts: Options for the resource.
472
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles_lists: A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
473
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
474
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForPartnerApplicationsDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
475
+ :param pulumi.Input[str] enabled: Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
476
+ :param pulumi.Input[str] name: Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
477
+ :param pulumi.Input[str] oauth_client: Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
478
+ :param pulumi.Input[str] oauth_issue_refresh_tokens: Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
479
+ :param pulumi.Input[int] oauth_refresh_token_validity: Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
480
+ :param pulumi.Input[str] oauth_use_secondary_roles: Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
481
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForPartnerApplicationsShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
482
+ """
483
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
484
+
485
+ __props__ = _OauthIntegrationForPartnerApplicationsState.__new__(_OauthIntegrationForPartnerApplicationsState)
486
+
487
+ __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
488
+ __props__.__dict__["comment"] = comment
489
+ __props__.__dict__["describe_outputs"] = describe_outputs
490
+ __props__.__dict__["enabled"] = enabled
491
+ __props__.__dict__["name"] = name
492
+ __props__.__dict__["oauth_client"] = oauth_client
493
+ __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
494
+ __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
495
+ __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
496
+ __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
497
+ __props__.__dict__["show_outputs"] = show_outputs
498
+ return OauthIntegrationForPartnerApplications(resource_name, opts=opts, __props__=__props__)
499
+
500
+ @property
501
+ @pulumi.getter(name="blockedRolesLists")
502
+ def blocked_roles_lists(self) -> pulumi.Output[Sequence[str]]:
503
+ """
504
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
505
+ """
506
+ return pulumi.get(self, "blocked_roles_lists")
507
+
508
+ @property
509
+ @pulumi.getter
510
+ def comment(self) -> pulumi.Output[Optional[str]]:
511
+ """
512
+ Specifies a comment for the OAuth integration.
513
+ """
514
+ return pulumi.get(self, "comment")
515
+
516
+ @property
517
+ @pulumi.getter(name="describeOutputs")
518
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsDescribeOutput']]:
519
+ """
520
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
521
+ """
522
+ return pulumi.get(self, "describe_outputs")
523
+
524
+ @property
525
+ @pulumi.getter
526
+ def enabled(self) -> pulumi.Output[Optional[str]]:
527
+ """
528
+ Specifies whether this OAuth integration is enabled or disabled. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
529
+ """
530
+ return pulumi.get(self, "enabled")
531
+
532
+ @property
533
+ @pulumi.getter
534
+ def name(self) -> pulumi.Output[str]:
535
+ """
536
+ Specifies the name of the OAuth integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
537
+ """
538
+ return pulumi.get(self, "name")
539
+
540
+ @property
541
+ @pulumi.getter(name="oauthClient")
542
+ def oauth_client(self) -> pulumi.Output[str]:
543
+ """
544
+ Creates an OAuth interface between Snowflake and a partner application. Valid options are: `LOOKER` | `TABLEAU_DESKTOP` | `TABLEAU_SERVER`.
545
+ """
546
+ return pulumi.get(self, "oauth_client")
547
+
548
+ @property
549
+ @pulumi.getter(name="oauthIssueRefreshTokens")
550
+ def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[str]]:
551
+ """
552
+ Specifies whether to allow the client to exchange a refresh token for an access token when the current access token has expired. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
553
+ """
554
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
555
+
556
+ @property
557
+ @pulumi.getter(name="oauthRedirectUri")
558
+ def oauth_redirect_uri(self) -> pulumi.Output[Optional[str]]:
559
+ return pulumi.get(self, "oauth_redirect_uri")
560
+
561
+ @property
562
+ @pulumi.getter(name="oauthRefreshTokenValidity")
563
+ def oauth_refresh_token_validity(self) -> pulumi.Output[Optional[int]]:
564
+ """
565
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
566
+ """
567
+ return pulumi.get(self, "oauth_refresh_token_validity")
568
+
569
+ @property
570
+ @pulumi.getter(name="oauthUseSecondaryRoles")
571
+ def oauth_use_secondary_roles(self) -> pulumi.Output[Optional[str]]:
572
+ """
573
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
574
+ """
575
+ return pulumi.get(self, "oauth_use_secondary_roles")
576
+
577
+ @property
578
+ @pulumi.getter(name="showOutputs")
579
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForPartnerApplicationsShowOutput']]:
580
+ """
581
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
582
+ """
583
+ return pulumi.get(self, "show_outputs")
584
+