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.
- pulumi_snowflake/__init__.py +66 -217
- pulumi_snowflake/_inputs.py +10145 -1557
- pulumi_snowflake/_utilities.py +3 -4
- pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +688 -0
- pulumi_snowflake/api_authentication_integration_with_client_credentials.py +641 -0
- pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +676 -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_security_integrations.py +122 -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/oauth_integration.py +4 -0
- pulumi_snowflake/oauth_integration_for_custom_clients.py +936 -0
- pulumi_snowflake/oauth_integration_for_partner_applications.py +580 -0
- pulumi_snowflake/outputs.py +12987 -2857
- pulumi_snowflake/pulumi-plugin.json +1 -1
- pulumi_snowflake/saml2_integration.py +971 -0
- pulumi_snowflake/saml_integration.py +4 -0
- pulumi_snowflake/scim_integration.py +255 -105
- pulumi_snowflake/secondary_database.py +1059 -0
- pulumi_snowflake/sequence.py +6 -6
- pulumi_snowflake/shared_database.py +914 -0
- pulumi_snowflake/tag_association.py +38 -38
- pulumi_snowflake/user_password_policy_attachment.py +32 -0
- pulumi_snowflake/warehouse.py +143 -120
- {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/METADATA +1 -1
- {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/RECORD +35 -50
- {pulumi_snowflake-0.56.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.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.0a1721200104.dist-info → pulumi_snowflake-0.56.0a1721667766.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,971 @@
|
|
|
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__ = ['Saml2IntegrationArgs', 'Saml2Integration']
|
|
15
|
+
|
|
16
|
+
@pulumi.input_type
|
|
17
|
+
class Saml2IntegrationArgs:
|
|
18
|
+
def __init__(__self__, *,
|
|
19
|
+
saml2_issuer: pulumi.Input[str],
|
|
20
|
+
saml2_provider: pulumi.Input[str],
|
|
21
|
+
saml2_sso_url: pulumi.Input[str],
|
|
22
|
+
saml2_x509_cert: pulumi.Input[str],
|
|
23
|
+
allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
24
|
+
allowed_user_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
25
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
26
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
27
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
28
|
+
saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
|
|
29
|
+
saml2_force_authn: Optional[pulumi.Input[str]] = None,
|
|
30
|
+
saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
|
|
31
|
+
saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
|
|
32
|
+
saml2_sign_request: Optional[pulumi.Input[str]] = None,
|
|
33
|
+
saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
|
|
34
|
+
saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
|
|
35
|
+
saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None):
|
|
36
|
+
"""
|
|
37
|
+
The set of arguments for constructing a Saml2Integration resource.
|
|
38
|
+
:param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
|
|
39
|
+
:param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
40
|
+
:param pulumi.Input[str] saml2_sso_url: The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
41
|
+
:param pulumi.Input[str] saml2_x509_cert: The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
42
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_email_patterns: A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
43
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_user_domains: A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
44
|
+
:param pulumi.Input[str] comment: Specifies a comment for the integration.
|
|
45
|
+
:param pulumi.Input[str] enabled: Specifies whether this security 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.
|
|
46
|
+
:param pulumi.Input[str] name: Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
47
|
+
:param pulumi.Input[str] saml2_enable_sp_initiated: The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
48
|
+
:param pulumi.Input[str] saml2_force_authn: The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
49
|
+
:param pulumi.Input[str] saml2_post_logout_redirect_url: The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
50
|
+
:param pulumi.Input[str] saml2_requested_nameid_format: The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
51
|
+
:param pulumi.Input[str] saml2_sign_request: The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
52
|
+
:param pulumi.Input[str] saml2_snowflake_acs_url: The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
53
|
+
:param pulumi.Input[str] saml2_snowflake_issuer_url: The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
54
|
+
:param pulumi.Input[str] saml2_sp_initiated_login_page_label: The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
55
|
+
"""
|
|
56
|
+
pulumi.set(__self__, "saml2_issuer", saml2_issuer)
|
|
57
|
+
pulumi.set(__self__, "saml2_provider", saml2_provider)
|
|
58
|
+
pulumi.set(__self__, "saml2_sso_url", saml2_sso_url)
|
|
59
|
+
pulumi.set(__self__, "saml2_x509_cert", saml2_x509_cert)
|
|
60
|
+
if allowed_email_patterns is not None:
|
|
61
|
+
pulumi.set(__self__, "allowed_email_patterns", allowed_email_patterns)
|
|
62
|
+
if allowed_user_domains is not None:
|
|
63
|
+
pulumi.set(__self__, "allowed_user_domains", allowed_user_domains)
|
|
64
|
+
if comment is not None:
|
|
65
|
+
pulumi.set(__self__, "comment", comment)
|
|
66
|
+
if enabled is not None:
|
|
67
|
+
pulumi.set(__self__, "enabled", enabled)
|
|
68
|
+
if name is not None:
|
|
69
|
+
pulumi.set(__self__, "name", name)
|
|
70
|
+
if saml2_enable_sp_initiated is not None:
|
|
71
|
+
pulumi.set(__self__, "saml2_enable_sp_initiated", saml2_enable_sp_initiated)
|
|
72
|
+
if saml2_force_authn is not None:
|
|
73
|
+
pulumi.set(__self__, "saml2_force_authn", saml2_force_authn)
|
|
74
|
+
if saml2_post_logout_redirect_url is not None:
|
|
75
|
+
pulumi.set(__self__, "saml2_post_logout_redirect_url", saml2_post_logout_redirect_url)
|
|
76
|
+
if saml2_requested_nameid_format is not None:
|
|
77
|
+
pulumi.set(__self__, "saml2_requested_nameid_format", saml2_requested_nameid_format)
|
|
78
|
+
if saml2_sign_request is not None:
|
|
79
|
+
pulumi.set(__self__, "saml2_sign_request", saml2_sign_request)
|
|
80
|
+
if saml2_snowflake_acs_url is not None:
|
|
81
|
+
pulumi.set(__self__, "saml2_snowflake_acs_url", saml2_snowflake_acs_url)
|
|
82
|
+
if saml2_snowflake_issuer_url is not None:
|
|
83
|
+
pulumi.set(__self__, "saml2_snowflake_issuer_url", saml2_snowflake_issuer_url)
|
|
84
|
+
if saml2_sp_initiated_login_page_label is not None:
|
|
85
|
+
pulumi.set(__self__, "saml2_sp_initiated_login_page_label", saml2_sp_initiated_login_page_label)
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
@pulumi.getter(name="saml2Issuer")
|
|
89
|
+
def saml2_issuer(self) -> pulumi.Input[str]:
|
|
90
|
+
"""
|
|
91
|
+
The string containing the IdP EntityID / Issuer.
|
|
92
|
+
"""
|
|
93
|
+
return pulumi.get(self, "saml2_issuer")
|
|
94
|
+
|
|
95
|
+
@saml2_issuer.setter
|
|
96
|
+
def saml2_issuer(self, value: pulumi.Input[str]):
|
|
97
|
+
pulumi.set(self, "saml2_issuer", value)
|
|
98
|
+
|
|
99
|
+
@property
|
|
100
|
+
@pulumi.getter(name="saml2Provider")
|
|
101
|
+
def saml2_provider(self) -> pulumi.Input[str]:
|
|
102
|
+
"""
|
|
103
|
+
The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
104
|
+
"""
|
|
105
|
+
return pulumi.get(self, "saml2_provider")
|
|
106
|
+
|
|
107
|
+
@saml2_provider.setter
|
|
108
|
+
def saml2_provider(self, value: pulumi.Input[str]):
|
|
109
|
+
pulumi.set(self, "saml2_provider", value)
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
@pulumi.getter(name="saml2SsoUrl")
|
|
113
|
+
def saml2_sso_url(self) -> pulumi.Input[str]:
|
|
114
|
+
"""
|
|
115
|
+
The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
116
|
+
"""
|
|
117
|
+
return pulumi.get(self, "saml2_sso_url")
|
|
118
|
+
|
|
119
|
+
@saml2_sso_url.setter
|
|
120
|
+
def saml2_sso_url(self, value: pulumi.Input[str]):
|
|
121
|
+
pulumi.set(self, "saml2_sso_url", value)
|
|
122
|
+
|
|
123
|
+
@property
|
|
124
|
+
@pulumi.getter(name="saml2X509Cert")
|
|
125
|
+
def saml2_x509_cert(self) -> pulumi.Input[str]:
|
|
126
|
+
"""
|
|
127
|
+
The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
128
|
+
"""
|
|
129
|
+
return pulumi.get(self, "saml2_x509_cert")
|
|
130
|
+
|
|
131
|
+
@saml2_x509_cert.setter
|
|
132
|
+
def saml2_x509_cert(self, value: pulumi.Input[str]):
|
|
133
|
+
pulumi.set(self, "saml2_x509_cert", value)
|
|
134
|
+
|
|
135
|
+
@property
|
|
136
|
+
@pulumi.getter(name="allowedEmailPatterns")
|
|
137
|
+
def allowed_email_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
138
|
+
"""
|
|
139
|
+
A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
140
|
+
"""
|
|
141
|
+
return pulumi.get(self, "allowed_email_patterns")
|
|
142
|
+
|
|
143
|
+
@allowed_email_patterns.setter
|
|
144
|
+
def allowed_email_patterns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
145
|
+
pulumi.set(self, "allowed_email_patterns", value)
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
@pulumi.getter(name="allowedUserDomains")
|
|
149
|
+
def allowed_user_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
150
|
+
"""
|
|
151
|
+
A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
152
|
+
"""
|
|
153
|
+
return pulumi.get(self, "allowed_user_domains")
|
|
154
|
+
|
|
155
|
+
@allowed_user_domains.setter
|
|
156
|
+
def allowed_user_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
157
|
+
pulumi.set(self, "allowed_user_domains", value)
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
@pulumi.getter
|
|
161
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
162
|
+
"""
|
|
163
|
+
Specifies a comment for the integration.
|
|
164
|
+
"""
|
|
165
|
+
return pulumi.get(self, "comment")
|
|
166
|
+
|
|
167
|
+
@comment.setter
|
|
168
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
169
|
+
pulumi.set(self, "comment", value)
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
@pulumi.getter
|
|
173
|
+
def enabled(self) -> Optional[pulumi.Input[str]]:
|
|
174
|
+
"""
|
|
175
|
+
Specifies whether this security 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.
|
|
176
|
+
"""
|
|
177
|
+
return pulumi.get(self, "enabled")
|
|
178
|
+
|
|
179
|
+
@enabled.setter
|
|
180
|
+
def enabled(self, value: Optional[pulumi.Input[str]]):
|
|
181
|
+
pulumi.set(self, "enabled", value)
|
|
182
|
+
|
|
183
|
+
@property
|
|
184
|
+
@pulumi.getter
|
|
185
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
186
|
+
"""
|
|
187
|
+
Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
188
|
+
"""
|
|
189
|
+
return pulumi.get(self, "name")
|
|
190
|
+
|
|
191
|
+
@name.setter
|
|
192
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
193
|
+
pulumi.set(self, "name", value)
|
|
194
|
+
|
|
195
|
+
@property
|
|
196
|
+
@pulumi.getter(name="saml2EnableSpInitiated")
|
|
197
|
+
def saml2_enable_sp_initiated(self) -> Optional[pulumi.Input[str]]:
|
|
198
|
+
"""
|
|
199
|
+
The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
200
|
+
"""
|
|
201
|
+
return pulumi.get(self, "saml2_enable_sp_initiated")
|
|
202
|
+
|
|
203
|
+
@saml2_enable_sp_initiated.setter
|
|
204
|
+
def saml2_enable_sp_initiated(self, value: Optional[pulumi.Input[str]]):
|
|
205
|
+
pulumi.set(self, "saml2_enable_sp_initiated", value)
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
@pulumi.getter(name="saml2ForceAuthn")
|
|
209
|
+
def saml2_force_authn(self) -> Optional[pulumi.Input[str]]:
|
|
210
|
+
"""
|
|
211
|
+
The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
212
|
+
"""
|
|
213
|
+
return pulumi.get(self, "saml2_force_authn")
|
|
214
|
+
|
|
215
|
+
@saml2_force_authn.setter
|
|
216
|
+
def saml2_force_authn(self, value: Optional[pulumi.Input[str]]):
|
|
217
|
+
pulumi.set(self, "saml2_force_authn", value)
|
|
218
|
+
|
|
219
|
+
@property
|
|
220
|
+
@pulumi.getter(name="saml2PostLogoutRedirectUrl")
|
|
221
|
+
def saml2_post_logout_redirect_url(self) -> Optional[pulumi.Input[str]]:
|
|
222
|
+
"""
|
|
223
|
+
The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
224
|
+
"""
|
|
225
|
+
return pulumi.get(self, "saml2_post_logout_redirect_url")
|
|
226
|
+
|
|
227
|
+
@saml2_post_logout_redirect_url.setter
|
|
228
|
+
def saml2_post_logout_redirect_url(self, value: Optional[pulumi.Input[str]]):
|
|
229
|
+
pulumi.set(self, "saml2_post_logout_redirect_url", value)
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
@pulumi.getter(name="saml2RequestedNameidFormat")
|
|
233
|
+
def saml2_requested_nameid_format(self) -> Optional[pulumi.Input[str]]:
|
|
234
|
+
"""
|
|
235
|
+
The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
236
|
+
"""
|
|
237
|
+
return pulumi.get(self, "saml2_requested_nameid_format")
|
|
238
|
+
|
|
239
|
+
@saml2_requested_nameid_format.setter
|
|
240
|
+
def saml2_requested_nameid_format(self, value: Optional[pulumi.Input[str]]):
|
|
241
|
+
pulumi.set(self, "saml2_requested_nameid_format", value)
|
|
242
|
+
|
|
243
|
+
@property
|
|
244
|
+
@pulumi.getter(name="saml2SignRequest")
|
|
245
|
+
def saml2_sign_request(self) -> Optional[pulumi.Input[str]]:
|
|
246
|
+
"""
|
|
247
|
+
The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
248
|
+
"""
|
|
249
|
+
return pulumi.get(self, "saml2_sign_request")
|
|
250
|
+
|
|
251
|
+
@saml2_sign_request.setter
|
|
252
|
+
def saml2_sign_request(self, value: Optional[pulumi.Input[str]]):
|
|
253
|
+
pulumi.set(self, "saml2_sign_request", value)
|
|
254
|
+
|
|
255
|
+
@property
|
|
256
|
+
@pulumi.getter(name="saml2SnowflakeAcsUrl")
|
|
257
|
+
def saml2_snowflake_acs_url(self) -> Optional[pulumi.Input[str]]:
|
|
258
|
+
"""
|
|
259
|
+
The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
260
|
+
"""
|
|
261
|
+
return pulumi.get(self, "saml2_snowflake_acs_url")
|
|
262
|
+
|
|
263
|
+
@saml2_snowflake_acs_url.setter
|
|
264
|
+
def saml2_snowflake_acs_url(self, value: Optional[pulumi.Input[str]]):
|
|
265
|
+
pulumi.set(self, "saml2_snowflake_acs_url", value)
|
|
266
|
+
|
|
267
|
+
@property
|
|
268
|
+
@pulumi.getter(name="saml2SnowflakeIssuerUrl")
|
|
269
|
+
def saml2_snowflake_issuer_url(self) -> Optional[pulumi.Input[str]]:
|
|
270
|
+
"""
|
|
271
|
+
The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
272
|
+
"""
|
|
273
|
+
return pulumi.get(self, "saml2_snowflake_issuer_url")
|
|
274
|
+
|
|
275
|
+
@saml2_snowflake_issuer_url.setter
|
|
276
|
+
def saml2_snowflake_issuer_url(self, value: Optional[pulumi.Input[str]]):
|
|
277
|
+
pulumi.set(self, "saml2_snowflake_issuer_url", value)
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
@pulumi.getter(name="saml2SpInitiatedLoginPageLabel")
|
|
281
|
+
def saml2_sp_initiated_login_page_label(self) -> Optional[pulumi.Input[str]]:
|
|
282
|
+
"""
|
|
283
|
+
The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
284
|
+
"""
|
|
285
|
+
return pulumi.get(self, "saml2_sp_initiated_login_page_label")
|
|
286
|
+
|
|
287
|
+
@saml2_sp_initiated_login_page_label.setter
|
|
288
|
+
def saml2_sp_initiated_login_page_label(self, value: Optional[pulumi.Input[str]]):
|
|
289
|
+
pulumi.set(self, "saml2_sp_initiated_login_page_label", value)
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
@pulumi.input_type
|
|
293
|
+
class _Saml2IntegrationState:
|
|
294
|
+
def __init__(__self__, *,
|
|
295
|
+
allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
296
|
+
allowed_user_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
297
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
298
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationDescribeOutputArgs']]]] = None,
|
|
299
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
300
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
301
|
+
saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
|
|
302
|
+
saml2_force_authn: Optional[pulumi.Input[str]] = None,
|
|
303
|
+
saml2_issuer: Optional[pulumi.Input[str]] = None,
|
|
304
|
+
saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
|
|
305
|
+
saml2_provider: Optional[pulumi.Input[str]] = None,
|
|
306
|
+
saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
|
|
307
|
+
saml2_sign_request: Optional[pulumi.Input[str]] = None,
|
|
308
|
+
saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
|
|
309
|
+
saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
|
|
310
|
+
saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
|
|
311
|
+
saml2_sso_url: Optional[pulumi.Input[str]] = None,
|
|
312
|
+
saml2_x509_cert: Optional[pulumi.Input[str]] = None,
|
|
313
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationShowOutputArgs']]]] = None):
|
|
314
|
+
"""
|
|
315
|
+
Input properties used for looking up and filtering Saml2Integration resources.
|
|
316
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_email_patterns: A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
317
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_user_domains: A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
318
|
+
:param pulumi.Input[str] comment: Specifies a comment for the integration.
|
|
319
|
+
:param pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
320
|
+
:param pulumi.Input[str] enabled: Specifies whether this security 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.
|
|
321
|
+
:param pulumi.Input[str] name: Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
322
|
+
:param pulumi.Input[str] saml2_enable_sp_initiated: The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
323
|
+
:param pulumi.Input[str] saml2_force_authn: The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
324
|
+
:param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
|
|
325
|
+
:param pulumi.Input[str] saml2_post_logout_redirect_url: The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
326
|
+
:param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
327
|
+
:param pulumi.Input[str] saml2_requested_nameid_format: The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
328
|
+
:param pulumi.Input[str] saml2_sign_request: The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
329
|
+
:param pulumi.Input[str] saml2_snowflake_acs_url: The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
330
|
+
:param pulumi.Input[str] saml2_snowflake_issuer_url: The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
331
|
+
:param pulumi.Input[str] saml2_sp_initiated_login_page_label: The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
332
|
+
:param pulumi.Input[str] saml2_sso_url: The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
333
|
+
:param pulumi.Input[str] saml2_x509_cert: The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
334
|
+
:param pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
335
|
+
"""
|
|
336
|
+
if allowed_email_patterns is not None:
|
|
337
|
+
pulumi.set(__self__, "allowed_email_patterns", allowed_email_patterns)
|
|
338
|
+
if allowed_user_domains is not None:
|
|
339
|
+
pulumi.set(__self__, "allowed_user_domains", allowed_user_domains)
|
|
340
|
+
if comment is not None:
|
|
341
|
+
pulumi.set(__self__, "comment", comment)
|
|
342
|
+
if describe_outputs is not None:
|
|
343
|
+
pulumi.set(__self__, "describe_outputs", describe_outputs)
|
|
344
|
+
if enabled is not None:
|
|
345
|
+
pulumi.set(__self__, "enabled", enabled)
|
|
346
|
+
if name is not None:
|
|
347
|
+
pulumi.set(__self__, "name", name)
|
|
348
|
+
if saml2_enable_sp_initiated is not None:
|
|
349
|
+
pulumi.set(__self__, "saml2_enable_sp_initiated", saml2_enable_sp_initiated)
|
|
350
|
+
if saml2_force_authn is not None:
|
|
351
|
+
pulumi.set(__self__, "saml2_force_authn", saml2_force_authn)
|
|
352
|
+
if saml2_issuer is not None:
|
|
353
|
+
pulumi.set(__self__, "saml2_issuer", saml2_issuer)
|
|
354
|
+
if saml2_post_logout_redirect_url is not None:
|
|
355
|
+
pulumi.set(__self__, "saml2_post_logout_redirect_url", saml2_post_logout_redirect_url)
|
|
356
|
+
if saml2_provider is not None:
|
|
357
|
+
pulumi.set(__self__, "saml2_provider", saml2_provider)
|
|
358
|
+
if saml2_requested_nameid_format is not None:
|
|
359
|
+
pulumi.set(__self__, "saml2_requested_nameid_format", saml2_requested_nameid_format)
|
|
360
|
+
if saml2_sign_request is not None:
|
|
361
|
+
pulumi.set(__self__, "saml2_sign_request", saml2_sign_request)
|
|
362
|
+
if saml2_snowflake_acs_url is not None:
|
|
363
|
+
pulumi.set(__self__, "saml2_snowflake_acs_url", saml2_snowflake_acs_url)
|
|
364
|
+
if saml2_snowflake_issuer_url is not None:
|
|
365
|
+
pulumi.set(__self__, "saml2_snowflake_issuer_url", saml2_snowflake_issuer_url)
|
|
366
|
+
if saml2_sp_initiated_login_page_label is not None:
|
|
367
|
+
pulumi.set(__self__, "saml2_sp_initiated_login_page_label", saml2_sp_initiated_login_page_label)
|
|
368
|
+
if saml2_sso_url is not None:
|
|
369
|
+
pulumi.set(__self__, "saml2_sso_url", saml2_sso_url)
|
|
370
|
+
if saml2_x509_cert is not None:
|
|
371
|
+
pulumi.set(__self__, "saml2_x509_cert", saml2_x509_cert)
|
|
372
|
+
if show_outputs is not None:
|
|
373
|
+
pulumi.set(__self__, "show_outputs", show_outputs)
|
|
374
|
+
|
|
375
|
+
@property
|
|
376
|
+
@pulumi.getter(name="allowedEmailPatterns")
|
|
377
|
+
def allowed_email_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
378
|
+
"""
|
|
379
|
+
A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
380
|
+
"""
|
|
381
|
+
return pulumi.get(self, "allowed_email_patterns")
|
|
382
|
+
|
|
383
|
+
@allowed_email_patterns.setter
|
|
384
|
+
def allowed_email_patterns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
385
|
+
pulumi.set(self, "allowed_email_patterns", value)
|
|
386
|
+
|
|
387
|
+
@property
|
|
388
|
+
@pulumi.getter(name="allowedUserDomains")
|
|
389
|
+
def allowed_user_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
390
|
+
"""
|
|
391
|
+
A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
392
|
+
"""
|
|
393
|
+
return pulumi.get(self, "allowed_user_domains")
|
|
394
|
+
|
|
395
|
+
@allowed_user_domains.setter
|
|
396
|
+
def allowed_user_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
397
|
+
pulumi.set(self, "allowed_user_domains", value)
|
|
398
|
+
|
|
399
|
+
@property
|
|
400
|
+
@pulumi.getter
|
|
401
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
402
|
+
"""
|
|
403
|
+
Specifies a comment for the integration.
|
|
404
|
+
"""
|
|
405
|
+
return pulumi.get(self, "comment")
|
|
406
|
+
|
|
407
|
+
@comment.setter
|
|
408
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
409
|
+
pulumi.set(self, "comment", value)
|
|
410
|
+
|
|
411
|
+
@property
|
|
412
|
+
@pulumi.getter(name="describeOutputs")
|
|
413
|
+
def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationDescribeOutputArgs']]]]:
|
|
414
|
+
"""
|
|
415
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
416
|
+
"""
|
|
417
|
+
return pulumi.get(self, "describe_outputs")
|
|
418
|
+
|
|
419
|
+
@describe_outputs.setter
|
|
420
|
+
def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationDescribeOutputArgs']]]]):
|
|
421
|
+
pulumi.set(self, "describe_outputs", value)
|
|
422
|
+
|
|
423
|
+
@property
|
|
424
|
+
@pulumi.getter
|
|
425
|
+
def enabled(self) -> Optional[pulumi.Input[str]]:
|
|
426
|
+
"""
|
|
427
|
+
Specifies whether this security 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.
|
|
428
|
+
"""
|
|
429
|
+
return pulumi.get(self, "enabled")
|
|
430
|
+
|
|
431
|
+
@enabled.setter
|
|
432
|
+
def enabled(self, value: Optional[pulumi.Input[str]]):
|
|
433
|
+
pulumi.set(self, "enabled", value)
|
|
434
|
+
|
|
435
|
+
@property
|
|
436
|
+
@pulumi.getter
|
|
437
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
438
|
+
"""
|
|
439
|
+
Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
440
|
+
"""
|
|
441
|
+
return pulumi.get(self, "name")
|
|
442
|
+
|
|
443
|
+
@name.setter
|
|
444
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
445
|
+
pulumi.set(self, "name", value)
|
|
446
|
+
|
|
447
|
+
@property
|
|
448
|
+
@pulumi.getter(name="saml2EnableSpInitiated")
|
|
449
|
+
def saml2_enable_sp_initiated(self) -> Optional[pulumi.Input[str]]:
|
|
450
|
+
"""
|
|
451
|
+
The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
452
|
+
"""
|
|
453
|
+
return pulumi.get(self, "saml2_enable_sp_initiated")
|
|
454
|
+
|
|
455
|
+
@saml2_enable_sp_initiated.setter
|
|
456
|
+
def saml2_enable_sp_initiated(self, value: Optional[pulumi.Input[str]]):
|
|
457
|
+
pulumi.set(self, "saml2_enable_sp_initiated", value)
|
|
458
|
+
|
|
459
|
+
@property
|
|
460
|
+
@pulumi.getter(name="saml2ForceAuthn")
|
|
461
|
+
def saml2_force_authn(self) -> Optional[pulumi.Input[str]]:
|
|
462
|
+
"""
|
|
463
|
+
The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
464
|
+
"""
|
|
465
|
+
return pulumi.get(self, "saml2_force_authn")
|
|
466
|
+
|
|
467
|
+
@saml2_force_authn.setter
|
|
468
|
+
def saml2_force_authn(self, value: Optional[pulumi.Input[str]]):
|
|
469
|
+
pulumi.set(self, "saml2_force_authn", value)
|
|
470
|
+
|
|
471
|
+
@property
|
|
472
|
+
@pulumi.getter(name="saml2Issuer")
|
|
473
|
+
def saml2_issuer(self) -> Optional[pulumi.Input[str]]:
|
|
474
|
+
"""
|
|
475
|
+
The string containing the IdP EntityID / Issuer.
|
|
476
|
+
"""
|
|
477
|
+
return pulumi.get(self, "saml2_issuer")
|
|
478
|
+
|
|
479
|
+
@saml2_issuer.setter
|
|
480
|
+
def saml2_issuer(self, value: Optional[pulumi.Input[str]]):
|
|
481
|
+
pulumi.set(self, "saml2_issuer", value)
|
|
482
|
+
|
|
483
|
+
@property
|
|
484
|
+
@pulumi.getter(name="saml2PostLogoutRedirectUrl")
|
|
485
|
+
def saml2_post_logout_redirect_url(self) -> Optional[pulumi.Input[str]]:
|
|
486
|
+
"""
|
|
487
|
+
The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
488
|
+
"""
|
|
489
|
+
return pulumi.get(self, "saml2_post_logout_redirect_url")
|
|
490
|
+
|
|
491
|
+
@saml2_post_logout_redirect_url.setter
|
|
492
|
+
def saml2_post_logout_redirect_url(self, value: Optional[pulumi.Input[str]]):
|
|
493
|
+
pulumi.set(self, "saml2_post_logout_redirect_url", value)
|
|
494
|
+
|
|
495
|
+
@property
|
|
496
|
+
@pulumi.getter(name="saml2Provider")
|
|
497
|
+
def saml2_provider(self) -> Optional[pulumi.Input[str]]:
|
|
498
|
+
"""
|
|
499
|
+
The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
500
|
+
"""
|
|
501
|
+
return pulumi.get(self, "saml2_provider")
|
|
502
|
+
|
|
503
|
+
@saml2_provider.setter
|
|
504
|
+
def saml2_provider(self, value: Optional[pulumi.Input[str]]):
|
|
505
|
+
pulumi.set(self, "saml2_provider", value)
|
|
506
|
+
|
|
507
|
+
@property
|
|
508
|
+
@pulumi.getter(name="saml2RequestedNameidFormat")
|
|
509
|
+
def saml2_requested_nameid_format(self) -> Optional[pulumi.Input[str]]:
|
|
510
|
+
"""
|
|
511
|
+
The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
512
|
+
"""
|
|
513
|
+
return pulumi.get(self, "saml2_requested_nameid_format")
|
|
514
|
+
|
|
515
|
+
@saml2_requested_nameid_format.setter
|
|
516
|
+
def saml2_requested_nameid_format(self, value: Optional[pulumi.Input[str]]):
|
|
517
|
+
pulumi.set(self, "saml2_requested_nameid_format", value)
|
|
518
|
+
|
|
519
|
+
@property
|
|
520
|
+
@pulumi.getter(name="saml2SignRequest")
|
|
521
|
+
def saml2_sign_request(self) -> Optional[pulumi.Input[str]]:
|
|
522
|
+
"""
|
|
523
|
+
The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
524
|
+
"""
|
|
525
|
+
return pulumi.get(self, "saml2_sign_request")
|
|
526
|
+
|
|
527
|
+
@saml2_sign_request.setter
|
|
528
|
+
def saml2_sign_request(self, value: Optional[pulumi.Input[str]]):
|
|
529
|
+
pulumi.set(self, "saml2_sign_request", value)
|
|
530
|
+
|
|
531
|
+
@property
|
|
532
|
+
@pulumi.getter(name="saml2SnowflakeAcsUrl")
|
|
533
|
+
def saml2_snowflake_acs_url(self) -> Optional[pulumi.Input[str]]:
|
|
534
|
+
"""
|
|
535
|
+
The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
536
|
+
"""
|
|
537
|
+
return pulumi.get(self, "saml2_snowflake_acs_url")
|
|
538
|
+
|
|
539
|
+
@saml2_snowflake_acs_url.setter
|
|
540
|
+
def saml2_snowflake_acs_url(self, value: Optional[pulumi.Input[str]]):
|
|
541
|
+
pulumi.set(self, "saml2_snowflake_acs_url", value)
|
|
542
|
+
|
|
543
|
+
@property
|
|
544
|
+
@pulumi.getter(name="saml2SnowflakeIssuerUrl")
|
|
545
|
+
def saml2_snowflake_issuer_url(self) -> Optional[pulumi.Input[str]]:
|
|
546
|
+
"""
|
|
547
|
+
The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
548
|
+
"""
|
|
549
|
+
return pulumi.get(self, "saml2_snowflake_issuer_url")
|
|
550
|
+
|
|
551
|
+
@saml2_snowflake_issuer_url.setter
|
|
552
|
+
def saml2_snowflake_issuer_url(self, value: Optional[pulumi.Input[str]]):
|
|
553
|
+
pulumi.set(self, "saml2_snowflake_issuer_url", value)
|
|
554
|
+
|
|
555
|
+
@property
|
|
556
|
+
@pulumi.getter(name="saml2SpInitiatedLoginPageLabel")
|
|
557
|
+
def saml2_sp_initiated_login_page_label(self) -> Optional[pulumi.Input[str]]:
|
|
558
|
+
"""
|
|
559
|
+
The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
560
|
+
"""
|
|
561
|
+
return pulumi.get(self, "saml2_sp_initiated_login_page_label")
|
|
562
|
+
|
|
563
|
+
@saml2_sp_initiated_login_page_label.setter
|
|
564
|
+
def saml2_sp_initiated_login_page_label(self, value: Optional[pulumi.Input[str]]):
|
|
565
|
+
pulumi.set(self, "saml2_sp_initiated_login_page_label", value)
|
|
566
|
+
|
|
567
|
+
@property
|
|
568
|
+
@pulumi.getter(name="saml2SsoUrl")
|
|
569
|
+
def saml2_sso_url(self) -> Optional[pulumi.Input[str]]:
|
|
570
|
+
"""
|
|
571
|
+
The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
572
|
+
"""
|
|
573
|
+
return pulumi.get(self, "saml2_sso_url")
|
|
574
|
+
|
|
575
|
+
@saml2_sso_url.setter
|
|
576
|
+
def saml2_sso_url(self, value: Optional[pulumi.Input[str]]):
|
|
577
|
+
pulumi.set(self, "saml2_sso_url", value)
|
|
578
|
+
|
|
579
|
+
@property
|
|
580
|
+
@pulumi.getter(name="saml2X509Cert")
|
|
581
|
+
def saml2_x509_cert(self) -> Optional[pulumi.Input[str]]:
|
|
582
|
+
"""
|
|
583
|
+
The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
584
|
+
"""
|
|
585
|
+
return pulumi.get(self, "saml2_x509_cert")
|
|
586
|
+
|
|
587
|
+
@saml2_x509_cert.setter
|
|
588
|
+
def saml2_x509_cert(self, value: Optional[pulumi.Input[str]]):
|
|
589
|
+
pulumi.set(self, "saml2_x509_cert", value)
|
|
590
|
+
|
|
591
|
+
@property
|
|
592
|
+
@pulumi.getter(name="showOutputs")
|
|
593
|
+
def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationShowOutputArgs']]]]:
|
|
594
|
+
"""
|
|
595
|
+
Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
596
|
+
"""
|
|
597
|
+
return pulumi.get(self, "show_outputs")
|
|
598
|
+
|
|
599
|
+
@show_outputs.setter
|
|
600
|
+
def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Saml2IntegrationShowOutputArgs']]]]):
|
|
601
|
+
pulumi.set(self, "show_outputs", value)
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
class Saml2Integration(pulumi.CustomResource):
|
|
605
|
+
@overload
|
|
606
|
+
def __init__(__self__,
|
|
607
|
+
resource_name: str,
|
|
608
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
609
|
+
allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
610
|
+
allowed_user_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
611
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
612
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
613
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
614
|
+
saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
|
|
615
|
+
saml2_force_authn: Optional[pulumi.Input[str]] = None,
|
|
616
|
+
saml2_issuer: Optional[pulumi.Input[str]] = None,
|
|
617
|
+
saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
|
|
618
|
+
saml2_provider: Optional[pulumi.Input[str]] = None,
|
|
619
|
+
saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
|
|
620
|
+
saml2_sign_request: Optional[pulumi.Input[str]] = None,
|
|
621
|
+
saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
|
|
622
|
+
saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
|
|
623
|
+
saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
|
|
624
|
+
saml2_sso_url: Optional[pulumi.Input[str]] = None,
|
|
625
|
+
saml2_x509_cert: Optional[pulumi.Input[str]] = None,
|
|
626
|
+
__props__=None):
|
|
627
|
+
"""
|
|
628
|
+
!> **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.
|
|
629
|
+
|
|
630
|
+
## Import
|
|
631
|
+
|
|
632
|
+
```sh
|
|
633
|
+
$ pulumi import snowflake:index/saml2Integration:Saml2Integration example "name"
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
:param str resource_name: The name of the resource.
|
|
637
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
638
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_email_patterns: A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
639
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_user_domains: A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
640
|
+
:param pulumi.Input[str] comment: Specifies a comment for the integration.
|
|
641
|
+
:param pulumi.Input[str] enabled: Specifies whether this security 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.
|
|
642
|
+
:param pulumi.Input[str] name: Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
643
|
+
:param pulumi.Input[str] saml2_enable_sp_initiated: The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
644
|
+
:param pulumi.Input[str] saml2_force_authn: The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
645
|
+
:param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
|
|
646
|
+
:param pulumi.Input[str] saml2_post_logout_redirect_url: The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
647
|
+
:param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
648
|
+
:param pulumi.Input[str] saml2_requested_nameid_format: The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
649
|
+
:param pulumi.Input[str] saml2_sign_request: The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
650
|
+
:param pulumi.Input[str] saml2_snowflake_acs_url: The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
651
|
+
:param pulumi.Input[str] saml2_snowflake_issuer_url: The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
652
|
+
:param pulumi.Input[str] saml2_sp_initiated_login_page_label: The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
653
|
+
:param pulumi.Input[str] saml2_sso_url: The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
654
|
+
:param pulumi.Input[str] saml2_x509_cert: The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
655
|
+
"""
|
|
656
|
+
...
|
|
657
|
+
@overload
|
|
658
|
+
def __init__(__self__,
|
|
659
|
+
resource_name: str,
|
|
660
|
+
args: Saml2IntegrationArgs,
|
|
661
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
662
|
+
"""
|
|
663
|
+
!> **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.
|
|
664
|
+
|
|
665
|
+
## Import
|
|
666
|
+
|
|
667
|
+
```sh
|
|
668
|
+
$ pulumi import snowflake:index/saml2Integration:Saml2Integration example "name"
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
:param str resource_name: The name of the resource.
|
|
672
|
+
:param Saml2IntegrationArgs args: The arguments to use to populate this resource's properties.
|
|
673
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
674
|
+
"""
|
|
675
|
+
...
|
|
676
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
677
|
+
resource_args, opts = _utilities.get_resource_args_opts(Saml2IntegrationArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
678
|
+
if resource_args is not None:
|
|
679
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
680
|
+
else:
|
|
681
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
682
|
+
|
|
683
|
+
def _internal_init(__self__,
|
|
684
|
+
resource_name: str,
|
|
685
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
686
|
+
allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
687
|
+
allowed_user_domains: 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
|
+
saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
|
|
692
|
+
saml2_force_authn: Optional[pulumi.Input[str]] = None,
|
|
693
|
+
saml2_issuer: Optional[pulumi.Input[str]] = None,
|
|
694
|
+
saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
|
|
695
|
+
saml2_provider: Optional[pulumi.Input[str]] = None,
|
|
696
|
+
saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
|
|
697
|
+
saml2_sign_request: Optional[pulumi.Input[str]] = None,
|
|
698
|
+
saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
|
|
699
|
+
saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
|
|
700
|
+
saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
|
|
701
|
+
saml2_sso_url: Optional[pulumi.Input[str]] = None,
|
|
702
|
+
saml2_x509_cert: Optional[pulumi.Input[str]] = None,
|
|
703
|
+
__props__=None):
|
|
704
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
705
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
706
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
707
|
+
if opts.id is None:
|
|
708
|
+
if __props__ is not None:
|
|
709
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
710
|
+
__props__ = Saml2IntegrationArgs.__new__(Saml2IntegrationArgs)
|
|
711
|
+
|
|
712
|
+
__props__.__dict__["allowed_email_patterns"] = allowed_email_patterns
|
|
713
|
+
__props__.__dict__["allowed_user_domains"] = allowed_user_domains
|
|
714
|
+
__props__.__dict__["comment"] = comment
|
|
715
|
+
__props__.__dict__["enabled"] = enabled
|
|
716
|
+
__props__.__dict__["name"] = name
|
|
717
|
+
__props__.__dict__["saml2_enable_sp_initiated"] = saml2_enable_sp_initiated
|
|
718
|
+
__props__.__dict__["saml2_force_authn"] = saml2_force_authn
|
|
719
|
+
if saml2_issuer is None and not opts.urn:
|
|
720
|
+
raise TypeError("Missing required property 'saml2_issuer'")
|
|
721
|
+
__props__.__dict__["saml2_issuer"] = saml2_issuer
|
|
722
|
+
__props__.__dict__["saml2_post_logout_redirect_url"] = saml2_post_logout_redirect_url
|
|
723
|
+
if saml2_provider is None and not opts.urn:
|
|
724
|
+
raise TypeError("Missing required property 'saml2_provider'")
|
|
725
|
+
__props__.__dict__["saml2_provider"] = saml2_provider
|
|
726
|
+
__props__.__dict__["saml2_requested_nameid_format"] = saml2_requested_nameid_format
|
|
727
|
+
__props__.__dict__["saml2_sign_request"] = saml2_sign_request
|
|
728
|
+
__props__.__dict__["saml2_snowflake_acs_url"] = saml2_snowflake_acs_url
|
|
729
|
+
__props__.__dict__["saml2_snowflake_issuer_url"] = saml2_snowflake_issuer_url
|
|
730
|
+
__props__.__dict__["saml2_sp_initiated_login_page_label"] = saml2_sp_initiated_login_page_label
|
|
731
|
+
if saml2_sso_url is None and not opts.urn:
|
|
732
|
+
raise TypeError("Missing required property 'saml2_sso_url'")
|
|
733
|
+
__props__.__dict__["saml2_sso_url"] = saml2_sso_url
|
|
734
|
+
if saml2_x509_cert is None and not opts.urn:
|
|
735
|
+
raise TypeError("Missing required property 'saml2_x509_cert'")
|
|
736
|
+
__props__.__dict__["saml2_x509_cert"] = saml2_x509_cert
|
|
737
|
+
__props__.__dict__["describe_outputs"] = None
|
|
738
|
+
__props__.__dict__["show_outputs"] = None
|
|
739
|
+
super(Saml2Integration, __self__).__init__(
|
|
740
|
+
'snowflake:index/saml2Integration:Saml2Integration',
|
|
741
|
+
resource_name,
|
|
742
|
+
__props__,
|
|
743
|
+
opts)
|
|
744
|
+
|
|
745
|
+
@staticmethod
|
|
746
|
+
def get(resource_name: str,
|
|
747
|
+
id: pulumi.Input[str],
|
|
748
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
749
|
+
allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
750
|
+
allowed_user_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
751
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
752
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationDescribeOutputArgs']]]]] = None,
|
|
753
|
+
enabled: Optional[pulumi.Input[str]] = None,
|
|
754
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
755
|
+
saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
|
|
756
|
+
saml2_force_authn: Optional[pulumi.Input[str]] = None,
|
|
757
|
+
saml2_issuer: Optional[pulumi.Input[str]] = None,
|
|
758
|
+
saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
|
|
759
|
+
saml2_provider: Optional[pulumi.Input[str]] = None,
|
|
760
|
+
saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
|
|
761
|
+
saml2_sign_request: Optional[pulumi.Input[str]] = None,
|
|
762
|
+
saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
|
|
763
|
+
saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
|
|
764
|
+
saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
|
|
765
|
+
saml2_sso_url: Optional[pulumi.Input[str]] = None,
|
|
766
|
+
saml2_x509_cert: Optional[pulumi.Input[str]] = None,
|
|
767
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationShowOutputArgs']]]]] = None) -> 'Saml2Integration':
|
|
768
|
+
"""
|
|
769
|
+
Get an existing Saml2Integration resource's state with the given name, id, and optional extra
|
|
770
|
+
properties used to qualify the lookup.
|
|
771
|
+
|
|
772
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
773
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
774
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
775
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_email_patterns: A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
776
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_user_domains: A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
777
|
+
:param pulumi.Input[str] comment: Specifies a comment for the integration.
|
|
778
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
779
|
+
:param pulumi.Input[str] enabled: Specifies whether this security 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.
|
|
780
|
+
:param pulumi.Input[str] name: Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
781
|
+
:param pulumi.Input[str] saml2_enable_sp_initiated: The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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] saml2_force_authn: The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
783
|
+
:param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
|
|
784
|
+
:param pulumi.Input[str] saml2_post_logout_redirect_url: The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
785
|
+
:param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
786
|
+
:param pulumi.Input[str] saml2_requested_nameid_format: The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
787
|
+
:param pulumi.Input[str] saml2_sign_request: The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
788
|
+
:param pulumi.Input[str] saml2_snowflake_acs_url: The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
789
|
+
:param pulumi.Input[str] saml2_snowflake_issuer_url: The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
790
|
+
:param pulumi.Input[str] saml2_sp_initiated_login_page_label: The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
791
|
+
:param pulumi.Input[str] saml2_sso_url: The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
792
|
+
:param pulumi.Input[str] saml2_x509_cert: The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
793
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
794
|
+
"""
|
|
795
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
796
|
+
|
|
797
|
+
__props__ = _Saml2IntegrationState.__new__(_Saml2IntegrationState)
|
|
798
|
+
|
|
799
|
+
__props__.__dict__["allowed_email_patterns"] = allowed_email_patterns
|
|
800
|
+
__props__.__dict__["allowed_user_domains"] = allowed_user_domains
|
|
801
|
+
__props__.__dict__["comment"] = comment
|
|
802
|
+
__props__.__dict__["describe_outputs"] = describe_outputs
|
|
803
|
+
__props__.__dict__["enabled"] = enabled
|
|
804
|
+
__props__.__dict__["name"] = name
|
|
805
|
+
__props__.__dict__["saml2_enable_sp_initiated"] = saml2_enable_sp_initiated
|
|
806
|
+
__props__.__dict__["saml2_force_authn"] = saml2_force_authn
|
|
807
|
+
__props__.__dict__["saml2_issuer"] = saml2_issuer
|
|
808
|
+
__props__.__dict__["saml2_post_logout_redirect_url"] = saml2_post_logout_redirect_url
|
|
809
|
+
__props__.__dict__["saml2_provider"] = saml2_provider
|
|
810
|
+
__props__.__dict__["saml2_requested_nameid_format"] = saml2_requested_nameid_format
|
|
811
|
+
__props__.__dict__["saml2_sign_request"] = saml2_sign_request
|
|
812
|
+
__props__.__dict__["saml2_snowflake_acs_url"] = saml2_snowflake_acs_url
|
|
813
|
+
__props__.__dict__["saml2_snowflake_issuer_url"] = saml2_snowflake_issuer_url
|
|
814
|
+
__props__.__dict__["saml2_sp_initiated_login_page_label"] = saml2_sp_initiated_login_page_label
|
|
815
|
+
__props__.__dict__["saml2_sso_url"] = saml2_sso_url
|
|
816
|
+
__props__.__dict__["saml2_x509_cert"] = saml2_x509_cert
|
|
817
|
+
__props__.__dict__["show_outputs"] = show_outputs
|
|
818
|
+
return Saml2Integration(resource_name, opts=opts, __props__=__props__)
|
|
819
|
+
|
|
820
|
+
@property
|
|
821
|
+
@pulumi.getter(name="allowedEmailPatterns")
|
|
822
|
+
def allowed_email_patterns(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
823
|
+
"""
|
|
824
|
+
A list of regular expressions that email addresses are matched against to authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
825
|
+
"""
|
|
826
|
+
return pulumi.get(self, "allowed_email_patterns")
|
|
827
|
+
|
|
828
|
+
@property
|
|
829
|
+
@pulumi.getter(name="allowedUserDomains")
|
|
830
|
+
def allowed_user_domains(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
831
|
+
"""
|
|
832
|
+
A list of email domains that can authenticate with a SAML2 security integration. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
833
|
+
"""
|
|
834
|
+
return pulumi.get(self, "allowed_user_domains")
|
|
835
|
+
|
|
836
|
+
@property
|
|
837
|
+
@pulumi.getter
|
|
838
|
+
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
839
|
+
"""
|
|
840
|
+
Specifies a comment for the integration.
|
|
841
|
+
"""
|
|
842
|
+
return pulumi.get(self, "comment")
|
|
843
|
+
|
|
844
|
+
@property
|
|
845
|
+
@pulumi.getter(name="describeOutputs")
|
|
846
|
+
def describe_outputs(self) -> pulumi.Output[Sequence['outputs.Saml2IntegrationDescribeOutput']]:
|
|
847
|
+
"""
|
|
848
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
|
|
849
|
+
"""
|
|
850
|
+
return pulumi.get(self, "describe_outputs")
|
|
851
|
+
|
|
852
|
+
@property
|
|
853
|
+
@pulumi.getter
|
|
854
|
+
def enabled(self) -> pulumi.Output[Optional[str]]:
|
|
855
|
+
"""
|
|
856
|
+
Specifies whether this security 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.
|
|
857
|
+
"""
|
|
858
|
+
return pulumi.get(self, "enabled")
|
|
859
|
+
|
|
860
|
+
@property
|
|
861
|
+
@pulumi.getter
|
|
862
|
+
def name(self) -> pulumi.Output[str]:
|
|
863
|
+
"""
|
|
864
|
+
Specifies the name of the SAML2 integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account.
|
|
865
|
+
"""
|
|
866
|
+
return pulumi.get(self, "name")
|
|
867
|
+
|
|
868
|
+
@property
|
|
869
|
+
@pulumi.getter(name="saml2EnableSpInitiated")
|
|
870
|
+
def saml2_enable_sp_initiated(self) -> pulumi.Output[Optional[str]]:
|
|
871
|
+
"""
|
|
872
|
+
The Boolean indicating if the Log In With button will be shown on the login page. TRUE: displays the Log in With button on the login page. FALSE: does not display the Log in With button on the login page. 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.
|
|
873
|
+
"""
|
|
874
|
+
return pulumi.get(self, "saml2_enable_sp_initiated")
|
|
875
|
+
|
|
876
|
+
@property
|
|
877
|
+
@pulumi.getter(name="saml2ForceAuthn")
|
|
878
|
+
def saml2_force_authn(self) -> pulumi.Output[Optional[str]]:
|
|
879
|
+
"""
|
|
880
|
+
The Boolean indicating whether users, during the initial authentication flow, are forced to authenticate again to access Snowflake. When set to TRUE, Snowflake sets the ForceAuthn SAML parameter to TRUE in the outgoing request from Snowflake to the identity provider. TRUE: forces users to authenticate again to access Snowflake, even if a valid session with the identity provider exists. FALSE: does not force users to authenticate again to access Snowflake. 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.
|
|
881
|
+
"""
|
|
882
|
+
return pulumi.get(self, "saml2_force_authn")
|
|
883
|
+
|
|
884
|
+
@property
|
|
885
|
+
@pulumi.getter(name="saml2Issuer")
|
|
886
|
+
def saml2_issuer(self) -> pulumi.Output[str]:
|
|
887
|
+
"""
|
|
888
|
+
The string containing the IdP EntityID / Issuer.
|
|
889
|
+
"""
|
|
890
|
+
return pulumi.get(self, "saml2_issuer")
|
|
891
|
+
|
|
892
|
+
@property
|
|
893
|
+
@pulumi.getter(name="saml2PostLogoutRedirectUrl")
|
|
894
|
+
def saml2_post_logout_redirect_url(self) -> pulumi.Output[Optional[str]]:
|
|
895
|
+
"""
|
|
896
|
+
The endpoint to which Snowflake redirects users after clicking the Log Out button in the classic Snowflake web interface. Snowflake terminates the Snowflake session upon redirecting to the specified endpoint.
|
|
897
|
+
"""
|
|
898
|
+
return pulumi.get(self, "saml2_post_logout_redirect_url")
|
|
899
|
+
|
|
900
|
+
@property
|
|
901
|
+
@pulumi.getter(name="saml2Provider")
|
|
902
|
+
def saml2_provider(self) -> pulumi.Output[str]:
|
|
903
|
+
"""
|
|
904
|
+
The string describing the IdP. Valid options are: [OKTA ADFS CUSTOM].
|
|
905
|
+
"""
|
|
906
|
+
return pulumi.get(self, "saml2_provider")
|
|
907
|
+
|
|
908
|
+
@property
|
|
909
|
+
@pulumi.getter(name="saml2RequestedNameidFormat")
|
|
910
|
+
def saml2_requested_nameid_format(self) -> pulumi.Output[Optional[str]]:
|
|
911
|
+
"""
|
|
912
|
+
The SAML NameID format allows Snowflake to set an expectation of the identifying attribute of the user (i.e. SAML Subject) in the SAML assertion from the IdP to ensure a valid authentication to Snowflake. Valid options are: [urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient]
|
|
913
|
+
"""
|
|
914
|
+
return pulumi.get(self, "saml2_requested_nameid_format")
|
|
915
|
+
|
|
916
|
+
@property
|
|
917
|
+
@pulumi.getter(name="saml2SignRequest")
|
|
918
|
+
def saml2_sign_request(self) -> pulumi.Output[Optional[str]]:
|
|
919
|
+
"""
|
|
920
|
+
The Boolean indicating whether SAML requests are signed. TRUE: allows SAML requests to be signed. FALSE: does not allow SAML requests to be signed. 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.
|
|
921
|
+
"""
|
|
922
|
+
return pulumi.get(self, "saml2_sign_request")
|
|
923
|
+
|
|
924
|
+
@property
|
|
925
|
+
@pulumi.getter(name="saml2SnowflakeAcsUrl")
|
|
926
|
+
def saml2_snowflake_acs_url(self) -> pulumi.Output[Optional[str]]:
|
|
927
|
+
"""
|
|
928
|
+
The string containing the Snowflake Assertion Consumer Service URL to which the IdP will send its SAML authentication response back to Snowflake. This property will be set in the SAML authentication request generated by Snowflake when initiating a SAML SSO operation with the IdP. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
929
|
+
"""
|
|
930
|
+
return pulumi.get(self, "saml2_snowflake_acs_url")
|
|
931
|
+
|
|
932
|
+
@property
|
|
933
|
+
@pulumi.getter(name="saml2SnowflakeIssuerUrl")
|
|
934
|
+
def saml2_snowflake_issuer_url(self) -> pulumi.Output[Optional[str]]:
|
|
935
|
+
"""
|
|
936
|
+
The string containing the EntityID / Issuer for the Snowflake service provider. If an incorrect value is specified, Snowflake returns an error message indicating the acceptable values to use.
|
|
937
|
+
"""
|
|
938
|
+
return pulumi.get(self, "saml2_snowflake_issuer_url")
|
|
939
|
+
|
|
940
|
+
@property
|
|
941
|
+
@pulumi.getter(name="saml2SpInitiatedLoginPageLabel")
|
|
942
|
+
def saml2_sp_initiated_login_page_label(self) -> pulumi.Output[Optional[str]]:
|
|
943
|
+
"""
|
|
944
|
+
The string containing the label to display after the Log In With button on the login page. If this field changes value from non-empty to empty, the whole resource is recreated because of Snowflake limitations.
|
|
945
|
+
"""
|
|
946
|
+
return pulumi.get(self, "saml2_sp_initiated_login_page_label")
|
|
947
|
+
|
|
948
|
+
@property
|
|
949
|
+
@pulumi.getter(name="saml2SsoUrl")
|
|
950
|
+
def saml2_sso_url(self) -> pulumi.Output[str]:
|
|
951
|
+
"""
|
|
952
|
+
The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
|
|
953
|
+
"""
|
|
954
|
+
return pulumi.get(self, "saml2_sso_url")
|
|
955
|
+
|
|
956
|
+
@property
|
|
957
|
+
@pulumi.getter(name="saml2X509Cert")
|
|
958
|
+
def saml2_x509_cert(self) -> pulumi.Output[str]:
|
|
959
|
+
"""
|
|
960
|
+
The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
|
|
961
|
+
"""
|
|
962
|
+
return pulumi.get(self, "saml2_x509_cert")
|
|
963
|
+
|
|
964
|
+
@property
|
|
965
|
+
@pulumi.getter(name="showOutputs")
|
|
966
|
+
def show_outputs(self) -> pulumi.Output[Sequence['outputs.Saml2IntegrationShowOutput']]:
|
|
967
|
+
"""
|
|
968
|
+
Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
|
|
969
|
+
"""
|
|
970
|
+
return pulumi.get(self, "show_outputs")
|
|
971
|
+
|