pulumi-snowflake 0.56.0a1721200104__py3-none-any.whl → 0.56.0a1721667766__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 (62) hide show
  1. pulumi_snowflake/__init__.py +66 -217
  2. pulumi_snowflake/_inputs.py +10145 -1557
  3. pulumi_snowflake/_utilities.py +3 -4
  4. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +688 -0
  5. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +641 -0
  6. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +676 -0
  7. pulumi_snowflake/cortex_search_service.py +563 -0
  8. pulumi_snowflake/database.py +854 -232
  9. pulumi_snowflake/database_old.py +556 -0
  10. pulumi_snowflake/external_oauth_integration.py +562 -534
  11. pulumi_snowflake/failover_group.py +2 -2
  12. pulumi_snowflake/get_cortex_search_services.py +197 -0
  13. pulumi_snowflake/get_databases.py +71 -62
  14. pulumi_snowflake/get_security_integrations.py +122 -0
  15. pulumi_snowflake/get_warehouses.py +66 -18
  16. pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
  17. pulumi_snowflake/managed_account.py +7 -7
  18. pulumi_snowflake/oauth_integration.py +4 -0
  19. pulumi_snowflake/oauth_integration_for_custom_clients.py +936 -0
  20. pulumi_snowflake/oauth_integration_for_partner_applications.py +580 -0
  21. pulumi_snowflake/outputs.py +12987 -2857
  22. pulumi_snowflake/pulumi-plugin.json +1 -1
  23. pulumi_snowflake/saml2_integration.py +971 -0
  24. pulumi_snowflake/saml_integration.py +4 -0
  25. pulumi_snowflake/scim_integration.py +255 -105
  26. pulumi_snowflake/secondary_database.py +1059 -0
  27. pulumi_snowflake/sequence.py +6 -6
  28. pulumi_snowflake/shared_database.py +914 -0
  29. pulumi_snowflake/tag_association.py +38 -38
  30. pulumi_snowflake/user_password_policy_attachment.py +32 -0
  31. pulumi_snowflake/warehouse.py +143 -120
  32. {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/METADATA +1 -1
  33. {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/RECORD +35 -50
  34. {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/WHEEL +1 -1
  35. pulumi_snowflake/account_grant.py +0 -319
  36. pulumi_snowflake/database_grant.py +0 -471
  37. pulumi_snowflake/external_table_grant.py +0 -666
  38. pulumi_snowflake/failover_group_grant.py +0 -368
  39. pulumi_snowflake/file_format_grant.py +0 -611
  40. pulumi_snowflake/function_grant.py +0 -721
  41. pulumi_snowflake/grant_privileges_to_role.py +0 -821
  42. pulumi_snowflake/integration_grant.py +0 -416
  43. pulumi_snowflake/masking_policy_grant.py +0 -518
  44. pulumi_snowflake/materialized_view_grant.py +0 -665
  45. pulumi_snowflake/pipe_grant.py +0 -563
  46. pulumi_snowflake/procedure_grant.py +0 -721
  47. pulumi_snowflake/resource_monitor_grant.py +0 -363
  48. pulumi_snowflake/role_grants.py +0 -340
  49. pulumi_snowflake/role_ownership_grant.py +0 -329
  50. pulumi_snowflake/row_access_policy_grant.py +0 -516
  51. pulumi_snowflake/schema_grant.py +0 -603
  52. pulumi_snowflake/sequence_grant.py +0 -611
  53. pulumi_snowflake/stage_grant.py +0 -611
  54. pulumi_snowflake/stream_grant.py +0 -611
  55. pulumi_snowflake/table_grant.py +0 -653
  56. pulumi_snowflake/tag_grant.py +0 -508
  57. pulumi_snowflake/task_grant.py +0 -611
  58. pulumi_snowflake/user_grant.py +0 -370
  59. pulumi_snowflake/user_ownership_grant.py +0 -275
  60. pulumi_snowflake/view_grant.py +0 -685
  61. pulumi_snowflake/warehouse_grant.py +0 -416
  62. {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,936 @@
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__ = ['OauthIntegrationForCustomClientsArgs', 'OauthIntegrationForCustomClients']
15
+
16
+ @pulumi.input_type
17
+ class OauthIntegrationForCustomClientsArgs:
18
+ def __init__(__self__, *,
19
+ blocked_roles_lists: pulumi.Input[Sequence[pulumi.Input[str]]],
20
+ oauth_client_type: pulumi.Input[str],
21
+ oauth_redirect_uri: pulumi.Input[str],
22
+ comment: Optional[pulumi.Input[str]] = None,
23
+ enabled: Optional[pulumi.Input[str]] = None,
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ network_policy: Optional[pulumi.Input[str]] = None,
26
+ oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
27
+ oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
28
+ oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
29
+ oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
30
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
31
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
32
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
33
+ pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
34
+ """
35
+ The set of arguments for constructing a OauthIntegrationForCustomClients resource.
36
+ :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.
37
+ :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
38
+ :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
39
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
40
+ :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.
41
+ :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.
42
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
43
+ :param pulumi.Input[str] oauth_allow_non_tls_redirect_uri: If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
44
+ :param pulumi.Input[str] oauth_enforce_pkce: Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
45
+ :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.
46
+ :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.
47
+ :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]
48
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pre_authorized_roles_lists: A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
49
+ """
50
+ pulumi.set(__self__, "blocked_roles_lists", blocked_roles_lists)
51
+ pulumi.set(__self__, "oauth_client_type", oauth_client_type)
52
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
53
+ if comment is not None:
54
+ pulumi.set(__self__, "comment", comment)
55
+ if enabled is not None:
56
+ pulumi.set(__self__, "enabled", enabled)
57
+ if name is not None:
58
+ pulumi.set(__self__, "name", name)
59
+ if network_policy is not None:
60
+ pulumi.set(__self__, "network_policy", network_policy)
61
+ if oauth_allow_non_tls_redirect_uri is not None:
62
+ pulumi.set(__self__, "oauth_allow_non_tls_redirect_uri", oauth_allow_non_tls_redirect_uri)
63
+ if oauth_client_rsa_public_key is not None:
64
+ pulumi.set(__self__, "oauth_client_rsa_public_key", oauth_client_rsa_public_key)
65
+ if oauth_client_rsa_public_key2 is not None:
66
+ pulumi.set(__self__, "oauth_client_rsa_public_key2", oauth_client_rsa_public_key2)
67
+ if oauth_enforce_pkce is not None:
68
+ pulumi.set(__self__, "oauth_enforce_pkce", oauth_enforce_pkce)
69
+ if oauth_issue_refresh_tokens is not None:
70
+ pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
71
+ if oauth_refresh_token_validity is not None:
72
+ pulumi.set(__self__, "oauth_refresh_token_validity", oauth_refresh_token_validity)
73
+ if oauth_use_secondary_roles is not None:
74
+ pulumi.set(__self__, "oauth_use_secondary_roles", oauth_use_secondary_roles)
75
+ if pre_authorized_roles_lists is not None:
76
+ pulumi.set(__self__, "pre_authorized_roles_lists", pre_authorized_roles_lists)
77
+
78
+ @property
79
+ @pulumi.getter(name="blockedRolesLists")
80
+ def blocked_roles_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
81
+ """
82
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
83
+ """
84
+ return pulumi.get(self, "blocked_roles_lists")
85
+
86
+ @blocked_roles_lists.setter
87
+ def blocked_roles_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
88
+ pulumi.set(self, "blocked_roles_lists", value)
89
+
90
+ @property
91
+ @pulumi.getter(name="oauthClientType")
92
+ def oauth_client_type(self) -> pulumi.Input[str]:
93
+ """
94
+ Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
95
+ """
96
+ return pulumi.get(self, "oauth_client_type")
97
+
98
+ @oauth_client_type.setter
99
+ def oauth_client_type(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "oauth_client_type", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="oauthRedirectUri")
104
+ def oauth_redirect_uri(self) -> pulumi.Input[str]:
105
+ """
106
+ Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
107
+ """
108
+ return pulumi.get(self, "oauth_redirect_uri")
109
+
110
+ @oauth_redirect_uri.setter
111
+ def oauth_redirect_uri(self, value: pulumi.Input[str]):
112
+ pulumi.set(self, "oauth_redirect_uri", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def comment(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ Specifies a comment for the OAuth integration.
119
+ """
120
+ return pulumi.get(self, "comment")
121
+
122
+ @comment.setter
123
+ def comment(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "comment", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def enabled(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ 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.
131
+ """
132
+ return pulumi.get(self, "enabled")
133
+
134
+ @enabled.setter
135
+ def enabled(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "enabled", value)
137
+
138
+ @property
139
+ @pulumi.getter
140
+ def name(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ 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.
143
+ """
144
+ return pulumi.get(self, "name")
145
+
146
+ @name.setter
147
+ def name(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "name", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="networkPolicy")
152
+ def network_policy(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
155
+ """
156
+ return pulumi.get(self, "network_policy")
157
+
158
+ @network_policy.setter
159
+ def network_policy(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "network_policy", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="oauthAllowNonTlsRedirectUri")
164
+ def oauth_allow_non_tls_redirect_uri(self) -> Optional[pulumi.Input[str]]:
165
+ """
166
+ If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
167
+ """
168
+ return pulumi.get(self, "oauth_allow_non_tls_redirect_uri")
169
+
170
+ @oauth_allow_non_tls_redirect_uri.setter
171
+ def oauth_allow_non_tls_redirect_uri(self, value: Optional[pulumi.Input[str]]):
172
+ pulumi.set(self, "oauth_allow_non_tls_redirect_uri", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="oauthClientRsaPublicKey")
176
+ def oauth_client_rsa_public_key(self) -> Optional[pulumi.Input[str]]:
177
+ return pulumi.get(self, "oauth_client_rsa_public_key")
178
+
179
+ @oauth_client_rsa_public_key.setter
180
+ def oauth_client_rsa_public_key(self, value: Optional[pulumi.Input[str]]):
181
+ pulumi.set(self, "oauth_client_rsa_public_key", value)
182
+
183
+ @property
184
+ @pulumi.getter(name="oauthClientRsaPublicKey2")
185
+ def oauth_client_rsa_public_key2(self) -> Optional[pulumi.Input[str]]:
186
+ return pulumi.get(self, "oauth_client_rsa_public_key2")
187
+
188
+ @oauth_client_rsa_public_key2.setter
189
+ def oauth_client_rsa_public_key2(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "oauth_client_rsa_public_key2", value)
191
+
192
+ @property
193
+ @pulumi.getter(name="oauthEnforcePkce")
194
+ def oauth_enforce_pkce(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
197
+ """
198
+ return pulumi.get(self, "oauth_enforce_pkce")
199
+
200
+ @oauth_enforce_pkce.setter
201
+ def oauth_enforce_pkce(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "oauth_enforce_pkce", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="oauthIssueRefreshTokens")
206
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ 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.
209
+ """
210
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
211
+
212
+ @oauth_issue_refresh_tokens.setter
213
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "oauth_issue_refresh_tokens", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="oauthRefreshTokenValidity")
218
+ def oauth_refresh_token_validity(self) -> Optional[pulumi.Input[int]]:
219
+ """
220
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
221
+ """
222
+ return pulumi.get(self, "oauth_refresh_token_validity")
223
+
224
+ @oauth_refresh_token_validity.setter
225
+ def oauth_refresh_token_validity(self, value: Optional[pulumi.Input[int]]):
226
+ pulumi.set(self, "oauth_refresh_token_validity", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="oauthUseSecondaryRoles")
230
+ def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: [IMPLICIT NONE]
233
+ """
234
+ return pulumi.get(self, "oauth_use_secondary_roles")
235
+
236
+ @oauth_use_secondary_roles.setter
237
+ def oauth_use_secondary_roles(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "oauth_use_secondary_roles", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="preAuthorizedRolesLists")
242
+ def pre_authorized_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
243
+ """
244
+ A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
245
+ """
246
+ return pulumi.get(self, "pre_authorized_roles_lists")
247
+
248
+ @pre_authorized_roles_lists.setter
249
+ def pre_authorized_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
250
+ pulumi.set(self, "pre_authorized_roles_lists", value)
251
+
252
+
253
+ @pulumi.input_type
254
+ class _OauthIntegrationForCustomClientsState:
255
+ def __init__(__self__, *,
256
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
257
+ comment: Optional[pulumi.Input[str]] = None,
258
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsDescribeOutputArgs']]]] = None,
259
+ enabled: Optional[pulumi.Input[str]] = None,
260
+ name: Optional[pulumi.Input[str]] = None,
261
+ network_policy: Optional[pulumi.Input[str]] = None,
262
+ oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
263
+ oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
264
+ oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
265
+ oauth_client_type: Optional[pulumi.Input[str]] = None,
266
+ oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
267
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
268
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
269
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
270
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
271
+ pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
272
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsShowOutputArgs']]]] = None):
273
+ """
274
+ Input properties used for looking up and filtering OauthIntegrationForCustomClients resources.
275
+ :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.
276
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
277
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
278
+ :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.
279
+ :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.
280
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
281
+ :param pulumi.Input[str] oauth_allow_non_tls_redirect_uri: If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
282
+ :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
283
+ :param pulumi.Input[str] oauth_enforce_pkce: Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
284
+ :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.
285
+ :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
286
+ :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.
287
+ :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]
288
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pre_authorized_roles_lists: A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
289
+ :param pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
290
+ """
291
+ if blocked_roles_lists is not None:
292
+ pulumi.set(__self__, "blocked_roles_lists", blocked_roles_lists)
293
+ if comment is not None:
294
+ pulumi.set(__self__, "comment", comment)
295
+ if describe_outputs is not None:
296
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
297
+ if enabled is not None:
298
+ pulumi.set(__self__, "enabled", enabled)
299
+ if name is not None:
300
+ pulumi.set(__self__, "name", name)
301
+ if network_policy is not None:
302
+ pulumi.set(__self__, "network_policy", network_policy)
303
+ if oauth_allow_non_tls_redirect_uri is not None:
304
+ pulumi.set(__self__, "oauth_allow_non_tls_redirect_uri", oauth_allow_non_tls_redirect_uri)
305
+ if oauth_client_rsa_public_key is not None:
306
+ pulumi.set(__self__, "oauth_client_rsa_public_key", oauth_client_rsa_public_key)
307
+ if oauth_client_rsa_public_key2 is not None:
308
+ pulumi.set(__self__, "oauth_client_rsa_public_key2", oauth_client_rsa_public_key2)
309
+ if oauth_client_type is not None:
310
+ pulumi.set(__self__, "oauth_client_type", oauth_client_type)
311
+ if oauth_enforce_pkce is not None:
312
+ pulumi.set(__self__, "oauth_enforce_pkce", oauth_enforce_pkce)
313
+ if oauth_issue_refresh_tokens is not None:
314
+ pulumi.set(__self__, "oauth_issue_refresh_tokens", oauth_issue_refresh_tokens)
315
+ if oauth_redirect_uri is not None:
316
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
317
+ if oauth_refresh_token_validity is not None:
318
+ pulumi.set(__self__, "oauth_refresh_token_validity", oauth_refresh_token_validity)
319
+ if oauth_use_secondary_roles is not None:
320
+ pulumi.set(__self__, "oauth_use_secondary_roles", oauth_use_secondary_roles)
321
+ if pre_authorized_roles_lists is not None:
322
+ pulumi.set(__self__, "pre_authorized_roles_lists", pre_authorized_roles_lists)
323
+ if show_outputs is not None:
324
+ pulumi.set(__self__, "show_outputs", show_outputs)
325
+
326
+ @property
327
+ @pulumi.getter(name="blockedRolesLists")
328
+ def blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
329
+ """
330
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
331
+ """
332
+ return pulumi.get(self, "blocked_roles_lists")
333
+
334
+ @blocked_roles_lists.setter
335
+ def blocked_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
336
+ pulumi.set(self, "blocked_roles_lists", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def comment(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Specifies a comment for the OAuth integration.
343
+ """
344
+ return pulumi.get(self, "comment")
345
+
346
+ @comment.setter
347
+ def comment(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "comment", value)
349
+
350
+ @property
351
+ @pulumi.getter(name="describeOutputs")
352
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsDescribeOutputArgs']]]]:
353
+ """
354
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
355
+ """
356
+ return pulumi.get(self, "describe_outputs")
357
+
358
+ @describe_outputs.setter
359
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsDescribeOutputArgs']]]]):
360
+ pulumi.set(self, "describe_outputs", value)
361
+
362
+ @property
363
+ @pulumi.getter
364
+ def enabled(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ 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.
367
+ """
368
+ return pulumi.get(self, "enabled")
369
+
370
+ @enabled.setter
371
+ def enabled(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "enabled", value)
373
+
374
+ @property
375
+ @pulumi.getter
376
+ def name(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ 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.
379
+ """
380
+ return pulumi.get(self, "name")
381
+
382
+ @name.setter
383
+ def name(self, value: Optional[pulumi.Input[str]]):
384
+ pulumi.set(self, "name", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="networkPolicy")
388
+ def network_policy(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
391
+ """
392
+ return pulumi.get(self, "network_policy")
393
+
394
+ @network_policy.setter
395
+ def network_policy(self, value: Optional[pulumi.Input[str]]):
396
+ pulumi.set(self, "network_policy", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="oauthAllowNonTlsRedirectUri")
400
+ def oauth_allow_non_tls_redirect_uri(self) -> Optional[pulumi.Input[str]]:
401
+ """
402
+ If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
403
+ """
404
+ return pulumi.get(self, "oauth_allow_non_tls_redirect_uri")
405
+
406
+ @oauth_allow_non_tls_redirect_uri.setter
407
+ def oauth_allow_non_tls_redirect_uri(self, value: Optional[pulumi.Input[str]]):
408
+ pulumi.set(self, "oauth_allow_non_tls_redirect_uri", value)
409
+
410
+ @property
411
+ @pulumi.getter(name="oauthClientRsaPublicKey")
412
+ def oauth_client_rsa_public_key(self) -> Optional[pulumi.Input[str]]:
413
+ return pulumi.get(self, "oauth_client_rsa_public_key")
414
+
415
+ @oauth_client_rsa_public_key.setter
416
+ def oauth_client_rsa_public_key(self, value: Optional[pulumi.Input[str]]):
417
+ pulumi.set(self, "oauth_client_rsa_public_key", value)
418
+
419
+ @property
420
+ @pulumi.getter(name="oauthClientRsaPublicKey2")
421
+ def oauth_client_rsa_public_key2(self) -> Optional[pulumi.Input[str]]:
422
+ return pulumi.get(self, "oauth_client_rsa_public_key2")
423
+
424
+ @oauth_client_rsa_public_key2.setter
425
+ def oauth_client_rsa_public_key2(self, value: Optional[pulumi.Input[str]]):
426
+ pulumi.set(self, "oauth_client_rsa_public_key2", value)
427
+
428
+ @property
429
+ @pulumi.getter(name="oauthClientType")
430
+ def oauth_client_type(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
433
+ """
434
+ return pulumi.get(self, "oauth_client_type")
435
+
436
+ @oauth_client_type.setter
437
+ def oauth_client_type(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "oauth_client_type", value)
439
+
440
+ @property
441
+ @pulumi.getter(name="oauthEnforcePkce")
442
+ def oauth_enforce_pkce(self) -> Optional[pulumi.Input[str]]:
443
+ """
444
+ Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
445
+ """
446
+ return pulumi.get(self, "oauth_enforce_pkce")
447
+
448
+ @oauth_enforce_pkce.setter
449
+ def oauth_enforce_pkce(self, value: Optional[pulumi.Input[str]]):
450
+ pulumi.set(self, "oauth_enforce_pkce", value)
451
+
452
+ @property
453
+ @pulumi.getter(name="oauthIssueRefreshTokens")
454
+ def oauth_issue_refresh_tokens(self) -> Optional[pulumi.Input[str]]:
455
+ """
456
+ 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.
457
+ """
458
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
459
+
460
+ @oauth_issue_refresh_tokens.setter
461
+ def oauth_issue_refresh_tokens(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "oauth_issue_refresh_tokens", value)
463
+
464
+ @property
465
+ @pulumi.getter(name="oauthRedirectUri")
466
+ def oauth_redirect_uri(self) -> Optional[pulumi.Input[str]]:
467
+ """
468
+ Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
469
+ """
470
+ return pulumi.get(self, "oauth_redirect_uri")
471
+
472
+ @oauth_redirect_uri.setter
473
+ def oauth_redirect_uri(self, value: Optional[pulumi.Input[str]]):
474
+ pulumi.set(self, "oauth_redirect_uri", value)
475
+
476
+ @property
477
+ @pulumi.getter(name="oauthRefreshTokenValidity")
478
+ def oauth_refresh_token_validity(self) -> Optional[pulumi.Input[int]]:
479
+ """
480
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
481
+ """
482
+ return pulumi.get(self, "oauth_refresh_token_validity")
483
+
484
+ @oauth_refresh_token_validity.setter
485
+ def oauth_refresh_token_validity(self, value: Optional[pulumi.Input[int]]):
486
+ pulumi.set(self, "oauth_refresh_token_validity", value)
487
+
488
+ @property
489
+ @pulumi.getter(name="oauthUseSecondaryRoles")
490
+ def oauth_use_secondary_roles(self) -> Optional[pulumi.Input[str]]:
491
+ """
492
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: [IMPLICIT NONE]
493
+ """
494
+ return pulumi.get(self, "oauth_use_secondary_roles")
495
+
496
+ @oauth_use_secondary_roles.setter
497
+ def oauth_use_secondary_roles(self, value: Optional[pulumi.Input[str]]):
498
+ pulumi.set(self, "oauth_use_secondary_roles", value)
499
+
500
+ @property
501
+ @pulumi.getter(name="preAuthorizedRolesLists")
502
+ def pre_authorized_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
503
+ """
504
+ A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
505
+ """
506
+ return pulumi.get(self, "pre_authorized_roles_lists")
507
+
508
+ @pre_authorized_roles_lists.setter
509
+ def pre_authorized_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
510
+ pulumi.set(self, "pre_authorized_roles_lists", value)
511
+
512
+ @property
513
+ @pulumi.getter(name="showOutputs")
514
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsShowOutputArgs']]]]:
515
+ """
516
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
517
+ """
518
+ return pulumi.get(self, "show_outputs")
519
+
520
+ @show_outputs.setter
521
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OauthIntegrationForCustomClientsShowOutputArgs']]]]):
522
+ pulumi.set(self, "show_outputs", value)
523
+
524
+
525
+ class OauthIntegrationForCustomClients(pulumi.CustomResource):
526
+ @overload
527
+ def __init__(__self__,
528
+ resource_name: str,
529
+ opts: Optional[pulumi.ResourceOptions] = None,
530
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
531
+ comment: Optional[pulumi.Input[str]] = None,
532
+ enabled: Optional[pulumi.Input[str]] = None,
533
+ name: Optional[pulumi.Input[str]] = None,
534
+ network_policy: Optional[pulumi.Input[str]] = None,
535
+ oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
536
+ oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
537
+ oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
538
+ oauth_client_type: Optional[pulumi.Input[str]] = None,
539
+ oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
540
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
541
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
542
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
543
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
544
+ pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
545
+ __props__=None):
546
+ """
547
+ !> **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.
548
+
549
+ ## Example Usage
550
+
551
+ ```python
552
+ import pulumi
553
+ import pulumi_snowflake as snowflake
554
+ import pulumi_std as std
555
+
556
+ # basic resource
557
+ basic = snowflake.OauthIntegrationForCustomClients("basic",
558
+ name="saml_integration",
559
+ oauth_client_type="CONFIDENTIAL",
560
+ oauth_redirect_uri="https://example.com",
561
+ blocked_roles_lists=[
562
+ "ACCOUNTADMIN",
563
+ "SECURITYADMIN",
564
+ ])
565
+ # resource with all fields set
566
+ complete = snowflake.OauthIntegrationForCustomClients("complete",
567
+ name="saml_integration",
568
+ oauth_client_type="CONFIDENTIAL",
569
+ oauth_redirect_uri="https://example.com",
570
+ enabled="true",
571
+ oauth_allow_non_tls_redirect_uri="true",
572
+ oauth_enforce_pkce="true",
573
+ oauth_use_secondary_roles="NONE",
574
+ pre_authorized_roles_lists=[
575
+ "role_id1",
576
+ "role_id2",
577
+ ],
578
+ blocked_roles_lists=[
579
+ "ACCOUNTADMIN",
580
+ "SECURITYADMIN",
581
+ "role_id1",
582
+ "role_id2",
583
+ ],
584
+ oauth_issue_refresh_tokens="true",
585
+ oauth_refresh_token_validity=87600,
586
+ network_policy="network_policy_id",
587
+ oauth_client_rsa_public_key=std.file(input="rsa.pub").result,
588
+ oauth_client_rsa_public_key2=std.file(input="rsa2.pub").result,
589
+ comment="my oauth integration")
590
+ ```
591
+
592
+ ## Import
593
+
594
+ ```sh
595
+ $ pulumi import snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients example "name"
596
+ ```
597
+
598
+ :param str resource_name: The name of the resource.
599
+ :param pulumi.ResourceOptions opts: Options for the resource.
600
+ :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.
601
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
602
+ :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.
603
+ :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.
604
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
605
+ :param pulumi.Input[str] oauth_allow_non_tls_redirect_uri: If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
606
+ :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
607
+ :param pulumi.Input[str] oauth_enforce_pkce: Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
608
+ :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.
609
+ :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
610
+ :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.
611
+ :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]
612
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pre_authorized_roles_lists: A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
613
+ """
614
+ ...
615
+ @overload
616
+ def __init__(__self__,
617
+ resource_name: str,
618
+ args: OauthIntegrationForCustomClientsArgs,
619
+ opts: Optional[pulumi.ResourceOptions] = None):
620
+ """
621
+ !> **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.
622
+
623
+ ## Example Usage
624
+
625
+ ```python
626
+ import pulumi
627
+ import pulumi_snowflake as snowflake
628
+ import pulumi_std as std
629
+
630
+ # basic resource
631
+ basic = snowflake.OauthIntegrationForCustomClients("basic",
632
+ name="saml_integration",
633
+ oauth_client_type="CONFIDENTIAL",
634
+ oauth_redirect_uri="https://example.com",
635
+ blocked_roles_lists=[
636
+ "ACCOUNTADMIN",
637
+ "SECURITYADMIN",
638
+ ])
639
+ # resource with all fields set
640
+ complete = snowflake.OauthIntegrationForCustomClients("complete",
641
+ name="saml_integration",
642
+ oauth_client_type="CONFIDENTIAL",
643
+ oauth_redirect_uri="https://example.com",
644
+ enabled="true",
645
+ oauth_allow_non_tls_redirect_uri="true",
646
+ oauth_enforce_pkce="true",
647
+ oauth_use_secondary_roles="NONE",
648
+ pre_authorized_roles_lists=[
649
+ "role_id1",
650
+ "role_id2",
651
+ ],
652
+ blocked_roles_lists=[
653
+ "ACCOUNTADMIN",
654
+ "SECURITYADMIN",
655
+ "role_id1",
656
+ "role_id2",
657
+ ],
658
+ oauth_issue_refresh_tokens="true",
659
+ oauth_refresh_token_validity=87600,
660
+ network_policy="network_policy_id",
661
+ oauth_client_rsa_public_key=std.file(input="rsa.pub").result,
662
+ oauth_client_rsa_public_key2=std.file(input="rsa2.pub").result,
663
+ comment="my oauth integration")
664
+ ```
665
+
666
+ ## Import
667
+
668
+ ```sh
669
+ $ pulumi import snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients example "name"
670
+ ```
671
+
672
+ :param str resource_name: The name of the resource.
673
+ :param OauthIntegrationForCustomClientsArgs args: The arguments to use to populate this resource's properties.
674
+ :param pulumi.ResourceOptions opts: Options for the resource.
675
+ """
676
+ ...
677
+ def __init__(__self__, resource_name: str, *args, **kwargs):
678
+ resource_args, opts = _utilities.get_resource_args_opts(OauthIntegrationForCustomClientsArgs, pulumi.ResourceOptions, *args, **kwargs)
679
+ if resource_args is not None:
680
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
681
+ else:
682
+ __self__._internal_init(resource_name, *args, **kwargs)
683
+
684
+ def _internal_init(__self__,
685
+ resource_name: str,
686
+ opts: Optional[pulumi.ResourceOptions] = None,
687
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
688
+ comment: Optional[pulumi.Input[str]] = None,
689
+ enabled: Optional[pulumi.Input[str]] = None,
690
+ name: Optional[pulumi.Input[str]] = None,
691
+ network_policy: Optional[pulumi.Input[str]] = None,
692
+ oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
693
+ oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
694
+ oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
695
+ oauth_client_type: Optional[pulumi.Input[str]] = None,
696
+ oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
697
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
698
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
699
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
700
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
701
+ pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
702
+ __props__=None):
703
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
704
+ if not isinstance(opts, pulumi.ResourceOptions):
705
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
706
+ if opts.id is None:
707
+ if __props__ is not None:
708
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
709
+ __props__ = OauthIntegrationForCustomClientsArgs.__new__(OauthIntegrationForCustomClientsArgs)
710
+
711
+ if blocked_roles_lists is None and not opts.urn:
712
+ raise TypeError("Missing required property 'blocked_roles_lists'")
713
+ __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
714
+ __props__.__dict__["comment"] = comment
715
+ __props__.__dict__["enabled"] = enabled
716
+ __props__.__dict__["name"] = name
717
+ __props__.__dict__["network_policy"] = network_policy
718
+ __props__.__dict__["oauth_allow_non_tls_redirect_uri"] = oauth_allow_non_tls_redirect_uri
719
+ __props__.__dict__["oauth_client_rsa_public_key"] = oauth_client_rsa_public_key
720
+ __props__.__dict__["oauth_client_rsa_public_key2"] = oauth_client_rsa_public_key2
721
+ if oauth_client_type is None and not opts.urn:
722
+ raise TypeError("Missing required property 'oauth_client_type'")
723
+ __props__.__dict__["oauth_client_type"] = oauth_client_type
724
+ __props__.__dict__["oauth_enforce_pkce"] = oauth_enforce_pkce
725
+ __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
726
+ if oauth_redirect_uri is None and not opts.urn:
727
+ raise TypeError("Missing required property 'oauth_redirect_uri'")
728
+ __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
729
+ __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
730
+ __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
731
+ __props__.__dict__["pre_authorized_roles_lists"] = pre_authorized_roles_lists
732
+ __props__.__dict__["describe_outputs"] = None
733
+ __props__.__dict__["show_outputs"] = None
734
+ super(OauthIntegrationForCustomClients, __self__).__init__(
735
+ 'snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients',
736
+ resource_name,
737
+ __props__,
738
+ opts)
739
+
740
+ @staticmethod
741
+ def get(resource_name: str,
742
+ id: pulumi.Input[str],
743
+ opts: Optional[pulumi.ResourceOptions] = None,
744
+ blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
745
+ comment: Optional[pulumi.Input[str]] = None,
746
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsDescribeOutputArgs']]]]] = None,
747
+ enabled: Optional[pulumi.Input[str]] = None,
748
+ name: Optional[pulumi.Input[str]] = None,
749
+ network_policy: Optional[pulumi.Input[str]] = None,
750
+ oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
751
+ oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
752
+ oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
753
+ oauth_client_type: Optional[pulumi.Input[str]] = None,
754
+ oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
755
+ oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
756
+ oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
757
+ oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
758
+ oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
759
+ pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
760
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsShowOutputArgs']]]]] = None) -> 'OauthIntegrationForCustomClients':
761
+ """
762
+ Get an existing OauthIntegrationForCustomClients resource's state with the given name, id, and optional extra
763
+ properties used to qualify the lookup.
764
+
765
+ :param str resource_name: The unique name of the resulting resource.
766
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
767
+ :param pulumi.ResourceOptions opts: Options for the resource.
768
+ :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.
769
+ :param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
770
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
771
+ :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.
772
+ :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.
773
+ :param pulumi.Input[str] network_policy: Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
774
+ :param pulumi.Input[str] oauth_allow_non_tls_redirect_uri: If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
775
+ :param pulumi.Input[str] oauth_client_type: Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
776
+ :param pulumi.Input[str] oauth_enforce_pkce: Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
777
+ :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.
778
+ :param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
779
+ :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.
780
+ :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]
781
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pre_authorized_roles_lists: A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
782
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
783
+ """
784
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
785
+
786
+ __props__ = _OauthIntegrationForCustomClientsState.__new__(_OauthIntegrationForCustomClientsState)
787
+
788
+ __props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
789
+ __props__.__dict__["comment"] = comment
790
+ __props__.__dict__["describe_outputs"] = describe_outputs
791
+ __props__.__dict__["enabled"] = enabled
792
+ __props__.__dict__["name"] = name
793
+ __props__.__dict__["network_policy"] = network_policy
794
+ __props__.__dict__["oauth_allow_non_tls_redirect_uri"] = oauth_allow_non_tls_redirect_uri
795
+ __props__.__dict__["oauth_client_rsa_public_key"] = oauth_client_rsa_public_key
796
+ __props__.__dict__["oauth_client_rsa_public_key2"] = oauth_client_rsa_public_key2
797
+ __props__.__dict__["oauth_client_type"] = oauth_client_type
798
+ __props__.__dict__["oauth_enforce_pkce"] = oauth_enforce_pkce
799
+ __props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
800
+ __props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
801
+ __props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
802
+ __props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
803
+ __props__.__dict__["pre_authorized_roles_lists"] = pre_authorized_roles_lists
804
+ __props__.__dict__["show_outputs"] = show_outputs
805
+ return OauthIntegrationForCustomClients(resource_name, opts=opts, __props__=__props__)
806
+
807
+ @property
808
+ @pulumi.getter(name="blockedRolesLists")
809
+ def blocked_roles_lists(self) -> pulumi.Output[Sequence[str]]:
810
+ """
811
+ A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
812
+ """
813
+ return pulumi.get(self, "blocked_roles_lists")
814
+
815
+ @property
816
+ @pulumi.getter
817
+ def comment(self) -> pulumi.Output[Optional[str]]:
818
+ """
819
+ Specifies a comment for the OAuth integration.
820
+ """
821
+ return pulumi.get(self, "comment")
822
+
823
+ @property
824
+ @pulumi.getter(name="describeOutputs")
825
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForCustomClientsDescribeOutput']]:
826
+ """
827
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
828
+ """
829
+ return pulumi.get(self, "describe_outputs")
830
+
831
+ @property
832
+ @pulumi.getter
833
+ def enabled(self) -> pulumi.Output[Optional[str]]:
834
+ """
835
+ 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.
836
+ """
837
+ return pulumi.get(self, "enabled")
838
+
839
+ @property
840
+ @pulumi.getter
841
+ def name(self) -> pulumi.Output[str]:
842
+ """
843
+ 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.
844
+ """
845
+ return pulumi.get(self, "name")
846
+
847
+ @property
848
+ @pulumi.getter(name="networkPolicy")
849
+ def network_policy(self) -> pulumi.Output[Optional[str]]:
850
+ """
851
+ Specifies an existing network policy. This network policy controls network traffic that is attempting to exchange an authorization code for an access or refresh token or to use a refresh token to obtain a new access token.
852
+ """
853
+ return pulumi.get(self, "network_policy")
854
+
855
+ @property
856
+ @pulumi.getter(name="oauthAllowNonTlsRedirectUri")
857
+ def oauth_allow_non_tls_redirect_uri(self) -> pulumi.Output[Optional[str]]:
858
+ """
859
+ If true, allows setting oauth*redirect*uri to a URI not protected by TLS. 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.
860
+ """
861
+ return pulumi.get(self, "oauth_allow_non_tls_redirect_uri")
862
+
863
+ @property
864
+ @pulumi.getter(name="oauthClientRsaPublicKey")
865
+ def oauth_client_rsa_public_key(self) -> pulumi.Output[Optional[str]]:
866
+ return pulumi.get(self, "oauth_client_rsa_public_key")
867
+
868
+ @property
869
+ @pulumi.getter(name="oauthClientRsaPublicKey2")
870
+ def oauth_client_rsa_public_key2(self) -> pulumi.Output[Optional[str]]:
871
+ return pulumi.get(self, "oauth_client_rsa_public_key2")
872
+
873
+ @property
874
+ @pulumi.getter(name="oauthClientType")
875
+ def oauth_client_type(self) -> pulumi.Output[str]:
876
+ """
877
+ Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: [PUBLIC CONFIDENTIAL]
878
+ """
879
+ return pulumi.get(self, "oauth_client_type")
880
+
881
+ @property
882
+ @pulumi.getter(name="oauthEnforcePkce")
883
+ def oauth_enforce_pkce(self) -> pulumi.Output[Optional[str]]:
884
+ """
885
+ Boolean that specifies whether Proof Key for Code Exchange (PKCE) should be required for the integration. 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.
886
+ """
887
+ return pulumi.get(self, "oauth_enforce_pkce")
888
+
889
+ @property
890
+ @pulumi.getter(name="oauthIssueRefreshTokens")
891
+ def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[str]]:
892
+ """
893
+ 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.
894
+ """
895
+ return pulumi.get(self, "oauth_issue_refresh_tokens")
896
+
897
+ @property
898
+ @pulumi.getter(name="oauthRedirectUri")
899
+ def oauth_redirect_uri(self) -> pulumi.Output[str]:
900
+ """
901
+ Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
902
+ """
903
+ return pulumi.get(self, "oauth_redirect_uri")
904
+
905
+ @property
906
+ @pulumi.getter(name="oauthRefreshTokenValidity")
907
+ def oauth_refresh_token_validity(self) -> pulumi.Output[Optional[int]]:
908
+ """
909
+ Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
910
+ """
911
+ return pulumi.get(self, "oauth_refresh_token_validity")
912
+
913
+ @property
914
+ @pulumi.getter(name="oauthUseSecondaryRoles")
915
+ def oauth_use_secondary_roles(self) -> pulumi.Output[Optional[str]]:
916
+ """
917
+ Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: [IMPLICIT NONE]
918
+ """
919
+ return pulumi.get(self, "oauth_use_secondary_roles")
920
+
921
+ @property
922
+ @pulumi.getter(name="preAuthorizedRolesLists")
923
+ def pre_authorized_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
924
+ """
925
+ A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
926
+ """
927
+ return pulumi.get(self, "pre_authorized_roles_lists")
928
+
929
+ @property
930
+ @pulumi.getter(name="showOutputs")
931
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForCustomClientsShowOutput']]:
932
+ """
933
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
934
+ """
935
+ return pulumi.get(self, "show_outputs")
936
+