pulumi-snowflake 0.56.0a1721327760__py3-none-any.whl → 0.57.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. pulumi_snowflake/__init__.py +78 -209
  2. pulumi_snowflake/_inputs.py +12188 -1362
  3. pulumi_snowflake/_utilities.py +2 -0
  4. pulumi_snowflake/account_role.py +226 -0
  5. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +692 -0
  6. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +645 -0
  7. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +680 -0
  8. pulumi_snowflake/cortex_search_service.py +563 -0
  9. pulumi_snowflake/database.py +854 -232
  10. pulumi_snowflake/database_old.py +556 -0
  11. pulumi_snowflake/external_oauth_integration.py +562 -534
  12. pulumi_snowflake/failover_group.py +2 -2
  13. pulumi_snowflake/get_cortex_search_services.py +197 -0
  14. pulumi_snowflake/get_databases.py +71 -62
  15. pulumi_snowflake/get_network_policies.py +122 -0
  16. pulumi_snowflake/get_roles.py +37 -31
  17. pulumi_snowflake/get_schemas.py +115 -38
  18. pulumi_snowflake/get_security_integrations.py +122 -0
  19. pulumi_snowflake/get_streamlits.py +159 -0
  20. pulumi_snowflake/get_warehouses.py +66 -18
  21. pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
  22. pulumi_snowflake/managed_account.py +7 -7
  23. pulumi_snowflake/network_policy.py +103 -19
  24. pulumi_snowflake/oauth_integration.py +4 -0
  25. pulumi_snowflake/oauth_integration_for_custom_clients.py +940 -0
  26. pulumi_snowflake/oauth_integration_for_partner_applications.py +584 -0
  27. pulumi_snowflake/outputs.py +16178 -2927
  28. pulumi_snowflake/pulumi-plugin.json +1 -1
  29. pulumi_snowflake/role.py +44 -72
  30. pulumi_snowflake/saml2_integration.py +975 -0
  31. pulumi_snowflake/saml_integration.py +4 -0
  32. pulumi_snowflake/schema.py +905 -151
  33. pulumi_snowflake/scim_integration.py +257 -103
  34. pulumi_snowflake/secondary_database.py +1059 -0
  35. pulumi_snowflake/sequence.py +6 -6
  36. pulumi_snowflake/shared_database.py +914 -0
  37. pulumi_snowflake/streamlit.py +650 -0
  38. pulumi_snowflake/table.py +0 -120
  39. pulumi_snowflake/table_constraint.py +2 -2
  40. pulumi_snowflake/tag_association.py +38 -38
  41. pulumi_snowflake/unsafe_execute.py +8 -8
  42. pulumi_snowflake/user_password_policy_attachment.py +32 -0
  43. pulumi_snowflake/warehouse.py +143 -120
  44. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/METADATA +1 -1
  45. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/RECORD +47 -58
  46. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/WHEEL +1 -1
  47. pulumi_snowflake/account_grant.py +0 -319
  48. pulumi_snowflake/database_grant.py +0 -471
  49. pulumi_snowflake/external_table_grant.py +0 -666
  50. pulumi_snowflake/failover_group_grant.py +0 -368
  51. pulumi_snowflake/file_format_grant.py +0 -611
  52. pulumi_snowflake/function_grant.py +0 -721
  53. pulumi_snowflake/grant_privileges_to_role.py +0 -821
  54. pulumi_snowflake/integration_grant.py +0 -416
  55. pulumi_snowflake/masking_policy_grant.py +0 -518
  56. pulumi_snowflake/materialized_view_grant.py +0 -665
  57. pulumi_snowflake/pipe_grant.py +0 -563
  58. pulumi_snowflake/procedure_grant.py +0 -721
  59. pulumi_snowflake/resource_monitor_grant.py +0 -363
  60. pulumi_snowflake/role_grants.py +0 -340
  61. pulumi_snowflake/role_ownership_grant.py +0 -329
  62. pulumi_snowflake/row_access_policy_grant.py +0 -516
  63. pulumi_snowflake/schema_grant.py +0 -603
  64. pulumi_snowflake/sequence_grant.py +0 -611
  65. pulumi_snowflake/stage_grant.py +0 -611
  66. pulumi_snowflake/stream_grant.py +0 -611
  67. pulumi_snowflake/table_grant.py +0 -653
  68. pulumi_snowflake/tag_grant.py +0 -508
  69. pulumi_snowflake/task_grant.py +0 -611
  70. pulumi_snowflake/user_grant.py +0 -370
  71. pulumi_snowflake/user_ownership_grant.py +0 -275
  72. pulumi_snowflake/view_grant.py +0 -685
  73. pulumi_snowflake/warehouse_grant.py +0 -416
  74. {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,975 @@
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
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
+ Resource used to manage saml2 security integration objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-saml2).
631
+
632
+ ## Import
633
+
634
+ ```sh
635
+ $ pulumi import snowflake:index/saml2Integration:Saml2Integration example "name"
636
+ ```
637
+
638
+ :param str resource_name: The name of the resource.
639
+ :param pulumi.ResourceOptions opts: Options for the resource.
640
+ :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.
641
+ :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.
642
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
643
+ :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.
644
+ :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.
645
+ :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.
646
+ :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.
647
+ :param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
648
+ :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.
649
+ :param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: `OKTA` | `ADFS` | `CUSTOM`.
650
+ :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`.
651
+ :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.
652
+ :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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
653
+ :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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
654
+ :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.
655
+ :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.
656
+ :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.
657
+ """
658
+ ...
659
+ @overload
660
+ def __init__(__self__,
661
+ resource_name: str,
662
+ args: Saml2IntegrationArgs,
663
+ opts: Optional[pulumi.ResourceOptions] = None):
664
+ """
665
+ !> **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.
666
+
667
+ Resource used to manage saml2 security integration objects. For more information, check [security integrations documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-saml2).
668
+
669
+ ## Import
670
+
671
+ ```sh
672
+ $ pulumi import snowflake:index/saml2Integration:Saml2Integration example "name"
673
+ ```
674
+
675
+ :param str resource_name: The name of the resource.
676
+ :param Saml2IntegrationArgs args: The arguments to use to populate this resource's properties.
677
+ :param pulumi.ResourceOptions opts: Options for the resource.
678
+ """
679
+ ...
680
+ def __init__(__self__, resource_name: str, *args, **kwargs):
681
+ resource_args, opts = _utilities.get_resource_args_opts(Saml2IntegrationArgs, pulumi.ResourceOptions, *args, **kwargs)
682
+ if resource_args is not None:
683
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
684
+ else:
685
+ __self__._internal_init(resource_name, *args, **kwargs)
686
+
687
+ def _internal_init(__self__,
688
+ resource_name: str,
689
+ opts: Optional[pulumi.ResourceOptions] = None,
690
+ allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
691
+ allowed_user_domains: 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
+ saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
696
+ saml2_force_authn: Optional[pulumi.Input[str]] = None,
697
+ saml2_issuer: Optional[pulumi.Input[str]] = None,
698
+ saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
699
+ saml2_provider: Optional[pulumi.Input[str]] = None,
700
+ saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
701
+ saml2_sign_request: Optional[pulumi.Input[str]] = None,
702
+ saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
703
+ saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
704
+ saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
705
+ saml2_sso_url: Optional[pulumi.Input[str]] = None,
706
+ saml2_x509_cert: Optional[pulumi.Input[str]] = None,
707
+ __props__=None):
708
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
709
+ if not isinstance(opts, pulumi.ResourceOptions):
710
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
711
+ if opts.id is None:
712
+ if __props__ is not None:
713
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
714
+ __props__ = Saml2IntegrationArgs.__new__(Saml2IntegrationArgs)
715
+
716
+ __props__.__dict__["allowed_email_patterns"] = allowed_email_patterns
717
+ __props__.__dict__["allowed_user_domains"] = allowed_user_domains
718
+ __props__.__dict__["comment"] = comment
719
+ __props__.__dict__["enabled"] = enabled
720
+ __props__.__dict__["name"] = name
721
+ __props__.__dict__["saml2_enable_sp_initiated"] = saml2_enable_sp_initiated
722
+ __props__.__dict__["saml2_force_authn"] = saml2_force_authn
723
+ if saml2_issuer is None and not opts.urn:
724
+ raise TypeError("Missing required property 'saml2_issuer'")
725
+ __props__.__dict__["saml2_issuer"] = saml2_issuer
726
+ __props__.__dict__["saml2_post_logout_redirect_url"] = saml2_post_logout_redirect_url
727
+ if saml2_provider is None and not opts.urn:
728
+ raise TypeError("Missing required property 'saml2_provider'")
729
+ __props__.__dict__["saml2_provider"] = saml2_provider
730
+ __props__.__dict__["saml2_requested_nameid_format"] = saml2_requested_nameid_format
731
+ __props__.__dict__["saml2_sign_request"] = saml2_sign_request
732
+ __props__.__dict__["saml2_snowflake_acs_url"] = saml2_snowflake_acs_url
733
+ __props__.__dict__["saml2_snowflake_issuer_url"] = saml2_snowflake_issuer_url
734
+ __props__.__dict__["saml2_sp_initiated_login_page_label"] = saml2_sp_initiated_login_page_label
735
+ if saml2_sso_url is None and not opts.urn:
736
+ raise TypeError("Missing required property 'saml2_sso_url'")
737
+ __props__.__dict__["saml2_sso_url"] = saml2_sso_url
738
+ if saml2_x509_cert is None and not opts.urn:
739
+ raise TypeError("Missing required property 'saml2_x509_cert'")
740
+ __props__.__dict__["saml2_x509_cert"] = saml2_x509_cert
741
+ __props__.__dict__["describe_outputs"] = None
742
+ __props__.__dict__["show_outputs"] = None
743
+ super(Saml2Integration, __self__).__init__(
744
+ 'snowflake:index/saml2Integration:Saml2Integration',
745
+ resource_name,
746
+ __props__,
747
+ opts)
748
+
749
+ @staticmethod
750
+ def get(resource_name: str,
751
+ id: pulumi.Input[str],
752
+ opts: Optional[pulumi.ResourceOptions] = None,
753
+ allowed_email_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
754
+ allowed_user_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
755
+ comment: Optional[pulumi.Input[str]] = None,
756
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationDescribeOutputArgs']]]]] = None,
757
+ enabled: Optional[pulumi.Input[str]] = None,
758
+ name: Optional[pulumi.Input[str]] = None,
759
+ saml2_enable_sp_initiated: Optional[pulumi.Input[str]] = None,
760
+ saml2_force_authn: Optional[pulumi.Input[str]] = None,
761
+ saml2_issuer: Optional[pulumi.Input[str]] = None,
762
+ saml2_post_logout_redirect_url: Optional[pulumi.Input[str]] = None,
763
+ saml2_provider: Optional[pulumi.Input[str]] = None,
764
+ saml2_requested_nameid_format: Optional[pulumi.Input[str]] = None,
765
+ saml2_sign_request: Optional[pulumi.Input[str]] = None,
766
+ saml2_snowflake_acs_url: Optional[pulumi.Input[str]] = None,
767
+ saml2_snowflake_issuer_url: Optional[pulumi.Input[str]] = None,
768
+ saml2_sp_initiated_login_page_label: Optional[pulumi.Input[str]] = None,
769
+ saml2_sso_url: Optional[pulumi.Input[str]] = None,
770
+ saml2_x509_cert: Optional[pulumi.Input[str]] = None,
771
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationShowOutputArgs']]]]] = None) -> 'Saml2Integration':
772
+ """
773
+ Get an existing Saml2Integration resource's state with the given name, id, and optional extra
774
+ properties used to qualify the lookup.
775
+
776
+ :param str resource_name: The unique name of the resulting resource.
777
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
778
+ :param pulumi.ResourceOptions opts: Options for the resource.
779
+ :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.
780
+ :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.
781
+ :param pulumi.Input[str] comment: Specifies a comment for the integration.
782
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
783
+ :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.
784
+ :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.
785
+ :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.
786
+ :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.
787
+ :param pulumi.Input[str] saml2_issuer: The string containing the IdP EntityID / Issuer.
788
+ :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.
789
+ :param pulumi.Input[str] saml2_provider: The string describing the IdP. Valid options are: `OKTA` | `ADFS` | `CUSTOM`.
790
+ :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`.
791
+ :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.
792
+ :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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
793
+ :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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
794
+ :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.
795
+ :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.
796
+ :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.
797
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Saml2IntegrationShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
798
+ """
799
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
800
+
801
+ __props__ = _Saml2IntegrationState.__new__(_Saml2IntegrationState)
802
+
803
+ __props__.__dict__["allowed_email_patterns"] = allowed_email_patterns
804
+ __props__.__dict__["allowed_user_domains"] = allowed_user_domains
805
+ __props__.__dict__["comment"] = comment
806
+ __props__.__dict__["describe_outputs"] = describe_outputs
807
+ __props__.__dict__["enabled"] = enabled
808
+ __props__.__dict__["name"] = name
809
+ __props__.__dict__["saml2_enable_sp_initiated"] = saml2_enable_sp_initiated
810
+ __props__.__dict__["saml2_force_authn"] = saml2_force_authn
811
+ __props__.__dict__["saml2_issuer"] = saml2_issuer
812
+ __props__.__dict__["saml2_post_logout_redirect_url"] = saml2_post_logout_redirect_url
813
+ __props__.__dict__["saml2_provider"] = saml2_provider
814
+ __props__.__dict__["saml2_requested_nameid_format"] = saml2_requested_nameid_format
815
+ __props__.__dict__["saml2_sign_request"] = saml2_sign_request
816
+ __props__.__dict__["saml2_snowflake_acs_url"] = saml2_snowflake_acs_url
817
+ __props__.__dict__["saml2_snowflake_issuer_url"] = saml2_snowflake_issuer_url
818
+ __props__.__dict__["saml2_sp_initiated_login_page_label"] = saml2_sp_initiated_login_page_label
819
+ __props__.__dict__["saml2_sso_url"] = saml2_sso_url
820
+ __props__.__dict__["saml2_x509_cert"] = saml2_x509_cert
821
+ __props__.__dict__["show_outputs"] = show_outputs
822
+ return Saml2Integration(resource_name, opts=opts, __props__=__props__)
823
+
824
+ @property
825
+ @pulumi.getter(name="allowedEmailPatterns")
826
+ def allowed_email_patterns(self) -> pulumi.Output[Optional[Sequence[str]]]:
827
+ """
828
+ 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.
829
+ """
830
+ return pulumi.get(self, "allowed_email_patterns")
831
+
832
+ @property
833
+ @pulumi.getter(name="allowedUserDomains")
834
+ def allowed_user_domains(self) -> pulumi.Output[Optional[Sequence[str]]]:
835
+ """
836
+ 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.
837
+ """
838
+ return pulumi.get(self, "allowed_user_domains")
839
+
840
+ @property
841
+ @pulumi.getter
842
+ def comment(self) -> pulumi.Output[Optional[str]]:
843
+ """
844
+ Specifies a comment for the integration.
845
+ """
846
+ return pulumi.get(self, "comment")
847
+
848
+ @property
849
+ @pulumi.getter(name="describeOutputs")
850
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.Saml2IntegrationDescribeOutput']]:
851
+ """
852
+ Outputs the result of `DESCRIBE SECURITY INTEGRATION` for the given integration.
853
+ """
854
+ return pulumi.get(self, "describe_outputs")
855
+
856
+ @property
857
+ @pulumi.getter
858
+ def enabled(self) -> pulumi.Output[Optional[str]]:
859
+ """
860
+ 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.
861
+ """
862
+ return pulumi.get(self, "enabled")
863
+
864
+ @property
865
+ @pulumi.getter
866
+ def name(self) -> pulumi.Output[str]:
867
+ """
868
+ 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.
869
+ """
870
+ return pulumi.get(self, "name")
871
+
872
+ @property
873
+ @pulumi.getter(name="saml2EnableSpInitiated")
874
+ def saml2_enable_sp_initiated(self) -> pulumi.Output[Optional[str]]:
875
+ """
876
+ 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.
877
+ """
878
+ return pulumi.get(self, "saml2_enable_sp_initiated")
879
+
880
+ @property
881
+ @pulumi.getter(name="saml2ForceAuthn")
882
+ def saml2_force_authn(self) -> pulumi.Output[Optional[str]]:
883
+ """
884
+ 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.
885
+ """
886
+ return pulumi.get(self, "saml2_force_authn")
887
+
888
+ @property
889
+ @pulumi.getter(name="saml2Issuer")
890
+ def saml2_issuer(self) -> pulumi.Output[str]:
891
+ """
892
+ The string containing the IdP EntityID / Issuer.
893
+ """
894
+ return pulumi.get(self, "saml2_issuer")
895
+
896
+ @property
897
+ @pulumi.getter(name="saml2PostLogoutRedirectUrl")
898
+ def saml2_post_logout_redirect_url(self) -> pulumi.Output[Optional[str]]:
899
+ """
900
+ 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.
901
+ """
902
+ return pulumi.get(self, "saml2_post_logout_redirect_url")
903
+
904
+ @property
905
+ @pulumi.getter(name="saml2Provider")
906
+ def saml2_provider(self) -> pulumi.Output[str]:
907
+ """
908
+ The string describing the IdP. Valid options are: `OKTA` | `ADFS` | `CUSTOM`.
909
+ """
910
+ return pulumi.get(self, "saml2_provider")
911
+
912
+ @property
913
+ @pulumi.getter(name="saml2RequestedNameidFormat")
914
+ def saml2_requested_nameid_format(self) -> pulumi.Output[Optional[str]]:
915
+ """
916
+ 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`.
917
+ """
918
+ return pulumi.get(self, "saml2_requested_nameid_format")
919
+
920
+ @property
921
+ @pulumi.getter(name="saml2SignRequest")
922
+ def saml2_sign_request(self) -> pulumi.Output[Optional[str]]:
923
+ """
924
+ 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.
925
+ """
926
+ return pulumi.get(self, "saml2_sign_request")
927
+
928
+ @property
929
+ @pulumi.getter(name="saml2SnowflakeAcsUrl")
930
+ def saml2_snowflake_acs_url(self) -> pulumi.Output[Optional[str]]:
931
+ """
932
+ 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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
933
+ """
934
+ return pulumi.get(self, "saml2_snowflake_acs_url")
935
+
936
+ @property
937
+ @pulumi.getter(name="saml2SnowflakeIssuerUrl")
938
+ def saml2_snowflake_issuer_url(self) -> pulumi.Output[Optional[str]]:
939
+ """
940
+ 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. Because Okta does not support underscores in URLs, the underscore in the account name must be converted to a hyphen. See [docs](https://docs.snowflake.com/en/user-guide/organizations-connect#okta-urls).
941
+ """
942
+ return pulumi.get(self, "saml2_snowflake_issuer_url")
943
+
944
+ @property
945
+ @pulumi.getter(name="saml2SpInitiatedLoginPageLabel")
946
+ def saml2_sp_initiated_login_page_label(self) -> pulumi.Output[Optional[str]]:
947
+ """
948
+ 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.
949
+ """
950
+ return pulumi.get(self, "saml2_sp_initiated_login_page_label")
951
+
952
+ @property
953
+ @pulumi.getter(name="saml2SsoUrl")
954
+ def saml2_sso_url(self) -> pulumi.Output[str]:
955
+ """
956
+ The string containing the IdP SSO URL, where the user should be redirected by Snowflake (the Service Provider) with a SAML AuthnRequest message.
957
+ """
958
+ return pulumi.get(self, "saml2_sso_url")
959
+
960
+ @property
961
+ @pulumi.getter(name="saml2X509Cert")
962
+ def saml2_x509_cert(self) -> pulumi.Output[str]:
963
+ """
964
+ The Base64 encoded IdP signing certificate on a single line without the leading -----BEGIN CERTIFICATE----- and ending -----END CERTIFICATE----- markers.
965
+ """
966
+ return pulumi.get(self, "saml2_x509_cert")
967
+
968
+ @property
969
+ @pulumi.getter(name="showOutputs")
970
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.Saml2IntegrationShowOutput']]:
971
+ """
972
+ Outputs the result of `SHOW SECURITY INTEGRATION` for the given integration.
973
+ """
974
+ return pulumi.get(self, "show_outputs")
975
+