pulumi-snowflake 0.50.2a1709892015__py3-none-any.whl → 1.2.0a1736835738__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.
Potentially problematic release.
This version of pulumi-snowflake might be problematic. Click here for more details.
- pulumi_snowflake/__init__.py +224 -172
- pulumi_snowflake/_inputs.py +52854 -1662
- pulumi_snowflake/_utilities.py +41 -5
- pulumi_snowflake/account.py +188 -214
- pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
- pulumi_snowflake/account_parameter.py +21 -44
- pulumi_snowflake/account_password_policy_attachment.py +7 -28
- pulumi_snowflake/account_role.py +250 -0
- pulumi_snowflake/alert.py +38 -43
- pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
- pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
- pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
- pulumi_snowflake/api_integration.py +35 -50
- pulumi_snowflake/authentication_policy.py +622 -0
- pulumi_snowflake/config/__init__.pyi +76 -99
- pulumi_snowflake/config/outputs.py +5 -0
- pulumi_snowflake/config/vars.py +93 -124
- pulumi_snowflake/cortex_search_service.py +596 -0
- pulumi_snowflake/database.py +819 -209
- pulumi_snowflake/database_role.py +81 -40
- pulumi_snowflake/dynamic_table.py +44 -47
- pulumi_snowflake/email_notification_integration.py +35 -26
- pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
- pulumi_snowflake/external_function.py +54 -71
- pulumi_snowflake/external_oauth_integration.py +593 -538
- pulumi_snowflake/external_table.py +67 -86
- pulumi_snowflake/external_volume.py +382 -0
- pulumi_snowflake/failover_group.py +59 -96
- pulumi_snowflake/file_format.py +33 -24
- pulumi_snowflake/function_java.py +1211 -0
- pulumi_snowflake/function_javascript.py +882 -0
- pulumi_snowflake/function_python.py +1212 -0
- pulumi_snowflake/function_scala.py +1212 -0
- pulumi_snowflake/function_sql.py +835 -0
- pulumi_snowflake/get_account_roles.py +129 -0
- pulumi_snowflake/get_accounts.py +53 -22
- pulumi_snowflake/get_alerts.py +22 -5
- pulumi_snowflake/get_connections.py +109 -0
- pulumi_snowflake/get_cortex_search_services.py +216 -0
- pulumi_snowflake/get_current_account.py +24 -9
- pulumi_snowflake/get_current_role.py +14 -7
- pulumi_snowflake/get_database.py +25 -5
- pulumi_snowflake/get_database_role.py +162 -0
- pulumi_snowflake/get_database_roles.py +79 -43
- pulumi_snowflake/get_databases.py +91 -69
- pulumi_snowflake/get_dynamic_tables.py +36 -19
- pulumi_snowflake/get_external_functions.py +28 -5
- pulumi_snowflake/get_external_tables.py +28 -5
- pulumi_snowflake/get_failover_groups.py +18 -7
- pulumi_snowflake/get_file_formats.py +28 -5
- pulumi_snowflake/get_functions.py +28 -5
- pulumi_snowflake/get_grants.py +207 -80
- pulumi_snowflake/get_masking_policies.py +91 -47
- pulumi_snowflake/get_materialized_views.py +28 -5
- pulumi_snowflake/get_network_policies.py +129 -0
- pulumi_snowflake/get_parameters.py +38 -11
- pulumi_snowflake/get_pipes.py +28 -5
- pulumi_snowflake/get_procedures.py +28 -5
- pulumi_snowflake/get_resource_monitors.py +37 -20
- pulumi_snowflake/get_row_access_policies.py +91 -47
- pulumi_snowflake/get_schemas.py +145 -37
- pulumi_snowflake/get_secrets.py +200 -0
- pulumi_snowflake/get_security_integrations.py +129 -0
- pulumi_snowflake/get_sequences.py +28 -5
- pulumi_snowflake/get_shares.py +18 -5
- pulumi_snowflake/get_stages.py +28 -5
- pulumi_snowflake/get_storage_integrations.py +16 -5
- pulumi_snowflake/get_streamlits.py +170 -0
- pulumi_snowflake/get_streams.py +114 -50
- pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
- pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
- pulumi_snowflake/get_system_get_private_link_config.py +121 -6
- pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
- pulumi_snowflake/get_tables.py +28 -5
- pulumi_snowflake/get_tags.py +130 -0
- pulumi_snowflake/get_tasks.py +134 -50
- pulumi_snowflake/get_users.py +116 -40
- pulumi_snowflake/get_views.py +114 -50
- pulumi_snowflake/get_warehouses.py +79 -22
- pulumi_snowflake/grant_account_role.py +28 -61
- pulumi_snowflake/grant_application_role.py +257 -0
- pulumi_snowflake/grant_database_role.py +35 -108
- pulumi_snowflake/grant_ownership.py +382 -0
- pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
- pulumi_snowflake/grant_privileges_to_database_role.py +37 -223
- pulumi_snowflake/grant_privileges_to_share.py +96 -44
- pulumi_snowflake/legacy_service_user.py +3670 -0
- pulumi_snowflake/managed_account.py +42 -9
- pulumi_snowflake/masking_policy.py +213 -306
- pulumi_snowflake/materialized_view.py +62 -67
- pulumi_snowflake/network_policy.py +217 -57
- pulumi_snowflake/network_policy_attachment.py +7 -32
- pulumi_snowflake/network_rule.py +473 -0
- pulumi_snowflake/notification_integration.py +51 -82
- pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
- pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
- pulumi_snowflake/object_parameter.py +12 -99
- pulumi_snowflake/outputs.py +49200 -2928
- pulumi_snowflake/password_policy.py +41 -28
- pulumi_snowflake/pipe.py +33 -0
- pulumi_snowflake/primary_connection.py +330 -0
- pulumi_snowflake/procedure_java.py +1273 -0
- pulumi_snowflake/procedure_javascript.py +895 -0
- pulumi_snowflake/procedure_python.py +1226 -0
- pulumi_snowflake/procedure_scala.py +1273 -0
- pulumi_snowflake/procedure_sql.py +895 -0
- pulumi_snowflake/provider.py +378 -613
- pulumi_snowflake/pulumi-plugin.json +2 -1
- pulumi_snowflake/resource_monitor.py +118 -323
- pulumi_snowflake/row_access_policy.py +200 -145
- pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
- pulumi_snowflake/schema.py +949 -174
- pulumi_snowflake/scim_integration.py +286 -105
- pulumi_snowflake/secondary_connection.py +339 -0
- pulumi_snowflake/secondary_database.py +1080 -0
- pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
- pulumi_snowflake/secret_with_basic_authentication.py +500 -0
- pulumi_snowflake/secret_with_client_credentials.py +511 -0
- pulumi_snowflake/secret_with_generic_string.py +452 -0
- pulumi_snowflake/sequence.py +9 -30
- pulumi_snowflake/service_user.py +3585 -0
- pulumi_snowflake/share.py +35 -26
- pulumi_snowflake/shared_database.py +939 -0
- pulumi_snowflake/stage.py +95 -80
- pulumi_snowflake/storage_integration.py +48 -2
- pulumi_snowflake/stream_on_directory_table.py +517 -0
- pulumi_snowflake/stream_on_external_table.py +632 -0
- pulumi_snowflake/stream_on_table.py +666 -0
- pulumi_snowflake/stream_on_view.py +666 -0
- pulumi_snowflake/streamlit.py +671 -0
- pulumi_snowflake/table.py +86 -93
- pulumi_snowflake/table_column_masking_policy_application.py +7 -14
- pulumi_snowflake/table_constraint.py +29 -168
- pulumi_snowflake/tag.py +142 -70
- pulumi_snowflake/tag_association.py +40 -211
- pulumi_snowflake/task.py +3048 -414
- pulumi_snowflake/user.py +3351 -380
- pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
- pulumi_snowflake/user_password_policy_attachment.py +7 -6
- pulumi_snowflake/user_public_keys.py +5 -0
- pulumi_snowflake/view.py +466 -211
- pulumi_snowflake/warehouse.py +184 -164
- {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
- pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
- {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
- pulumi_snowflake/account_grant.py +0 -339
- pulumi_snowflake/database_grant.py +0 -491
- pulumi_snowflake/external_table_grant.py +0 -686
- pulumi_snowflake/failover_group_grant.py +0 -388
- pulumi_snowflake/file_format_grant.py +0 -631
- pulumi_snowflake/function.py +0 -868
- pulumi_snowflake/function_grant.py +0 -741
- pulumi_snowflake/get_role.py +0 -117
- pulumi_snowflake/get_roles.py +0 -116
- pulumi_snowflake/grant_privileges_to_role.py +0 -667
- pulumi_snowflake/integration_grant.py +0 -436
- pulumi_snowflake/masking_policy_grant.py +0 -538
- pulumi_snowflake/materialized_view_grant.py +0 -685
- pulumi_snowflake/pipe_grant.py +0 -583
- pulumi_snowflake/procedure.py +0 -883
- pulumi_snowflake/procedure_grant.py +0 -741
- pulumi_snowflake/resource_monitor_grant.py +0 -383
- pulumi_snowflake/role.py +0 -269
- pulumi_snowflake/role_grants.py +0 -348
- pulumi_snowflake/role_ownership_grant.py +0 -334
- pulumi_snowflake/row_access_policy_grant.py +0 -536
- pulumi_snowflake/schema_grant.py +0 -643
- pulumi_snowflake/sequence_grant.py +0 -631
- pulumi_snowflake/session_parameter.py +0 -328
- pulumi_snowflake/stage_grant.py +0 -631
- pulumi_snowflake/stream.py +0 -610
- pulumi_snowflake/stream_grant.py +0 -631
- pulumi_snowflake/table_grant.py +0 -673
- pulumi_snowflake/tag_grant.py +0 -528
- pulumi_snowflake/tag_masking_policy_association.py +0 -210
- pulumi_snowflake/task_grant.py +0 -631
- pulumi_snowflake/user_grant.py +0 -390
- pulumi_snowflake/user_ownership_grant.py +0 -286
- pulumi_snowflake/view_grant.py +0 -701
- pulumi_snowflake/warehouse_grant.py +0 -436
- pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
- {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,622 @@
|
|
|
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 sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = ['AuthenticationPolicyArgs', 'AuthenticationPolicy']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class AuthenticationPolicyArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
database: pulumi.Input[str],
|
|
25
|
+
schema: pulumi.Input[str],
|
|
26
|
+
authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
27
|
+
client_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
28
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
29
|
+
mfa_authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
30
|
+
mfa_enrollment: Optional[pulumi.Input[str]] = None,
|
|
31
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
32
|
+
security_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
33
|
+
"""
|
|
34
|
+
The set of arguments for constructing a AuthenticationPolicy resource.
|
|
35
|
+
:param pulumi.Input[str] database: The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
36
|
+
:param pulumi.Input[str] schema: The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] authentication_methods: A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
38
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] client_types: A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
39
|
+
:param pulumi.Input[str] comment: Specifies a comment for the authentication policy.
|
|
40
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] mfa_authentication_methods: A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
41
|
+
:param pulumi.Input[str] mfa_enrollment: Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
42
|
+
:param pulumi.Input[str] name: Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
43
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_integrations: A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
44
|
+
"""
|
|
45
|
+
pulumi.set(__self__, "database", database)
|
|
46
|
+
pulumi.set(__self__, "schema", schema)
|
|
47
|
+
if authentication_methods is not None:
|
|
48
|
+
pulumi.set(__self__, "authentication_methods", authentication_methods)
|
|
49
|
+
if client_types is not None:
|
|
50
|
+
pulumi.set(__self__, "client_types", client_types)
|
|
51
|
+
if comment is not None:
|
|
52
|
+
pulumi.set(__self__, "comment", comment)
|
|
53
|
+
if mfa_authentication_methods is not None:
|
|
54
|
+
pulumi.set(__self__, "mfa_authentication_methods", mfa_authentication_methods)
|
|
55
|
+
if mfa_enrollment is not None:
|
|
56
|
+
pulumi.set(__self__, "mfa_enrollment", mfa_enrollment)
|
|
57
|
+
if name is not None:
|
|
58
|
+
pulumi.set(__self__, "name", name)
|
|
59
|
+
if security_integrations is not None:
|
|
60
|
+
pulumi.set(__self__, "security_integrations", security_integrations)
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
@pulumi.getter
|
|
64
|
+
def database(self) -> pulumi.Input[str]:
|
|
65
|
+
"""
|
|
66
|
+
The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "database")
|
|
69
|
+
|
|
70
|
+
@database.setter
|
|
71
|
+
def database(self, value: pulumi.Input[str]):
|
|
72
|
+
pulumi.set(self, "database", value)
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
@pulumi.getter
|
|
76
|
+
def schema(self) -> pulumi.Input[str]:
|
|
77
|
+
"""
|
|
78
|
+
The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "schema")
|
|
81
|
+
|
|
82
|
+
@schema.setter
|
|
83
|
+
def schema(self, value: pulumi.Input[str]):
|
|
84
|
+
pulumi.set(self, "schema", value)
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
@pulumi.getter(name="authenticationMethods")
|
|
88
|
+
def authentication_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
89
|
+
"""
|
|
90
|
+
A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "authentication_methods")
|
|
93
|
+
|
|
94
|
+
@authentication_methods.setter
|
|
95
|
+
def authentication_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
96
|
+
pulumi.set(self, "authentication_methods", value)
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
@pulumi.getter(name="clientTypes")
|
|
100
|
+
def client_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
101
|
+
"""
|
|
102
|
+
A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "client_types")
|
|
105
|
+
|
|
106
|
+
@client_types.setter
|
|
107
|
+
def client_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
108
|
+
pulumi.set(self, "client_types", value)
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
@pulumi.getter
|
|
112
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
113
|
+
"""
|
|
114
|
+
Specifies a comment for the authentication policy.
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "comment")
|
|
117
|
+
|
|
118
|
+
@comment.setter
|
|
119
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
120
|
+
pulumi.set(self, "comment", value)
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
@pulumi.getter(name="mfaAuthenticationMethods")
|
|
124
|
+
def mfa_authentication_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
125
|
+
"""
|
|
126
|
+
A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
127
|
+
"""
|
|
128
|
+
return pulumi.get(self, "mfa_authentication_methods")
|
|
129
|
+
|
|
130
|
+
@mfa_authentication_methods.setter
|
|
131
|
+
def mfa_authentication_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
132
|
+
pulumi.set(self, "mfa_authentication_methods", value)
|
|
133
|
+
|
|
134
|
+
@property
|
|
135
|
+
@pulumi.getter(name="mfaEnrollment")
|
|
136
|
+
def mfa_enrollment(self) -> Optional[pulumi.Input[str]]:
|
|
137
|
+
"""
|
|
138
|
+
Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
139
|
+
"""
|
|
140
|
+
return pulumi.get(self, "mfa_enrollment")
|
|
141
|
+
|
|
142
|
+
@mfa_enrollment.setter
|
|
143
|
+
def mfa_enrollment(self, value: Optional[pulumi.Input[str]]):
|
|
144
|
+
pulumi.set(self, "mfa_enrollment", value)
|
|
145
|
+
|
|
146
|
+
@property
|
|
147
|
+
@pulumi.getter
|
|
148
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
149
|
+
"""
|
|
150
|
+
Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
151
|
+
"""
|
|
152
|
+
return pulumi.get(self, "name")
|
|
153
|
+
|
|
154
|
+
@name.setter
|
|
155
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
156
|
+
pulumi.set(self, "name", value)
|
|
157
|
+
|
|
158
|
+
@property
|
|
159
|
+
@pulumi.getter(name="securityIntegrations")
|
|
160
|
+
def security_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
161
|
+
"""
|
|
162
|
+
A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
163
|
+
"""
|
|
164
|
+
return pulumi.get(self, "security_integrations")
|
|
165
|
+
|
|
166
|
+
@security_integrations.setter
|
|
167
|
+
def security_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
168
|
+
pulumi.set(self, "security_integrations", value)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@pulumi.input_type
|
|
172
|
+
class _AuthenticationPolicyState:
|
|
173
|
+
def __init__(__self__, *,
|
|
174
|
+
authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
175
|
+
client_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
176
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
177
|
+
database: Optional[pulumi.Input[str]] = None,
|
|
178
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyDescribeOutputArgs']]]] = None,
|
|
179
|
+
fully_qualified_name: Optional[pulumi.Input[str]] = None,
|
|
180
|
+
mfa_authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
181
|
+
mfa_enrollment: Optional[pulumi.Input[str]] = None,
|
|
182
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
183
|
+
schema: Optional[pulumi.Input[str]] = None,
|
|
184
|
+
security_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
185
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyShowOutputArgs']]]] = None):
|
|
186
|
+
"""
|
|
187
|
+
Input properties used for looking up and filtering AuthenticationPolicy resources.
|
|
188
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] authentication_methods: A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
189
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] client_types: A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
190
|
+
:param pulumi.Input[str] comment: Specifies a comment for the authentication policy.
|
|
191
|
+
:param pulumi.Input[str] database: The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
192
|
+
:param pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE AUTHENTICATION POLICY` for the given policy.
|
|
193
|
+
:param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
194
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] mfa_authentication_methods: A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
195
|
+
:param pulumi.Input[str] mfa_enrollment: Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
196
|
+
:param pulumi.Input[str] name: Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
197
|
+
:param pulumi.Input[str] schema: The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
198
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_integrations: A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
199
|
+
:param pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyShowOutputArgs']]] show_outputs: Outputs the result of `SHOW AUTHENTICATION POLICIES` for the given policy.
|
|
200
|
+
"""
|
|
201
|
+
if authentication_methods is not None:
|
|
202
|
+
pulumi.set(__self__, "authentication_methods", authentication_methods)
|
|
203
|
+
if client_types is not None:
|
|
204
|
+
pulumi.set(__self__, "client_types", client_types)
|
|
205
|
+
if comment is not None:
|
|
206
|
+
pulumi.set(__self__, "comment", comment)
|
|
207
|
+
if database is not None:
|
|
208
|
+
pulumi.set(__self__, "database", database)
|
|
209
|
+
if describe_outputs is not None:
|
|
210
|
+
pulumi.set(__self__, "describe_outputs", describe_outputs)
|
|
211
|
+
if fully_qualified_name is not None:
|
|
212
|
+
pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
|
|
213
|
+
if mfa_authentication_methods is not None:
|
|
214
|
+
pulumi.set(__self__, "mfa_authentication_methods", mfa_authentication_methods)
|
|
215
|
+
if mfa_enrollment is not None:
|
|
216
|
+
pulumi.set(__self__, "mfa_enrollment", mfa_enrollment)
|
|
217
|
+
if name is not None:
|
|
218
|
+
pulumi.set(__self__, "name", name)
|
|
219
|
+
if schema is not None:
|
|
220
|
+
pulumi.set(__self__, "schema", schema)
|
|
221
|
+
if security_integrations is not None:
|
|
222
|
+
pulumi.set(__self__, "security_integrations", security_integrations)
|
|
223
|
+
if show_outputs is not None:
|
|
224
|
+
pulumi.set(__self__, "show_outputs", show_outputs)
|
|
225
|
+
|
|
226
|
+
@property
|
|
227
|
+
@pulumi.getter(name="authenticationMethods")
|
|
228
|
+
def authentication_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
229
|
+
"""
|
|
230
|
+
A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
231
|
+
"""
|
|
232
|
+
return pulumi.get(self, "authentication_methods")
|
|
233
|
+
|
|
234
|
+
@authentication_methods.setter
|
|
235
|
+
def authentication_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
236
|
+
pulumi.set(self, "authentication_methods", value)
|
|
237
|
+
|
|
238
|
+
@property
|
|
239
|
+
@pulumi.getter(name="clientTypes")
|
|
240
|
+
def client_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
241
|
+
"""
|
|
242
|
+
A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
243
|
+
"""
|
|
244
|
+
return pulumi.get(self, "client_types")
|
|
245
|
+
|
|
246
|
+
@client_types.setter
|
|
247
|
+
def client_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
248
|
+
pulumi.set(self, "client_types", value)
|
|
249
|
+
|
|
250
|
+
@property
|
|
251
|
+
@pulumi.getter
|
|
252
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
253
|
+
"""
|
|
254
|
+
Specifies a comment for the authentication policy.
|
|
255
|
+
"""
|
|
256
|
+
return pulumi.get(self, "comment")
|
|
257
|
+
|
|
258
|
+
@comment.setter
|
|
259
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
260
|
+
pulumi.set(self, "comment", value)
|
|
261
|
+
|
|
262
|
+
@property
|
|
263
|
+
@pulumi.getter
|
|
264
|
+
def database(self) -> Optional[pulumi.Input[str]]:
|
|
265
|
+
"""
|
|
266
|
+
The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
267
|
+
"""
|
|
268
|
+
return pulumi.get(self, "database")
|
|
269
|
+
|
|
270
|
+
@database.setter
|
|
271
|
+
def database(self, value: Optional[pulumi.Input[str]]):
|
|
272
|
+
pulumi.set(self, "database", value)
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
@pulumi.getter(name="describeOutputs")
|
|
276
|
+
def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyDescribeOutputArgs']]]]:
|
|
277
|
+
"""
|
|
278
|
+
Outputs the result of `DESCRIBE AUTHENTICATION POLICY` for the given policy.
|
|
279
|
+
"""
|
|
280
|
+
return pulumi.get(self, "describe_outputs")
|
|
281
|
+
|
|
282
|
+
@describe_outputs.setter
|
|
283
|
+
def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyDescribeOutputArgs']]]]):
|
|
284
|
+
pulumi.set(self, "describe_outputs", value)
|
|
285
|
+
|
|
286
|
+
@property
|
|
287
|
+
@pulumi.getter(name="fullyQualifiedName")
|
|
288
|
+
def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
|
|
289
|
+
"""
|
|
290
|
+
Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
291
|
+
"""
|
|
292
|
+
return pulumi.get(self, "fully_qualified_name")
|
|
293
|
+
|
|
294
|
+
@fully_qualified_name.setter
|
|
295
|
+
def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
|
|
296
|
+
pulumi.set(self, "fully_qualified_name", value)
|
|
297
|
+
|
|
298
|
+
@property
|
|
299
|
+
@pulumi.getter(name="mfaAuthenticationMethods")
|
|
300
|
+
def mfa_authentication_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
301
|
+
"""
|
|
302
|
+
A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
303
|
+
"""
|
|
304
|
+
return pulumi.get(self, "mfa_authentication_methods")
|
|
305
|
+
|
|
306
|
+
@mfa_authentication_methods.setter
|
|
307
|
+
def mfa_authentication_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
308
|
+
pulumi.set(self, "mfa_authentication_methods", value)
|
|
309
|
+
|
|
310
|
+
@property
|
|
311
|
+
@pulumi.getter(name="mfaEnrollment")
|
|
312
|
+
def mfa_enrollment(self) -> Optional[pulumi.Input[str]]:
|
|
313
|
+
"""
|
|
314
|
+
Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
315
|
+
"""
|
|
316
|
+
return pulumi.get(self, "mfa_enrollment")
|
|
317
|
+
|
|
318
|
+
@mfa_enrollment.setter
|
|
319
|
+
def mfa_enrollment(self, value: Optional[pulumi.Input[str]]):
|
|
320
|
+
pulumi.set(self, "mfa_enrollment", value)
|
|
321
|
+
|
|
322
|
+
@property
|
|
323
|
+
@pulumi.getter
|
|
324
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
325
|
+
"""
|
|
326
|
+
Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
327
|
+
"""
|
|
328
|
+
return pulumi.get(self, "name")
|
|
329
|
+
|
|
330
|
+
@name.setter
|
|
331
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
332
|
+
pulumi.set(self, "name", value)
|
|
333
|
+
|
|
334
|
+
@property
|
|
335
|
+
@pulumi.getter
|
|
336
|
+
def schema(self) -> Optional[pulumi.Input[str]]:
|
|
337
|
+
"""
|
|
338
|
+
The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
339
|
+
"""
|
|
340
|
+
return pulumi.get(self, "schema")
|
|
341
|
+
|
|
342
|
+
@schema.setter
|
|
343
|
+
def schema(self, value: Optional[pulumi.Input[str]]):
|
|
344
|
+
pulumi.set(self, "schema", value)
|
|
345
|
+
|
|
346
|
+
@property
|
|
347
|
+
@pulumi.getter(name="securityIntegrations")
|
|
348
|
+
def security_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
349
|
+
"""
|
|
350
|
+
A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
351
|
+
"""
|
|
352
|
+
return pulumi.get(self, "security_integrations")
|
|
353
|
+
|
|
354
|
+
@security_integrations.setter
|
|
355
|
+
def security_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
356
|
+
pulumi.set(self, "security_integrations", value)
|
|
357
|
+
|
|
358
|
+
@property
|
|
359
|
+
@pulumi.getter(name="showOutputs")
|
|
360
|
+
def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyShowOutputArgs']]]]:
|
|
361
|
+
"""
|
|
362
|
+
Outputs the result of `SHOW AUTHENTICATION POLICIES` for the given policy.
|
|
363
|
+
"""
|
|
364
|
+
return pulumi.get(self, "show_outputs")
|
|
365
|
+
|
|
366
|
+
@show_outputs.setter
|
|
367
|
+
def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthenticationPolicyShowOutputArgs']]]]):
|
|
368
|
+
pulumi.set(self, "show_outputs", value)
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
class AuthenticationPolicy(pulumi.CustomResource):
|
|
372
|
+
@overload
|
|
373
|
+
def __init__(__self__,
|
|
374
|
+
resource_name: str,
|
|
375
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
376
|
+
authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
377
|
+
client_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
378
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
379
|
+
database: Optional[pulumi.Input[str]] = None,
|
|
380
|
+
mfa_authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
381
|
+
mfa_enrollment: Optional[pulumi.Input[str]] = None,
|
|
382
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
383
|
+
schema: Optional[pulumi.Input[str]] = None,
|
|
384
|
+
security_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
385
|
+
__props__=None):
|
|
386
|
+
"""
|
|
387
|
+
## Import
|
|
388
|
+
|
|
389
|
+
```sh
|
|
390
|
+
$ pulumi import snowflake:index/authenticationPolicy:AuthenticationPolicy example '"<database_name>"."<schema_name>"."<authentication_policy_name>"'
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
:param str resource_name: The name of the resource.
|
|
394
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
395
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] authentication_methods: A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
396
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] client_types: A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
397
|
+
:param pulumi.Input[str] comment: Specifies a comment for the authentication policy.
|
|
398
|
+
:param pulumi.Input[str] database: The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
399
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] mfa_authentication_methods: A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
400
|
+
:param pulumi.Input[str] mfa_enrollment: Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
401
|
+
:param pulumi.Input[str] name: Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
402
|
+
:param pulumi.Input[str] schema: The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
403
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_integrations: A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
404
|
+
"""
|
|
405
|
+
...
|
|
406
|
+
@overload
|
|
407
|
+
def __init__(__self__,
|
|
408
|
+
resource_name: str,
|
|
409
|
+
args: AuthenticationPolicyArgs,
|
|
410
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
411
|
+
"""
|
|
412
|
+
## Import
|
|
413
|
+
|
|
414
|
+
```sh
|
|
415
|
+
$ pulumi import snowflake:index/authenticationPolicy:AuthenticationPolicy example '"<database_name>"."<schema_name>"."<authentication_policy_name>"'
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
:param str resource_name: The name of the resource.
|
|
419
|
+
:param AuthenticationPolicyArgs args: The arguments to use to populate this resource's properties.
|
|
420
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
421
|
+
"""
|
|
422
|
+
...
|
|
423
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
424
|
+
resource_args, opts = _utilities.get_resource_args_opts(AuthenticationPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
425
|
+
if resource_args is not None:
|
|
426
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
427
|
+
else:
|
|
428
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
429
|
+
|
|
430
|
+
def _internal_init(__self__,
|
|
431
|
+
resource_name: str,
|
|
432
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
433
|
+
authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
434
|
+
client_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
435
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
436
|
+
database: Optional[pulumi.Input[str]] = None,
|
|
437
|
+
mfa_authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
438
|
+
mfa_enrollment: Optional[pulumi.Input[str]] = None,
|
|
439
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
440
|
+
schema: Optional[pulumi.Input[str]] = None,
|
|
441
|
+
security_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
442
|
+
__props__=None):
|
|
443
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
444
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
445
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
446
|
+
if opts.id is None:
|
|
447
|
+
if __props__ is not None:
|
|
448
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
449
|
+
__props__ = AuthenticationPolicyArgs.__new__(AuthenticationPolicyArgs)
|
|
450
|
+
|
|
451
|
+
__props__.__dict__["authentication_methods"] = authentication_methods
|
|
452
|
+
__props__.__dict__["client_types"] = client_types
|
|
453
|
+
__props__.__dict__["comment"] = comment
|
|
454
|
+
if database is None and not opts.urn:
|
|
455
|
+
raise TypeError("Missing required property 'database'")
|
|
456
|
+
__props__.__dict__["database"] = database
|
|
457
|
+
__props__.__dict__["mfa_authentication_methods"] = mfa_authentication_methods
|
|
458
|
+
__props__.__dict__["mfa_enrollment"] = mfa_enrollment
|
|
459
|
+
__props__.__dict__["name"] = name
|
|
460
|
+
if schema is None and not opts.urn:
|
|
461
|
+
raise TypeError("Missing required property 'schema'")
|
|
462
|
+
__props__.__dict__["schema"] = schema
|
|
463
|
+
__props__.__dict__["security_integrations"] = security_integrations
|
|
464
|
+
__props__.__dict__["describe_outputs"] = None
|
|
465
|
+
__props__.__dict__["fully_qualified_name"] = None
|
|
466
|
+
__props__.__dict__["show_outputs"] = None
|
|
467
|
+
super(AuthenticationPolicy, __self__).__init__(
|
|
468
|
+
'snowflake:index/authenticationPolicy:AuthenticationPolicy',
|
|
469
|
+
resource_name,
|
|
470
|
+
__props__,
|
|
471
|
+
opts)
|
|
472
|
+
|
|
473
|
+
@staticmethod
|
|
474
|
+
def get(resource_name: str,
|
|
475
|
+
id: pulumi.Input[str],
|
|
476
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
477
|
+
authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
478
|
+
client_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
479
|
+
comment: Optional[pulumi.Input[str]] = None,
|
|
480
|
+
database: Optional[pulumi.Input[str]] = None,
|
|
481
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthenticationPolicyDescribeOutputArgs', 'AuthenticationPolicyDescribeOutputArgsDict']]]]] = None,
|
|
482
|
+
fully_qualified_name: Optional[pulumi.Input[str]] = None,
|
|
483
|
+
mfa_authentication_methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
484
|
+
mfa_enrollment: Optional[pulumi.Input[str]] = None,
|
|
485
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
486
|
+
schema: Optional[pulumi.Input[str]] = None,
|
|
487
|
+
security_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
488
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthenticationPolicyShowOutputArgs', 'AuthenticationPolicyShowOutputArgsDict']]]]] = None) -> 'AuthenticationPolicy':
|
|
489
|
+
"""
|
|
490
|
+
Get an existing AuthenticationPolicy resource's state with the given name, id, and optional extra
|
|
491
|
+
properties used to qualify the lookup.
|
|
492
|
+
|
|
493
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
494
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
495
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
496
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] authentication_methods: A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
497
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] client_types: A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
498
|
+
:param pulumi.Input[str] comment: Specifies a comment for the authentication policy.
|
|
499
|
+
:param pulumi.Input[str] database: The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
500
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['AuthenticationPolicyDescribeOutputArgs', 'AuthenticationPolicyDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE AUTHENTICATION POLICY` for the given policy.
|
|
501
|
+
:param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
502
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] mfa_authentication_methods: A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
503
|
+
:param pulumi.Input[str] mfa_enrollment: Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
504
|
+
:param pulumi.Input[str] name: Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
505
|
+
:param pulumi.Input[str] schema: The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
506
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_integrations: A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
507
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['AuthenticationPolicyShowOutputArgs', 'AuthenticationPolicyShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW AUTHENTICATION POLICIES` for the given policy.
|
|
508
|
+
"""
|
|
509
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
510
|
+
|
|
511
|
+
__props__ = _AuthenticationPolicyState.__new__(_AuthenticationPolicyState)
|
|
512
|
+
|
|
513
|
+
__props__.__dict__["authentication_methods"] = authentication_methods
|
|
514
|
+
__props__.__dict__["client_types"] = client_types
|
|
515
|
+
__props__.__dict__["comment"] = comment
|
|
516
|
+
__props__.__dict__["database"] = database
|
|
517
|
+
__props__.__dict__["describe_outputs"] = describe_outputs
|
|
518
|
+
__props__.__dict__["fully_qualified_name"] = fully_qualified_name
|
|
519
|
+
__props__.__dict__["mfa_authentication_methods"] = mfa_authentication_methods
|
|
520
|
+
__props__.__dict__["mfa_enrollment"] = mfa_enrollment
|
|
521
|
+
__props__.__dict__["name"] = name
|
|
522
|
+
__props__.__dict__["schema"] = schema
|
|
523
|
+
__props__.__dict__["security_integrations"] = security_integrations
|
|
524
|
+
__props__.__dict__["show_outputs"] = show_outputs
|
|
525
|
+
return AuthenticationPolicy(resource_name, opts=opts, __props__=__props__)
|
|
526
|
+
|
|
527
|
+
@property
|
|
528
|
+
@pulumi.getter(name="authenticationMethods")
|
|
529
|
+
def authentication_methods(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
530
|
+
"""
|
|
531
|
+
A list of authentication methods that are allowed during login. This parameter accepts one or more of the following values: `ALL` | `SAML` | `PASSWORD` | `OAUTH` | `KEYPAIR`
|
|
532
|
+
"""
|
|
533
|
+
return pulumi.get(self, "authentication_methods")
|
|
534
|
+
|
|
535
|
+
@property
|
|
536
|
+
@pulumi.getter(name="clientTypes")
|
|
537
|
+
def client_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
538
|
+
"""
|
|
539
|
+
A list of clients that can authenticate with Snowflake. If a client tries to connect, and the client is not one of the valid CLIENT*TYPES, then the login attempt fails. Allowed values are `ALL` | `SNOWFLAKE_UI` | `DRIVERS` | `SNOWSQL`. The CLIENT*TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.
|
|
540
|
+
"""
|
|
541
|
+
return pulumi.get(self, "client_types")
|
|
542
|
+
|
|
543
|
+
@property
|
|
544
|
+
@pulumi.getter
|
|
545
|
+
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
546
|
+
"""
|
|
547
|
+
Specifies a comment for the authentication policy.
|
|
548
|
+
"""
|
|
549
|
+
return pulumi.get(self, "comment")
|
|
550
|
+
|
|
551
|
+
@property
|
|
552
|
+
@pulumi.getter
|
|
553
|
+
def database(self) -> pulumi.Output[str]:
|
|
554
|
+
"""
|
|
555
|
+
The database in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
556
|
+
"""
|
|
557
|
+
return pulumi.get(self, "database")
|
|
558
|
+
|
|
559
|
+
@property
|
|
560
|
+
@pulumi.getter(name="describeOutputs")
|
|
561
|
+
def describe_outputs(self) -> pulumi.Output[Sequence['outputs.AuthenticationPolicyDescribeOutput']]:
|
|
562
|
+
"""
|
|
563
|
+
Outputs the result of `DESCRIBE AUTHENTICATION POLICY` for the given policy.
|
|
564
|
+
"""
|
|
565
|
+
return pulumi.get(self, "describe_outputs")
|
|
566
|
+
|
|
567
|
+
@property
|
|
568
|
+
@pulumi.getter(name="fullyQualifiedName")
|
|
569
|
+
def fully_qualified_name(self) -> pulumi.Output[str]:
|
|
570
|
+
"""
|
|
571
|
+
Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
572
|
+
"""
|
|
573
|
+
return pulumi.get(self, "fully_qualified_name")
|
|
574
|
+
|
|
575
|
+
@property
|
|
576
|
+
@pulumi.getter(name="mfaAuthenticationMethods")
|
|
577
|
+
def mfa_authentication_methods(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
578
|
+
"""
|
|
579
|
+
A list of authentication methods that enforce multi-factor authentication (MFA) during login. Authentication methods not listed in this parameter do not prompt for multi-factor authentication. Allowed values are `ALL` | `SAML` | `PASSWORD`.
|
|
580
|
+
"""
|
|
581
|
+
return pulumi.get(self, "mfa_authentication_methods")
|
|
582
|
+
|
|
583
|
+
@property
|
|
584
|
+
@pulumi.getter(name="mfaEnrollment")
|
|
585
|
+
def mfa_enrollment(self) -> pulumi.Output[Optional[str]]:
|
|
586
|
+
"""
|
|
587
|
+
Determines whether a user must enroll in multi-factor authentication. Allowed values are REQUIRED and OPTIONAL. When REQUIRED is specified, Enforces users to enroll in MFA. If this value is used, then the CLIENT*TYPES parameter must include SNOWFLAKE*UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).
|
|
588
|
+
"""
|
|
589
|
+
return pulumi.get(self, "mfa_enrollment")
|
|
590
|
+
|
|
591
|
+
@property
|
|
592
|
+
@pulumi.getter
|
|
593
|
+
def name(self) -> pulumi.Output[str]:
|
|
594
|
+
"""
|
|
595
|
+
Specifies the identifier for the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
596
|
+
"""
|
|
597
|
+
return pulumi.get(self, "name")
|
|
598
|
+
|
|
599
|
+
@property
|
|
600
|
+
@pulumi.getter
|
|
601
|
+
def schema(self) -> pulumi.Output[str]:
|
|
602
|
+
"""
|
|
603
|
+
The schema in which to create the authentication policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
604
|
+
"""
|
|
605
|
+
return pulumi.get(self, "schema")
|
|
606
|
+
|
|
607
|
+
@property
|
|
608
|
+
@pulumi.getter(name="securityIntegrations")
|
|
609
|
+
def security_integrations(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
610
|
+
"""
|
|
611
|
+
A list of security integrations the authentication policy is associated with. This parameter has no effect when SAML or OAUTH are not in the AUTHENTICATION*METHODS list. All values in the SECURITY*INTEGRATIONS list must be compatible with the values in the AUTHENTICATION*METHODS list. For example, if SECURITY*INTEGRATIONS contains a SAML security integration, and AUTHENTICATION_METHODS contains OAUTH, then you cannot create the authentication policy. To allow all security integrations use ALL as parameter.
|
|
612
|
+
"""
|
|
613
|
+
return pulumi.get(self, "security_integrations")
|
|
614
|
+
|
|
615
|
+
@property
|
|
616
|
+
@pulumi.getter(name="showOutputs")
|
|
617
|
+
def show_outputs(self) -> pulumi.Output[Sequence['outputs.AuthenticationPolicyShowOutput']]:
|
|
618
|
+
"""
|
|
619
|
+
Outputs the result of `SHOW AUTHENTICATION POLICIES` for the given policy.
|
|
620
|
+
"""
|
|
621
|
+
return pulumi.get(self, "show_outputs")
|
|
622
|
+
|