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.
- pulumi_snowflake/__init__.py +78 -209
- pulumi_snowflake/_inputs.py +12188 -1362
- pulumi_snowflake/_utilities.py +2 -0
- pulumi_snowflake/account_role.py +226 -0
- pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +692 -0
- pulumi_snowflake/api_authentication_integration_with_client_credentials.py +645 -0
- pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +680 -0
- pulumi_snowflake/cortex_search_service.py +563 -0
- pulumi_snowflake/database.py +854 -232
- pulumi_snowflake/database_old.py +556 -0
- pulumi_snowflake/external_oauth_integration.py +562 -534
- pulumi_snowflake/failover_group.py +2 -2
- pulumi_snowflake/get_cortex_search_services.py +197 -0
- pulumi_snowflake/get_databases.py +71 -62
- pulumi_snowflake/get_network_policies.py +122 -0
- pulumi_snowflake/get_roles.py +37 -31
- pulumi_snowflake/get_schemas.py +115 -38
- pulumi_snowflake/get_security_integrations.py +122 -0
- pulumi_snowflake/get_streamlits.py +159 -0
- pulumi_snowflake/get_warehouses.py +66 -18
- pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
- pulumi_snowflake/managed_account.py +7 -7
- pulumi_snowflake/network_policy.py +103 -19
- pulumi_snowflake/oauth_integration.py +4 -0
- pulumi_snowflake/oauth_integration_for_custom_clients.py +940 -0
- pulumi_snowflake/oauth_integration_for_partner_applications.py +584 -0
- pulumi_snowflake/outputs.py +16178 -2927
- pulumi_snowflake/pulumi-plugin.json +1 -1
- pulumi_snowflake/role.py +44 -72
- pulumi_snowflake/saml2_integration.py +975 -0
- pulumi_snowflake/saml_integration.py +4 -0
- pulumi_snowflake/schema.py +905 -151
- pulumi_snowflake/scim_integration.py +257 -103
- pulumi_snowflake/secondary_database.py +1059 -0
- pulumi_snowflake/sequence.py +6 -6
- pulumi_snowflake/shared_database.py +914 -0
- pulumi_snowflake/streamlit.py +650 -0
- pulumi_snowflake/table.py +0 -120
- pulumi_snowflake/table_constraint.py +2 -2
- pulumi_snowflake/tag_association.py +38 -38
- pulumi_snowflake/unsafe_execute.py +8 -8
- pulumi_snowflake/user_password_policy_attachment.py +32 -0
- pulumi_snowflake/warehouse.py +143 -120
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/METADATA +1 -1
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/RECORD +47 -58
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/WHEEL +1 -1
- pulumi_snowflake/account_grant.py +0 -319
- pulumi_snowflake/database_grant.py +0 -471
- pulumi_snowflake/external_table_grant.py +0 -666
- pulumi_snowflake/failover_group_grant.py +0 -368
- pulumi_snowflake/file_format_grant.py +0 -611
- pulumi_snowflake/function_grant.py +0 -721
- pulumi_snowflake/grant_privileges_to_role.py +0 -821
- pulumi_snowflake/integration_grant.py +0 -416
- pulumi_snowflake/masking_policy_grant.py +0 -518
- pulumi_snowflake/materialized_view_grant.py +0 -665
- pulumi_snowflake/pipe_grant.py +0 -563
- pulumi_snowflake/procedure_grant.py +0 -721
- pulumi_snowflake/resource_monitor_grant.py +0 -363
- pulumi_snowflake/role_grants.py +0 -340
- pulumi_snowflake/role_ownership_grant.py +0 -329
- pulumi_snowflake/row_access_policy_grant.py +0 -516
- pulumi_snowflake/schema_grant.py +0 -603
- pulumi_snowflake/sequence_grant.py +0 -611
- pulumi_snowflake/stage_grant.py +0 -611
- pulumi_snowflake/stream_grant.py +0 -611
- pulumi_snowflake/table_grant.py +0 -653
- pulumi_snowflake/tag_grant.py +0 -508
- pulumi_snowflake/task_grant.py +0 -611
- pulumi_snowflake/user_grant.py +0 -370
- pulumi_snowflake/user_ownership_grant.py +0 -275
- pulumi_snowflake/view_grant.py +0 -685
- pulumi_snowflake/warehouse_grant.py +0 -416
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,940 @@
|
|
|
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
|
+
Resource used to manage oauth security integration for custom clients objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake).
|
|
550
|
+
|
|
551
|
+
## Example Usage
|
|
552
|
+
|
|
553
|
+
```python
|
|
554
|
+
import pulumi
|
|
555
|
+
import pulumi_snowflake as snowflake
|
|
556
|
+
import pulumi_std as std
|
|
557
|
+
|
|
558
|
+
# basic resource
|
|
559
|
+
basic = snowflake.OauthIntegrationForCustomClients("basic",
|
|
560
|
+
name="saml_integration",
|
|
561
|
+
oauth_client_type="CONFIDENTIAL",
|
|
562
|
+
oauth_redirect_uri="https://example.com",
|
|
563
|
+
blocked_roles_lists=[
|
|
564
|
+
"ACCOUNTADMIN",
|
|
565
|
+
"SECURITYADMIN",
|
|
566
|
+
])
|
|
567
|
+
# resource with all fields set
|
|
568
|
+
complete = snowflake.OauthIntegrationForCustomClients("complete",
|
|
569
|
+
name="saml_integration",
|
|
570
|
+
oauth_client_type="CONFIDENTIAL",
|
|
571
|
+
oauth_redirect_uri="https://example.com",
|
|
572
|
+
enabled="true",
|
|
573
|
+
oauth_allow_non_tls_redirect_uri="true",
|
|
574
|
+
oauth_enforce_pkce="true",
|
|
575
|
+
oauth_use_secondary_roles="NONE",
|
|
576
|
+
pre_authorized_roles_lists=[
|
|
577
|
+
"role_id1",
|
|
578
|
+
"role_id2",
|
|
579
|
+
],
|
|
580
|
+
blocked_roles_lists=[
|
|
581
|
+
"ACCOUNTADMIN",
|
|
582
|
+
"SECURITYADMIN",
|
|
583
|
+
"role_id1",
|
|
584
|
+
"role_id2",
|
|
585
|
+
],
|
|
586
|
+
oauth_issue_refresh_tokens="true",
|
|
587
|
+
oauth_refresh_token_validity=87600,
|
|
588
|
+
network_policy="network_policy_id",
|
|
589
|
+
oauth_client_rsa_public_key=std.file(input="rsa.pub").result,
|
|
590
|
+
oauth_client_rsa_public_key2=std.file(input="rsa2.pub").result,
|
|
591
|
+
comment="my oauth integration")
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
## Import
|
|
595
|
+
|
|
596
|
+
```sh
|
|
597
|
+
$ pulumi import snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients example "name"
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
:param str resource_name: The name of the resource.
|
|
601
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
602
|
+
: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.
|
|
603
|
+
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
604
|
+
: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.
|
|
605
|
+
: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.
|
|
606
|
+
: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.
|
|
607
|
+
: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.
|
|
608
|
+
: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`.
|
|
609
|
+
: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.
|
|
610
|
+
: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.
|
|
611
|
+
:param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
|
|
612
|
+
: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.
|
|
613
|
+
: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`.
|
|
614
|
+
: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.
|
|
615
|
+
"""
|
|
616
|
+
...
|
|
617
|
+
@overload
|
|
618
|
+
def __init__(__self__,
|
|
619
|
+
resource_name: str,
|
|
620
|
+
args: OauthIntegrationForCustomClientsArgs,
|
|
621
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
622
|
+
"""
|
|
623
|
+
!> **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.
|
|
624
|
+
|
|
625
|
+
Resource used to manage oauth security integration for custom clients objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake).
|
|
626
|
+
|
|
627
|
+
## Example Usage
|
|
628
|
+
|
|
629
|
+
```python
|
|
630
|
+
import pulumi
|
|
631
|
+
import pulumi_snowflake as snowflake
|
|
632
|
+
import pulumi_std as std
|
|
633
|
+
|
|
634
|
+
# basic resource
|
|
635
|
+
basic = snowflake.OauthIntegrationForCustomClients("basic",
|
|
636
|
+
name="saml_integration",
|
|
637
|
+
oauth_client_type="CONFIDENTIAL",
|
|
638
|
+
oauth_redirect_uri="https://example.com",
|
|
639
|
+
blocked_roles_lists=[
|
|
640
|
+
"ACCOUNTADMIN",
|
|
641
|
+
"SECURITYADMIN",
|
|
642
|
+
])
|
|
643
|
+
# resource with all fields set
|
|
644
|
+
complete = snowflake.OauthIntegrationForCustomClients("complete",
|
|
645
|
+
name="saml_integration",
|
|
646
|
+
oauth_client_type="CONFIDENTIAL",
|
|
647
|
+
oauth_redirect_uri="https://example.com",
|
|
648
|
+
enabled="true",
|
|
649
|
+
oauth_allow_non_tls_redirect_uri="true",
|
|
650
|
+
oauth_enforce_pkce="true",
|
|
651
|
+
oauth_use_secondary_roles="NONE",
|
|
652
|
+
pre_authorized_roles_lists=[
|
|
653
|
+
"role_id1",
|
|
654
|
+
"role_id2",
|
|
655
|
+
],
|
|
656
|
+
blocked_roles_lists=[
|
|
657
|
+
"ACCOUNTADMIN",
|
|
658
|
+
"SECURITYADMIN",
|
|
659
|
+
"role_id1",
|
|
660
|
+
"role_id2",
|
|
661
|
+
],
|
|
662
|
+
oauth_issue_refresh_tokens="true",
|
|
663
|
+
oauth_refresh_token_validity=87600,
|
|
664
|
+
network_policy="network_policy_id",
|
|
665
|
+
oauth_client_rsa_public_key=std.file(input="rsa.pub").result,
|
|
666
|
+
oauth_client_rsa_public_key2=std.file(input="rsa2.pub").result,
|
|
667
|
+
comment="my oauth integration")
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
## Import
|
|
671
|
+
|
|
672
|
+
```sh
|
|
673
|
+
$ pulumi import snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients example "name"
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
:param str resource_name: The name of the resource.
|
|
677
|
+
:param OauthIntegrationForCustomClientsArgs args: The arguments to use to populate this resource's properties.
|
|
678
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
679
|
+
"""
|
|
680
|
+
...
|
|
681
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
682
|
+
resource_args, opts = _utilities.get_resource_args_opts(OauthIntegrationForCustomClientsArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
683
|
+
if resource_args is not None:
|
|
684
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
685
|
+
else:
|
|
686
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
687
|
+
|
|
688
|
+
def _internal_init(__self__,
|
|
689
|
+
resource_name: str,
|
|
690
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
691
|
+
blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
692
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
693
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
694
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
695
|
+
network_policy: Optional[pulumi.Input[str]] = None,
|
|
696
|
+
oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
|
|
697
|
+
oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
698
|
+
oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
699
|
+
oauth_client_type: Optional[pulumi.Input[str]] = None,
|
|
700
|
+
oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
|
|
701
|
+
oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
|
|
702
|
+
oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
|
|
703
|
+
oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
|
|
704
|
+
oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
|
|
705
|
+
pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
706
|
+
__props__=None):
|
|
707
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
708
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
709
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
710
|
+
if opts.id is None:
|
|
711
|
+
if __props__ is not None:
|
|
712
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
713
|
+
__props__ = OauthIntegrationForCustomClientsArgs.__new__(OauthIntegrationForCustomClientsArgs)
|
|
714
|
+
|
|
715
|
+
if blocked_roles_lists is None and not opts.urn:
|
|
716
|
+
raise TypeError("Missing required property 'blocked_roles_lists'")
|
|
717
|
+
__props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
|
|
718
|
+
__props__.__dict__["comment"] = comment
|
|
719
|
+
__props__.__dict__["enabled"] = enabled
|
|
720
|
+
__props__.__dict__["name"] = name
|
|
721
|
+
__props__.__dict__["network_policy"] = network_policy
|
|
722
|
+
__props__.__dict__["oauth_allow_non_tls_redirect_uri"] = oauth_allow_non_tls_redirect_uri
|
|
723
|
+
__props__.__dict__["oauth_client_rsa_public_key"] = oauth_client_rsa_public_key
|
|
724
|
+
__props__.__dict__["oauth_client_rsa_public_key2"] = oauth_client_rsa_public_key2
|
|
725
|
+
if oauth_client_type is None and not opts.urn:
|
|
726
|
+
raise TypeError("Missing required property 'oauth_client_type'")
|
|
727
|
+
__props__.__dict__["oauth_client_type"] = oauth_client_type
|
|
728
|
+
__props__.__dict__["oauth_enforce_pkce"] = oauth_enforce_pkce
|
|
729
|
+
__props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
|
|
730
|
+
if oauth_redirect_uri is None and not opts.urn:
|
|
731
|
+
raise TypeError("Missing required property 'oauth_redirect_uri'")
|
|
732
|
+
__props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
|
|
733
|
+
__props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
|
|
734
|
+
__props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
|
|
735
|
+
__props__.__dict__["pre_authorized_roles_lists"] = pre_authorized_roles_lists
|
|
736
|
+
__props__.__dict__["describe_outputs"] = None
|
|
737
|
+
__props__.__dict__["show_outputs"] = None
|
|
738
|
+
super(OauthIntegrationForCustomClients, __self__).__init__(
|
|
739
|
+
'snowflake:index/oauthIntegrationForCustomClients:OauthIntegrationForCustomClients',
|
|
740
|
+
resource_name,
|
|
741
|
+
__props__,
|
|
742
|
+
opts)
|
|
743
|
+
|
|
744
|
+
@staticmethod
|
|
745
|
+
def get(resource_name: str,
|
|
746
|
+
id: pulumi.Input[str],
|
|
747
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
748
|
+
blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
749
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
750
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsDescribeOutputArgs']]]]] = None,
|
|
751
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
752
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
753
|
+
network_policy: Optional[pulumi.Input[str]] = None,
|
|
754
|
+
oauth_allow_non_tls_redirect_uri: Optional[pulumi.Input[str]] = None,
|
|
755
|
+
oauth_client_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
756
|
+
oauth_client_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
757
|
+
oauth_client_type: Optional[pulumi.Input[str]] = None,
|
|
758
|
+
oauth_enforce_pkce: Optional[pulumi.Input[str]] = None,
|
|
759
|
+
oauth_issue_refresh_tokens: Optional[pulumi.Input[str]] = None,
|
|
760
|
+
oauth_redirect_uri: Optional[pulumi.Input[str]] = None,
|
|
761
|
+
oauth_refresh_token_validity: Optional[pulumi.Input[int]] = None,
|
|
762
|
+
oauth_use_secondary_roles: Optional[pulumi.Input[str]] = None,
|
|
763
|
+
pre_authorized_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
764
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsShowOutputArgs']]]]] = None) -> 'OauthIntegrationForCustomClients':
|
|
765
|
+
"""
|
|
766
|
+
Get an existing OauthIntegrationForCustomClients resource's state with the given name, id, and optional extra
|
|
767
|
+
properties used to qualify the lookup.
|
|
768
|
+
|
|
769
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
770
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
771
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
772
|
+
: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.
|
|
773
|
+
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
774
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
775
|
+
: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.
|
|
776
|
+
: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.
|
|
777
|
+
: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.
|
|
778
|
+
: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.
|
|
779
|
+
: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`.
|
|
780
|
+
: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.
|
|
781
|
+
: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.
|
|
782
|
+
:param pulumi.Input[str] oauth_redirect_uri: Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
|
|
783
|
+
: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.
|
|
784
|
+
: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`.
|
|
785
|
+
: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.
|
|
786
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OauthIntegrationForCustomClientsShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
787
|
+
"""
|
|
788
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
789
|
+
|
|
790
|
+
__props__ = _OauthIntegrationForCustomClientsState.__new__(_OauthIntegrationForCustomClientsState)
|
|
791
|
+
|
|
792
|
+
__props__.__dict__["blocked_roles_lists"] = blocked_roles_lists
|
|
793
|
+
__props__.__dict__["comment"] = comment
|
|
794
|
+
__props__.__dict__["describe_outputs"] = describe_outputs
|
|
795
|
+
__props__.__dict__["enabled"] = enabled
|
|
796
|
+
__props__.__dict__["name"] = name
|
|
797
|
+
__props__.__dict__["network_policy"] = network_policy
|
|
798
|
+
__props__.__dict__["oauth_allow_non_tls_redirect_uri"] = oauth_allow_non_tls_redirect_uri
|
|
799
|
+
__props__.__dict__["oauth_client_rsa_public_key"] = oauth_client_rsa_public_key
|
|
800
|
+
__props__.__dict__["oauth_client_rsa_public_key2"] = oauth_client_rsa_public_key2
|
|
801
|
+
__props__.__dict__["oauth_client_type"] = oauth_client_type
|
|
802
|
+
__props__.__dict__["oauth_enforce_pkce"] = oauth_enforce_pkce
|
|
803
|
+
__props__.__dict__["oauth_issue_refresh_tokens"] = oauth_issue_refresh_tokens
|
|
804
|
+
__props__.__dict__["oauth_redirect_uri"] = oauth_redirect_uri
|
|
805
|
+
__props__.__dict__["oauth_refresh_token_validity"] = oauth_refresh_token_validity
|
|
806
|
+
__props__.__dict__["oauth_use_secondary_roles"] = oauth_use_secondary_roles
|
|
807
|
+
__props__.__dict__["pre_authorized_roles_lists"] = pre_authorized_roles_lists
|
|
808
|
+
__props__.__dict__["show_outputs"] = show_outputs
|
|
809
|
+
return OauthIntegrationForCustomClients(resource_name, opts=opts, __props__=__props__)
|
|
810
|
+
|
|
811
|
+
@property
|
|
812
|
+
@pulumi.getter(name="blockedRolesLists")
|
|
813
|
+
def blocked_roles_lists(self) -> pulumi.Output[Sequence[str]]:
|
|
814
|
+
"""
|
|
815
|
+
A set of Snowflake roles that a user cannot explicitly consent to using after authenticating.
|
|
816
|
+
"""
|
|
817
|
+
return pulumi.get(self, "blocked_roles_lists")
|
|
818
|
+
|
|
819
|
+
@property
|
|
820
|
+
@pulumi.getter
|
|
821
|
+
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
822
|
+
"""
|
|
823
|
+
Specifies a comment for the OAuth integration.
|
|
824
|
+
"""
|
|
825
|
+
return pulumi.get(self, "comment")
|
|
826
|
+
|
|
827
|
+
@property
|
|
828
|
+
@pulumi.getter(name="describeOutputs")
|
|
829
|
+
def describe_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForCustomClientsDescribeOutput']]:
|
|
830
|
+
"""
|
|
831
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
832
|
+
"""
|
|
833
|
+
return pulumi.get(self, "describe_outputs")
|
|
834
|
+
|
|
835
|
+
@property
|
|
836
|
+
@pulumi.getter
|
|
837
|
+
def enabled(self) -> pulumi.Output[Optional[str]]:
|
|
838
|
+
"""
|
|
839
|
+
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.
|
|
840
|
+
"""
|
|
841
|
+
return pulumi.get(self, "enabled")
|
|
842
|
+
|
|
843
|
+
@property
|
|
844
|
+
@pulumi.getter
|
|
845
|
+
def name(self) -> pulumi.Output[str]:
|
|
846
|
+
"""
|
|
847
|
+
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.
|
|
848
|
+
"""
|
|
849
|
+
return pulumi.get(self, "name")
|
|
850
|
+
|
|
851
|
+
@property
|
|
852
|
+
@pulumi.getter(name="networkPolicy")
|
|
853
|
+
def network_policy(self) -> pulumi.Output[Optional[str]]:
|
|
854
|
+
"""
|
|
855
|
+
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.
|
|
856
|
+
"""
|
|
857
|
+
return pulumi.get(self, "network_policy")
|
|
858
|
+
|
|
859
|
+
@property
|
|
860
|
+
@pulumi.getter(name="oauthAllowNonTlsRedirectUri")
|
|
861
|
+
def oauth_allow_non_tls_redirect_uri(self) -> pulumi.Output[Optional[str]]:
|
|
862
|
+
"""
|
|
863
|
+
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.
|
|
864
|
+
"""
|
|
865
|
+
return pulumi.get(self, "oauth_allow_non_tls_redirect_uri")
|
|
866
|
+
|
|
867
|
+
@property
|
|
868
|
+
@pulumi.getter(name="oauthClientRsaPublicKey")
|
|
869
|
+
def oauth_client_rsa_public_key(self) -> pulumi.Output[Optional[str]]:
|
|
870
|
+
return pulumi.get(self, "oauth_client_rsa_public_key")
|
|
871
|
+
|
|
872
|
+
@property
|
|
873
|
+
@pulumi.getter(name="oauthClientRsaPublicKey2")
|
|
874
|
+
def oauth_client_rsa_public_key2(self) -> pulumi.Output[Optional[str]]:
|
|
875
|
+
return pulumi.get(self, "oauth_client_rsa_public_key2")
|
|
876
|
+
|
|
877
|
+
@property
|
|
878
|
+
@pulumi.getter(name="oauthClientType")
|
|
879
|
+
def oauth_client_type(self) -> pulumi.Output[str]:
|
|
880
|
+
"""
|
|
881
|
+
Specifies the type of client being registered. Snowflake supports both confidential and public clients. Valid options are: `PUBLIC` | `CONFIDENTIAL`.
|
|
882
|
+
"""
|
|
883
|
+
return pulumi.get(self, "oauth_client_type")
|
|
884
|
+
|
|
885
|
+
@property
|
|
886
|
+
@pulumi.getter(name="oauthEnforcePkce")
|
|
887
|
+
def oauth_enforce_pkce(self) -> pulumi.Output[Optional[str]]:
|
|
888
|
+
"""
|
|
889
|
+
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.
|
|
890
|
+
"""
|
|
891
|
+
return pulumi.get(self, "oauth_enforce_pkce")
|
|
892
|
+
|
|
893
|
+
@property
|
|
894
|
+
@pulumi.getter(name="oauthIssueRefreshTokens")
|
|
895
|
+
def oauth_issue_refresh_tokens(self) -> pulumi.Output[Optional[str]]:
|
|
896
|
+
"""
|
|
897
|
+
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.
|
|
898
|
+
"""
|
|
899
|
+
return pulumi.get(self, "oauth_issue_refresh_tokens")
|
|
900
|
+
|
|
901
|
+
@property
|
|
902
|
+
@pulumi.getter(name="oauthRedirectUri")
|
|
903
|
+
def oauth_redirect_uri(self) -> pulumi.Output[str]:
|
|
904
|
+
"""
|
|
905
|
+
Specifies the client URI. After a user is authenticated, the web browser is redirected to this URI.
|
|
906
|
+
"""
|
|
907
|
+
return pulumi.get(self, "oauth_redirect_uri")
|
|
908
|
+
|
|
909
|
+
@property
|
|
910
|
+
@pulumi.getter(name="oauthRefreshTokenValidity")
|
|
911
|
+
def oauth_refresh_token_validity(self) -> pulumi.Output[Optional[int]]:
|
|
912
|
+
"""
|
|
913
|
+
Specifies how long refresh tokens should be valid (in seconds). OAUTH*ISSUE*REFRESH_TOKENS must be set to TRUE.
|
|
914
|
+
"""
|
|
915
|
+
return pulumi.get(self, "oauth_refresh_token_validity")
|
|
916
|
+
|
|
917
|
+
@property
|
|
918
|
+
@pulumi.getter(name="oauthUseSecondaryRoles")
|
|
919
|
+
def oauth_use_secondary_roles(self) -> pulumi.Output[Optional[str]]:
|
|
920
|
+
"""
|
|
921
|
+
Specifies whether default secondary roles set in the user properties are activated by default in the session being opened. Valid options are: `IMPLICIT` | `NONE`.
|
|
922
|
+
"""
|
|
923
|
+
return pulumi.get(self, "oauth_use_secondary_roles")
|
|
924
|
+
|
|
925
|
+
@property
|
|
926
|
+
@pulumi.getter(name="preAuthorizedRolesLists")
|
|
927
|
+
def pre_authorized_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
928
|
+
"""
|
|
929
|
+
A set of Snowflake roles that a user does not need to explicitly consent to using after authenticating.
|
|
930
|
+
"""
|
|
931
|
+
return pulumi.get(self, "pre_authorized_roles_lists")
|
|
932
|
+
|
|
933
|
+
@property
|
|
934
|
+
@pulumi.getter(name="showOutputs")
|
|
935
|
+
def show_outputs(self) -> pulumi.Output[Sequence['outputs.OauthIntegrationForCustomClientsShowOutput']]:
|
|
936
|
+
"""
|
|
937
|
+
Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
938
|
+
"""
|
|
939
|
+
return pulumi.get(self, "show_outputs")
|
|
940
|
+
|