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
|
@@ -4,10 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import warnings
|
|
7
|
+
import sys
|
|
7
8
|
import pulumi
|
|
8
9
|
import pulumi.runtime
|
|
9
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
|
|
10
15
|
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
11
18
|
|
|
12
19
|
__all__ = ['ExternalOauthIntegrationArgs', 'ExternalOauthIntegration']
|
|
13
20
|
|
|
@@ -15,67 +22,67 @@ __all__ = ['ExternalOauthIntegrationArgs', 'ExternalOauthIntegration']
|
|
|
15
22
|
class ExternalOauthIntegrationArgs:
|
|
16
23
|
def __init__(__self__, *,
|
|
17
24
|
enabled: pulumi.Input[bool],
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
23
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
24
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
25
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
25
|
+
external_oauth_issuer: pulumi.Input[str],
|
|
26
|
+
external_oauth_snowflake_user_mapping_attribute: pulumi.Input[str],
|
|
27
|
+
external_oauth_token_user_mapping_claims: pulumi.Input[Sequence[pulumi.Input[str]]],
|
|
28
|
+
external_oauth_type: pulumi.Input[str],
|
|
26
29
|
comment: Optional[pulumi.Input[str]] = None,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
external_oauth_allowed_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
31
|
+
external_oauth_any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
32
|
+
external_oauth_audience_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
33
|
+
external_oauth_blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
34
|
+
external_oauth_jws_keys_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
35
|
+
external_oauth_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
36
|
+
external_oauth_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
37
|
+
external_oauth_scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
38
|
+
external_oauth_scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
39
|
+
name: Optional[pulumi.Input[str]] = None):
|
|
33
40
|
"""
|
|
34
41
|
The set of arguments for constructing a ExternalOauthIntegration resource.
|
|
35
42
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
36
|
-
:param pulumi.Input[str]
|
|
37
|
-
:param pulumi.Input[str]
|
|
38
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]]
|
|
39
|
-
:param pulumi.Input[str]
|
|
40
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
41
|
-
:param pulumi.Input[str] any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token.
|
|
42
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] audience_urls: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
43
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles: Specifies the list of roles that a client cannot set as the primary role. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
|
|
43
|
+
:param pulumi.Input[str] external_oauth_issuer: Specifies the URL to define the OAuth 2.0 authorization server.
|
|
44
|
+
:param pulumi.Input[str] external_oauth_snowflake_user_mapping_attribute: Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
45
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_token_user_mapping_claims: Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
46
|
+
:param pulumi.Input[str] external_oauth_type: Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
44
47
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
45
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]]
|
|
46
|
-
:param pulumi.Input[str]
|
|
47
|
-
:param pulumi.Input[str]
|
|
48
|
-
:param pulumi.Input[str]
|
|
49
|
-
:param pulumi.Input[str]
|
|
50
|
-
:param pulumi.Input[str]
|
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_allowed_roles_lists: Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
49
|
+
:param pulumi.Input[str] external_oauth_any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
50
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_audience_lists: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
51
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_blocked_roles_lists: Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
52
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_jws_keys_urls: Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
53
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key: Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
54
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key2: Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
55
|
+
:param pulumi.Input[str] external_oauth_scope_delimiter: Specifies the scope delimiter in the authorization token.
|
|
56
|
+
:param pulumi.Input[str] external_oauth_scope_mapping_attribute: Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
57
|
+
:param pulumi.Input[str] name: Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
51
58
|
"""
|
|
52
59
|
pulumi.set(__self__, "enabled", enabled)
|
|
53
|
-
pulumi.set(__self__, "
|
|
54
|
-
pulumi.set(__self__, "
|
|
55
|
-
pulumi.set(__self__, "
|
|
56
|
-
pulumi.set(__self__, "
|
|
57
|
-
if allowed_roles is not None:
|
|
58
|
-
pulumi.set(__self__, "allowed_roles", allowed_roles)
|
|
59
|
-
if any_role_mode is not None:
|
|
60
|
-
pulumi.set(__self__, "any_role_mode", any_role_mode)
|
|
61
|
-
if audience_urls is not None:
|
|
62
|
-
pulumi.set(__self__, "audience_urls", audience_urls)
|
|
63
|
-
if blocked_roles is not None:
|
|
64
|
-
pulumi.set(__self__, "blocked_roles", blocked_roles)
|
|
60
|
+
pulumi.set(__self__, "external_oauth_issuer", external_oauth_issuer)
|
|
61
|
+
pulumi.set(__self__, "external_oauth_snowflake_user_mapping_attribute", external_oauth_snowflake_user_mapping_attribute)
|
|
62
|
+
pulumi.set(__self__, "external_oauth_token_user_mapping_claims", external_oauth_token_user_mapping_claims)
|
|
63
|
+
pulumi.set(__self__, "external_oauth_type", external_oauth_type)
|
|
65
64
|
if comment is not None:
|
|
66
65
|
pulumi.set(__self__, "comment", comment)
|
|
67
|
-
if
|
|
68
|
-
pulumi.set(__self__, "
|
|
66
|
+
if external_oauth_allowed_roles_lists is not None:
|
|
67
|
+
pulumi.set(__self__, "external_oauth_allowed_roles_lists", external_oauth_allowed_roles_lists)
|
|
68
|
+
if external_oauth_any_role_mode is not None:
|
|
69
|
+
pulumi.set(__self__, "external_oauth_any_role_mode", external_oauth_any_role_mode)
|
|
70
|
+
if external_oauth_audience_lists is not None:
|
|
71
|
+
pulumi.set(__self__, "external_oauth_audience_lists", external_oauth_audience_lists)
|
|
72
|
+
if external_oauth_blocked_roles_lists is not None:
|
|
73
|
+
pulumi.set(__self__, "external_oauth_blocked_roles_lists", external_oauth_blocked_roles_lists)
|
|
74
|
+
if external_oauth_jws_keys_urls is not None:
|
|
75
|
+
pulumi.set(__self__, "external_oauth_jws_keys_urls", external_oauth_jws_keys_urls)
|
|
76
|
+
if external_oauth_rsa_public_key is not None:
|
|
77
|
+
pulumi.set(__self__, "external_oauth_rsa_public_key", external_oauth_rsa_public_key)
|
|
78
|
+
if external_oauth_rsa_public_key2 is not None:
|
|
79
|
+
pulumi.set(__self__, "external_oauth_rsa_public_key2", external_oauth_rsa_public_key2)
|
|
80
|
+
if external_oauth_scope_delimiter is not None:
|
|
81
|
+
pulumi.set(__self__, "external_oauth_scope_delimiter", external_oauth_scope_delimiter)
|
|
82
|
+
if external_oauth_scope_mapping_attribute is not None:
|
|
83
|
+
pulumi.set(__self__, "external_oauth_scope_mapping_attribute", external_oauth_scope_mapping_attribute)
|
|
69
84
|
if name is not None:
|
|
70
85
|
pulumi.set(__self__, "name", name)
|
|
71
|
-
if rsa_public_key is not None:
|
|
72
|
-
pulumi.set(__self__, "rsa_public_key", rsa_public_key)
|
|
73
|
-
if rsa_public_key2 is not None:
|
|
74
|
-
pulumi.set(__self__, "rsa_public_key2", rsa_public_key2)
|
|
75
|
-
if scope_delimiter is not None:
|
|
76
|
-
pulumi.set(__self__, "scope_delimiter", scope_delimiter)
|
|
77
|
-
if scope_mapping_attribute is not None:
|
|
78
|
-
pulumi.set(__self__, "scope_mapping_attribute", scope_mapping_attribute)
|
|
79
86
|
|
|
80
87
|
@property
|
|
81
88
|
@pulumi.getter
|
|
@@ -90,464 +97,512 @@ class ExternalOauthIntegrationArgs:
|
|
|
90
97
|
pulumi.set(self, "enabled", value)
|
|
91
98
|
|
|
92
99
|
@property
|
|
93
|
-
@pulumi.getter
|
|
94
|
-
def
|
|
100
|
+
@pulumi.getter(name="externalOauthIssuer")
|
|
101
|
+
def external_oauth_issuer(self) -> pulumi.Input[str]:
|
|
95
102
|
"""
|
|
96
103
|
Specifies the URL to define the OAuth 2.0 authorization server.
|
|
97
104
|
"""
|
|
98
|
-
return pulumi.get(self, "
|
|
105
|
+
return pulumi.get(self, "external_oauth_issuer")
|
|
99
106
|
|
|
100
|
-
@
|
|
101
|
-
def
|
|
102
|
-
pulumi.set(self, "
|
|
107
|
+
@external_oauth_issuer.setter
|
|
108
|
+
def external_oauth_issuer(self, value: pulumi.Input[str]):
|
|
109
|
+
pulumi.set(self, "external_oauth_issuer", value)
|
|
103
110
|
|
|
104
111
|
@property
|
|
105
|
-
@pulumi.getter(name="
|
|
106
|
-
def
|
|
112
|
+
@pulumi.getter(name="externalOauthSnowflakeUserMappingAttribute")
|
|
113
|
+
def external_oauth_snowflake_user_mapping_attribute(self) -> pulumi.Input[str]:
|
|
107
114
|
"""
|
|
108
|
-
Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record.
|
|
115
|
+
Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
109
116
|
"""
|
|
110
|
-
return pulumi.get(self, "
|
|
117
|
+
return pulumi.get(self, "external_oauth_snowflake_user_mapping_attribute")
|
|
111
118
|
|
|
112
|
-
@
|
|
113
|
-
def
|
|
114
|
-
pulumi.set(self, "
|
|
119
|
+
@external_oauth_snowflake_user_mapping_attribute.setter
|
|
120
|
+
def external_oauth_snowflake_user_mapping_attribute(self, value: pulumi.Input[str]):
|
|
121
|
+
pulumi.set(self, "external_oauth_snowflake_user_mapping_attribute", value)
|
|
115
122
|
|
|
116
123
|
@property
|
|
117
|
-
@pulumi.getter(name="
|
|
118
|
-
def
|
|
124
|
+
@pulumi.getter(name="externalOauthTokenUserMappingClaims")
|
|
125
|
+
def external_oauth_token_user_mapping_claims(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
|
119
126
|
"""
|
|
120
|
-
Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record.
|
|
127
|
+
Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
121
128
|
"""
|
|
122
|
-
return pulumi.get(self, "
|
|
129
|
+
return pulumi.get(self, "external_oauth_token_user_mapping_claims")
|
|
123
130
|
|
|
124
|
-
@
|
|
125
|
-
def
|
|
126
|
-
pulumi.set(self, "
|
|
131
|
+
@external_oauth_token_user_mapping_claims.setter
|
|
132
|
+
def external_oauth_token_user_mapping_claims(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
|
133
|
+
pulumi.set(self, "external_oauth_token_user_mapping_claims", value)
|
|
127
134
|
|
|
128
135
|
@property
|
|
129
|
-
@pulumi.getter
|
|
130
|
-
def
|
|
136
|
+
@pulumi.getter(name="externalOauthType")
|
|
137
|
+
def external_oauth_type(self) -> pulumi.Input[str]:
|
|
131
138
|
"""
|
|
132
|
-
Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server.
|
|
139
|
+
Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
133
140
|
"""
|
|
134
|
-
return pulumi.get(self, "
|
|
141
|
+
return pulumi.get(self, "external_oauth_type")
|
|
135
142
|
|
|
136
|
-
@
|
|
137
|
-
def
|
|
138
|
-
pulumi.set(self, "
|
|
143
|
+
@external_oauth_type.setter
|
|
144
|
+
def external_oauth_type(self, value: pulumi.Input[str]):
|
|
145
|
+
pulumi.set(self, "external_oauth_type", value)
|
|
139
146
|
|
|
140
147
|
@property
|
|
141
|
-
@pulumi.getter
|
|
142
|
-
def
|
|
148
|
+
@pulumi.getter
|
|
149
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
143
150
|
"""
|
|
144
|
-
Specifies
|
|
151
|
+
Specifies a comment for the OAuth integration.
|
|
145
152
|
"""
|
|
146
|
-
return pulumi.get(self, "
|
|
153
|
+
return pulumi.get(self, "comment")
|
|
147
154
|
|
|
148
|
-
@
|
|
149
|
-
def
|
|
150
|
-
pulumi.set(self, "
|
|
155
|
+
@comment.setter
|
|
156
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
157
|
+
pulumi.set(self, "comment", value)
|
|
151
158
|
|
|
152
159
|
@property
|
|
153
|
-
@pulumi.getter(name="
|
|
154
|
-
def
|
|
160
|
+
@pulumi.getter(name="externalOauthAllowedRolesLists")
|
|
161
|
+
def external_oauth_allowed_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
155
162
|
"""
|
|
156
|
-
Specifies
|
|
163
|
+
Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
157
164
|
"""
|
|
158
|
-
return pulumi.get(self, "
|
|
165
|
+
return pulumi.get(self, "external_oauth_allowed_roles_lists")
|
|
159
166
|
|
|
160
|
-
@
|
|
161
|
-
def
|
|
162
|
-
pulumi.set(self, "
|
|
167
|
+
@external_oauth_allowed_roles_lists.setter
|
|
168
|
+
def external_oauth_allowed_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
169
|
+
pulumi.set(self, "external_oauth_allowed_roles_lists", value)
|
|
163
170
|
|
|
164
171
|
@property
|
|
165
|
-
@pulumi.getter(name="
|
|
166
|
-
def
|
|
172
|
+
@pulumi.getter(name="externalOauthAnyRoleMode")
|
|
173
|
+
def external_oauth_any_role_mode(self) -> Optional[pulumi.Input[str]]:
|
|
167
174
|
"""
|
|
168
|
-
Specifies
|
|
175
|
+
Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
169
176
|
"""
|
|
170
|
-
return pulumi.get(self, "
|
|
177
|
+
return pulumi.get(self, "external_oauth_any_role_mode")
|
|
171
178
|
|
|
172
|
-
@
|
|
173
|
-
def
|
|
174
|
-
pulumi.set(self, "
|
|
179
|
+
@external_oauth_any_role_mode.setter
|
|
180
|
+
def external_oauth_any_role_mode(self, value: Optional[pulumi.Input[str]]):
|
|
181
|
+
pulumi.set(self, "external_oauth_any_role_mode", value)
|
|
175
182
|
|
|
176
183
|
@property
|
|
177
|
-
@pulumi.getter(name="
|
|
178
|
-
def
|
|
184
|
+
@pulumi.getter(name="externalOauthAudienceLists")
|
|
185
|
+
def external_oauth_audience_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
179
186
|
"""
|
|
180
|
-
Specifies
|
|
187
|
+
Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
181
188
|
"""
|
|
182
|
-
return pulumi.get(self, "
|
|
189
|
+
return pulumi.get(self, "external_oauth_audience_lists")
|
|
183
190
|
|
|
184
|
-
@
|
|
185
|
-
def
|
|
186
|
-
pulumi.set(self, "
|
|
191
|
+
@external_oauth_audience_lists.setter
|
|
192
|
+
def external_oauth_audience_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
193
|
+
pulumi.set(self, "external_oauth_audience_lists", value)
|
|
187
194
|
|
|
188
195
|
@property
|
|
189
|
-
@pulumi.getter
|
|
190
|
-
def
|
|
196
|
+
@pulumi.getter(name="externalOauthBlockedRolesLists")
|
|
197
|
+
def external_oauth_blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
191
198
|
"""
|
|
192
|
-
Specifies a
|
|
199
|
+
Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
193
200
|
"""
|
|
194
|
-
return pulumi.get(self, "
|
|
201
|
+
return pulumi.get(self, "external_oauth_blocked_roles_lists")
|
|
195
202
|
|
|
196
|
-
@
|
|
197
|
-
def
|
|
198
|
-
pulumi.set(self, "
|
|
203
|
+
@external_oauth_blocked_roles_lists.setter
|
|
204
|
+
def external_oauth_blocked_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
205
|
+
pulumi.set(self, "external_oauth_blocked_roles_lists", value)
|
|
199
206
|
|
|
200
207
|
@property
|
|
201
|
-
@pulumi.getter(name="
|
|
202
|
-
def
|
|
208
|
+
@pulumi.getter(name="externalOauthJwsKeysUrls")
|
|
209
|
+
def external_oauth_jws_keys_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
203
210
|
"""
|
|
204
|
-
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3.
|
|
211
|
+
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
205
212
|
"""
|
|
206
|
-
return pulumi.get(self, "
|
|
213
|
+
return pulumi.get(self, "external_oauth_jws_keys_urls")
|
|
207
214
|
|
|
208
|
-
@
|
|
209
|
-
def
|
|
210
|
-
pulumi.set(self, "
|
|
215
|
+
@external_oauth_jws_keys_urls.setter
|
|
216
|
+
def external_oauth_jws_keys_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
217
|
+
pulumi.set(self, "external_oauth_jws_keys_urls", value)
|
|
211
218
|
|
|
212
219
|
@property
|
|
213
|
-
@pulumi.getter
|
|
214
|
-
def
|
|
220
|
+
@pulumi.getter(name="externalOauthRsaPublicKey")
|
|
221
|
+
def external_oauth_rsa_public_key(self) -> Optional[pulumi.Input[str]]:
|
|
215
222
|
"""
|
|
216
|
-
Specifies
|
|
223
|
+
Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
217
224
|
"""
|
|
218
|
-
return pulumi.get(self, "
|
|
225
|
+
return pulumi.get(self, "external_oauth_rsa_public_key")
|
|
219
226
|
|
|
220
|
-
@
|
|
221
|
-
def
|
|
222
|
-
pulumi.set(self, "
|
|
227
|
+
@external_oauth_rsa_public_key.setter
|
|
228
|
+
def external_oauth_rsa_public_key(self, value: Optional[pulumi.Input[str]]):
|
|
229
|
+
pulumi.set(self, "external_oauth_rsa_public_key", value)
|
|
223
230
|
|
|
224
231
|
@property
|
|
225
|
-
@pulumi.getter(name="
|
|
226
|
-
def
|
|
232
|
+
@pulumi.getter(name="externalOauthRsaPublicKey2")
|
|
233
|
+
def external_oauth_rsa_public_key2(self) -> Optional[pulumi.Input[str]]:
|
|
227
234
|
"""
|
|
228
|
-
Specifies a
|
|
235
|
+
Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
229
236
|
"""
|
|
230
|
-
return pulumi.get(self, "
|
|
237
|
+
return pulumi.get(self, "external_oauth_rsa_public_key2")
|
|
231
238
|
|
|
232
|
-
@
|
|
233
|
-
def
|
|
234
|
-
pulumi.set(self, "
|
|
239
|
+
@external_oauth_rsa_public_key2.setter
|
|
240
|
+
def external_oauth_rsa_public_key2(self, value: Optional[pulumi.Input[str]]):
|
|
241
|
+
pulumi.set(self, "external_oauth_rsa_public_key2", value)
|
|
235
242
|
|
|
236
243
|
@property
|
|
237
|
-
@pulumi.getter(name="
|
|
238
|
-
def
|
|
244
|
+
@pulumi.getter(name="externalOauthScopeDelimiter")
|
|
245
|
+
def external_oauth_scope_delimiter(self) -> Optional[pulumi.Input[str]]:
|
|
239
246
|
"""
|
|
240
|
-
Specifies
|
|
247
|
+
Specifies the scope delimiter in the authorization token.
|
|
241
248
|
"""
|
|
242
|
-
return pulumi.get(self, "
|
|
249
|
+
return pulumi.get(self, "external_oauth_scope_delimiter")
|
|
243
250
|
|
|
244
|
-
@
|
|
245
|
-
def
|
|
246
|
-
pulumi.set(self, "
|
|
251
|
+
@external_oauth_scope_delimiter.setter
|
|
252
|
+
def external_oauth_scope_delimiter(self, value: Optional[pulumi.Input[str]]):
|
|
253
|
+
pulumi.set(self, "external_oauth_scope_delimiter", value)
|
|
247
254
|
|
|
248
255
|
@property
|
|
249
|
-
@pulumi.getter(name="
|
|
250
|
-
def
|
|
256
|
+
@pulumi.getter(name="externalOauthScopeMappingAttribute")
|
|
257
|
+
def external_oauth_scope_mapping_attribute(self) -> Optional[pulumi.Input[str]]:
|
|
251
258
|
"""
|
|
252
|
-
Specifies the
|
|
259
|
+
Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
253
260
|
"""
|
|
254
|
-
return pulumi.get(self, "
|
|
261
|
+
return pulumi.get(self, "external_oauth_scope_mapping_attribute")
|
|
255
262
|
|
|
256
|
-
@
|
|
257
|
-
def
|
|
258
|
-
pulumi.set(self, "
|
|
263
|
+
@external_oauth_scope_mapping_attribute.setter
|
|
264
|
+
def external_oauth_scope_mapping_attribute(self, value: Optional[pulumi.Input[str]]):
|
|
265
|
+
pulumi.set(self, "external_oauth_scope_mapping_attribute", value)
|
|
259
266
|
|
|
260
267
|
@property
|
|
261
|
-
@pulumi.getter
|
|
262
|
-
def
|
|
268
|
+
@pulumi.getter
|
|
269
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
263
270
|
"""
|
|
264
|
-
Specifies the
|
|
271
|
+
Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
265
272
|
"""
|
|
266
|
-
return pulumi.get(self, "
|
|
273
|
+
return pulumi.get(self, "name")
|
|
267
274
|
|
|
268
|
-
@
|
|
269
|
-
def
|
|
270
|
-
pulumi.set(self, "
|
|
275
|
+
@name.setter
|
|
276
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
277
|
+
pulumi.set(self, "name", value)
|
|
271
278
|
|
|
272
279
|
|
|
273
280
|
@pulumi.input_type
|
|
274
281
|
class _ExternalOauthIntegrationState:
|
|
275
282
|
def __init__(__self__, *,
|
|
276
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
277
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
278
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
279
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
280
283
|
comment: Optional[pulumi.Input[str]] = None,
|
|
281
|
-
|
|
284
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationDescribeOutputArgs']]]] = None,
|
|
282
285
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
283
|
-
|
|
284
|
-
|
|
286
|
+
external_oauth_allowed_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
287
|
+
external_oauth_any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
288
|
+
external_oauth_audience_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
289
|
+
external_oauth_blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
290
|
+
external_oauth_issuer: Optional[pulumi.Input[str]] = None,
|
|
291
|
+
external_oauth_jws_keys_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
292
|
+
external_oauth_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
293
|
+
external_oauth_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
294
|
+
external_oauth_scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
295
|
+
external_oauth_scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
296
|
+
external_oauth_snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
297
|
+
external_oauth_token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
298
|
+
external_oauth_type: Optional[pulumi.Input[str]] = None,
|
|
299
|
+
fully_qualified_name: Optional[pulumi.Input[str]] = None,
|
|
285
300
|
name: Optional[pulumi.Input[str]] = None,
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
289
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
290
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
291
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
292
|
-
type: Optional[pulumi.Input[str]] = None):
|
|
301
|
+
related_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationRelatedParameterArgs']]]] = None,
|
|
302
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationShowOutputArgs']]]] = None):
|
|
293
303
|
"""
|
|
294
304
|
Input properties used for looking up and filtering ExternalOauthIntegration resources.
|
|
295
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
296
|
-
:param pulumi.Input[str] any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token.
|
|
297
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] audience_urls: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
298
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles: Specifies the list of roles that a client cannot set as the primary role. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
|
|
299
305
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
300
|
-
:param pulumi.Input[
|
|
306
|
+
:param pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
|
|
301
307
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
302
|
-
:param pulumi.Input[str]
|
|
303
|
-
:param pulumi.Input[
|
|
304
|
-
:param pulumi.Input[str]
|
|
305
|
-
:param pulumi.Input[str]
|
|
306
|
-
:param pulumi.Input[str]
|
|
307
|
-
:param pulumi.Input[str]
|
|
308
|
-
:param pulumi.Input[str]
|
|
309
|
-
:param pulumi.Input[str]
|
|
310
|
-
:param pulumi.Input[
|
|
311
|
-
:param pulumi.Input[str]
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
pulumi.set(__self__, "blocked_roles", blocked_roles)
|
|
308
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_allowed_roles_lists: Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
309
|
+
:param pulumi.Input[str] external_oauth_any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
310
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_audience_lists: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
311
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_blocked_roles_lists: Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
312
|
+
:param pulumi.Input[str] external_oauth_issuer: Specifies the URL to define the OAuth 2.0 authorization server.
|
|
313
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_jws_keys_urls: Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
314
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key: Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
315
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key2: Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
316
|
+
:param pulumi.Input[str] external_oauth_scope_delimiter: Specifies the scope delimiter in the authorization token.
|
|
317
|
+
:param pulumi.Input[str] external_oauth_scope_mapping_attribute: Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
318
|
+
:param pulumi.Input[str] external_oauth_snowflake_user_mapping_attribute: Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
319
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_token_user_mapping_claims: Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
320
|
+
:param pulumi.Input[str] external_oauth_type: Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
321
|
+
: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).
|
|
322
|
+
:param pulumi.Input[str] name: Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
323
|
+
:param pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationRelatedParameterArgs']]] related_parameters: Parameters related to this security integration.
|
|
324
|
+
:param pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
|
|
325
|
+
"""
|
|
321
326
|
if comment is not None:
|
|
322
327
|
pulumi.set(__self__, "comment", comment)
|
|
323
|
-
if
|
|
324
|
-
pulumi.set(__self__, "
|
|
328
|
+
if describe_outputs is not None:
|
|
329
|
+
pulumi.set(__self__, "describe_outputs", describe_outputs)
|
|
325
330
|
if enabled is not None:
|
|
326
331
|
pulumi.set(__self__, "enabled", enabled)
|
|
327
|
-
if
|
|
328
|
-
pulumi.set(__self__, "
|
|
329
|
-
if
|
|
330
|
-
pulumi.set(__self__, "
|
|
332
|
+
if external_oauth_allowed_roles_lists is not None:
|
|
333
|
+
pulumi.set(__self__, "external_oauth_allowed_roles_lists", external_oauth_allowed_roles_lists)
|
|
334
|
+
if external_oauth_any_role_mode is not None:
|
|
335
|
+
pulumi.set(__self__, "external_oauth_any_role_mode", external_oauth_any_role_mode)
|
|
336
|
+
if external_oauth_audience_lists is not None:
|
|
337
|
+
pulumi.set(__self__, "external_oauth_audience_lists", external_oauth_audience_lists)
|
|
338
|
+
if external_oauth_blocked_roles_lists is not None:
|
|
339
|
+
pulumi.set(__self__, "external_oauth_blocked_roles_lists", external_oauth_blocked_roles_lists)
|
|
340
|
+
if external_oauth_issuer is not None:
|
|
341
|
+
pulumi.set(__self__, "external_oauth_issuer", external_oauth_issuer)
|
|
342
|
+
if external_oauth_jws_keys_urls is not None:
|
|
343
|
+
pulumi.set(__self__, "external_oauth_jws_keys_urls", external_oauth_jws_keys_urls)
|
|
344
|
+
if external_oauth_rsa_public_key is not None:
|
|
345
|
+
pulumi.set(__self__, "external_oauth_rsa_public_key", external_oauth_rsa_public_key)
|
|
346
|
+
if external_oauth_rsa_public_key2 is not None:
|
|
347
|
+
pulumi.set(__self__, "external_oauth_rsa_public_key2", external_oauth_rsa_public_key2)
|
|
348
|
+
if external_oauth_scope_delimiter is not None:
|
|
349
|
+
pulumi.set(__self__, "external_oauth_scope_delimiter", external_oauth_scope_delimiter)
|
|
350
|
+
if external_oauth_scope_mapping_attribute is not None:
|
|
351
|
+
pulumi.set(__self__, "external_oauth_scope_mapping_attribute", external_oauth_scope_mapping_attribute)
|
|
352
|
+
if external_oauth_snowflake_user_mapping_attribute is not None:
|
|
353
|
+
pulumi.set(__self__, "external_oauth_snowflake_user_mapping_attribute", external_oauth_snowflake_user_mapping_attribute)
|
|
354
|
+
if external_oauth_token_user_mapping_claims is not None:
|
|
355
|
+
pulumi.set(__self__, "external_oauth_token_user_mapping_claims", external_oauth_token_user_mapping_claims)
|
|
356
|
+
if external_oauth_type is not None:
|
|
357
|
+
pulumi.set(__self__, "external_oauth_type", external_oauth_type)
|
|
358
|
+
if fully_qualified_name is not None:
|
|
359
|
+
pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
|
|
331
360
|
if name is not None:
|
|
332
361
|
pulumi.set(__self__, "name", name)
|
|
333
|
-
if
|
|
334
|
-
pulumi.set(__self__, "
|
|
335
|
-
if
|
|
336
|
-
pulumi.set(__self__, "
|
|
337
|
-
if scope_delimiter is not None:
|
|
338
|
-
pulumi.set(__self__, "scope_delimiter", scope_delimiter)
|
|
339
|
-
if scope_mapping_attribute is not None:
|
|
340
|
-
pulumi.set(__self__, "scope_mapping_attribute", scope_mapping_attribute)
|
|
341
|
-
if snowflake_user_mapping_attribute is not None:
|
|
342
|
-
pulumi.set(__self__, "snowflake_user_mapping_attribute", snowflake_user_mapping_attribute)
|
|
343
|
-
if token_user_mapping_claims is not None:
|
|
344
|
-
pulumi.set(__self__, "token_user_mapping_claims", token_user_mapping_claims)
|
|
345
|
-
if type is not None:
|
|
346
|
-
pulumi.set(__self__, "type", type)
|
|
362
|
+
if related_parameters is not None:
|
|
363
|
+
pulumi.set(__self__, "related_parameters", related_parameters)
|
|
364
|
+
if show_outputs is not None:
|
|
365
|
+
pulumi.set(__self__, "show_outputs", show_outputs)
|
|
347
366
|
|
|
348
367
|
@property
|
|
349
|
-
@pulumi.getter
|
|
350
|
-
def
|
|
368
|
+
@pulumi.getter
|
|
369
|
+
def comment(self) -> Optional[pulumi.Input[str]]:
|
|
351
370
|
"""
|
|
352
|
-
Specifies
|
|
371
|
+
Specifies a comment for the OAuth integration.
|
|
353
372
|
"""
|
|
354
|
-
return pulumi.get(self, "
|
|
373
|
+
return pulumi.get(self, "comment")
|
|
355
374
|
|
|
356
|
-
@
|
|
357
|
-
def
|
|
358
|
-
pulumi.set(self, "
|
|
375
|
+
@comment.setter
|
|
376
|
+
def comment(self, value: Optional[pulumi.Input[str]]):
|
|
377
|
+
pulumi.set(self, "comment", value)
|
|
359
378
|
|
|
360
379
|
@property
|
|
361
|
-
@pulumi.getter(name="
|
|
362
|
-
def
|
|
380
|
+
@pulumi.getter(name="describeOutputs")
|
|
381
|
+
def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationDescribeOutputArgs']]]]:
|
|
363
382
|
"""
|
|
364
|
-
|
|
383
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
|
|
365
384
|
"""
|
|
366
|
-
return pulumi.get(self, "
|
|
385
|
+
return pulumi.get(self, "describe_outputs")
|
|
367
386
|
|
|
368
|
-
@
|
|
369
|
-
def
|
|
370
|
-
pulumi.set(self, "
|
|
387
|
+
@describe_outputs.setter
|
|
388
|
+
def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationDescribeOutputArgs']]]]):
|
|
389
|
+
pulumi.set(self, "describe_outputs", value)
|
|
371
390
|
|
|
372
391
|
@property
|
|
373
|
-
@pulumi.getter
|
|
374
|
-
def
|
|
392
|
+
@pulumi.getter
|
|
393
|
+
def enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
375
394
|
"""
|
|
376
|
-
Specifies
|
|
395
|
+
Specifies whether to initiate operation of the integration or suspend it.
|
|
377
396
|
"""
|
|
378
|
-
return pulumi.get(self, "
|
|
397
|
+
return pulumi.get(self, "enabled")
|
|
379
398
|
|
|
380
|
-
@
|
|
381
|
-
def
|
|
382
|
-
pulumi.set(self, "
|
|
399
|
+
@enabled.setter
|
|
400
|
+
def enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
401
|
+
pulumi.set(self, "enabled", value)
|
|
383
402
|
|
|
384
403
|
@property
|
|
385
|
-
@pulumi.getter(name="
|
|
386
|
-
def
|
|
404
|
+
@pulumi.getter(name="externalOauthAllowedRolesLists")
|
|
405
|
+
def external_oauth_allowed_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
387
406
|
"""
|
|
388
|
-
Specifies the list of roles that
|
|
407
|
+
Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
389
408
|
"""
|
|
390
|
-
return pulumi.get(self, "
|
|
409
|
+
return pulumi.get(self, "external_oauth_allowed_roles_lists")
|
|
391
410
|
|
|
392
|
-
@
|
|
393
|
-
def
|
|
394
|
-
pulumi.set(self, "
|
|
411
|
+
@external_oauth_allowed_roles_lists.setter
|
|
412
|
+
def external_oauth_allowed_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
413
|
+
pulumi.set(self, "external_oauth_allowed_roles_lists", value)
|
|
395
414
|
|
|
396
415
|
@property
|
|
397
|
-
@pulumi.getter
|
|
398
|
-
def
|
|
416
|
+
@pulumi.getter(name="externalOauthAnyRoleMode")
|
|
417
|
+
def external_oauth_any_role_mode(self) -> Optional[pulumi.Input[str]]:
|
|
399
418
|
"""
|
|
400
|
-
Specifies a
|
|
419
|
+
Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
401
420
|
"""
|
|
402
|
-
return pulumi.get(self, "
|
|
421
|
+
return pulumi.get(self, "external_oauth_any_role_mode")
|
|
403
422
|
|
|
404
|
-
@
|
|
405
|
-
def
|
|
406
|
-
pulumi.set(self, "
|
|
423
|
+
@external_oauth_any_role_mode.setter
|
|
424
|
+
def external_oauth_any_role_mode(self, value: Optional[pulumi.Input[str]]):
|
|
425
|
+
pulumi.set(self, "external_oauth_any_role_mode", value)
|
|
407
426
|
|
|
408
427
|
@property
|
|
409
|
-
@pulumi.getter(name="
|
|
410
|
-
def
|
|
428
|
+
@pulumi.getter(name="externalOauthAudienceLists")
|
|
429
|
+
def external_oauth_audience_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
411
430
|
"""
|
|
412
|
-
|
|
431
|
+
Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
413
432
|
"""
|
|
414
|
-
return pulumi.get(self, "
|
|
433
|
+
return pulumi.get(self, "external_oauth_audience_lists")
|
|
415
434
|
|
|
416
|
-
@
|
|
417
|
-
def
|
|
418
|
-
pulumi.set(self, "
|
|
435
|
+
@external_oauth_audience_lists.setter
|
|
436
|
+
def external_oauth_audience_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
437
|
+
pulumi.set(self, "external_oauth_audience_lists", value)
|
|
419
438
|
|
|
420
439
|
@property
|
|
421
|
-
@pulumi.getter
|
|
422
|
-
def
|
|
440
|
+
@pulumi.getter(name="externalOauthBlockedRolesLists")
|
|
441
|
+
def external_oauth_blocked_roles_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
423
442
|
"""
|
|
424
|
-
Specifies
|
|
443
|
+
Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
425
444
|
"""
|
|
426
|
-
return pulumi.get(self, "
|
|
445
|
+
return pulumi.get(self, "external_oauth_blocked_roles_lists")
|
|
427
446
|
|
|
428
|
-
@
|
|
429
|
-
def
|
|
430
|
-
pulumi.set(self, "
|
|
447
|
+
@external_oauth_blocked_roles_lists.setter
|
|
448
|
+
def external_oauth_blocked_roles_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
449
|
+
pulumi.set(self, "external_oauth_blocked_roles_lists", value)
|
|
431
450
|
|
|
432
451
|
@property
|
|
433
|
-
@pulumi.getter
|
|
434
|
-
def
|
|
452
|
+
@pulumi.getter(name="externalOauthIssuer")
|
|
453
|
+
def external_oauth_issuer(self) -> Optional[pulumi.Input[str]]:
|
|
435
454
|
"""
|
|
436
455
|
Specifies the URL to define the OAuth 2.0 authorization server.
|
|
437
456
|
"""
|
|
438
|
-
return pulumi.get(self, "
|
|
457
|
+
return pulumi.get(self, "external_oauth_issuer")
|
|
439
458
|
|
|
440
|
-
@
|
|
441
|
-
def
|
|
442
|
-
pulumi.set(self, "
|
|
459
|
+
@external_oauth_issuer.setter
|
|
460
|
+
def external_oauth_issuer(self, value: Optional[pulumi.Input[str]]):
|
|
461
|
+
pulumi.set(self, "external_oauth_issuer", value)
|
|
443
462
|
|
|
444
463
|
@property
|
|
445
|
-
@pulumi.getter(name="
|
|
446
|
-
def
|
|
464
|
+
@pulumi.getter(name="externalOauthJwsKeysUrls")
|
|
465
|
+
def external_oauth_jws_keys_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
447
466
|
"""
|
|
448
|
-
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3.
|
|
467
|
+
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
449
468
|
"""
|
|
450
|
-
return pulumi.get(self, "
|
|
469
|
+
return pulumi.get(self, "external_oauth_jws_keys_urls")
|
|
451
470
|
|
|
452
|
-
@
|
|
453
|
-
def
|
|
454
|
-
pulumi.set(self, "
|
|
471
|
+
@external_oauth_jws_keys_urls.setter
|
|
472
|
+
def external_oauth_jws_keys_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
473
|
+
pulumi.set(self, "external_oauth_jws_keys_urls", value)
|
|
455
474
|
|
|
456
475
|
@property
|
|
457
|
-
@pulumi.getter
|
|
458
|
-
def
|
|
476
|
+
@pulumi.getter(name="externalOauthRsaPublicKey")
|
|
477
|
+
def external_oauth_rsa_public_key(self) -> Optional[pulumi.Input[str]]:
|
|
459
478
|
"""
|
|
460
|
-
Specifies
|
|
479
|
+
Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
461
480
|
"""
|
|
462
|
-
return pulumi.get(self, "
|
|
481
|
+
return pulumi.get(self, "external_oauth_rsa_public_key")
|
|
463
482
|
|
|
464
|
-
@
|
|
465
|
-
def
|
|
466
|
-
pulumi.set(self, "
|
|
483
|
+
@external_oauth_rsa_public_key.setter
|
|
484
|
+
def external_oauth_rsa_public_key(self, value: Optional[pulumi.Input[str]]):
|
|
485
|
+
pulumi.set(self, "external_oauth_rsa_public_key", value)
|
|
467
486
|
|
|
468
487
|
@property
|
|
469
|
-
@pulumi.getter(name="
|
|
470
|
-
def
|
|
488
|
+
@pulumi.getter(name="externalOauthRsaPublicKey2")
|
|
489
|
+
def external_oauth_rsa_public_key2(self) -> Optional[pulumi.Input[str]]:
|
|
471
490
|
"""
|
|
472
|
-
Specifies a
|
|
491
|
+
Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
473
492
|
"""
|
|
474
|
-
return pulumi.get(self, "
|
|
493
|
+
return pulumi.get(self, "external_oauth_rsa_public_key2")
|
|
475
494
|
|
|
476
|
-
@
|
|
477
|
-
def
|
|
478
|
-
pulumi.set(self, "
|
|
495
|
+
@external_oauth_rsa_public_key2.setter
|
|
496
|
+
def external_oauth_rsa_public_key2(self, value: Optional[pulumi.Input[str]]):
|
|
497
|
+
pulumi.set(self, "external_oauth_rsa_public_key2", value)
|
|
479
498
|
|
|
480
499
|
@property
|
|
481
|
-
@pulumi.getter(name="
|
|
482
|
-
def
|
|
500
|
+
@pulumi.getter(name="externalOauthScopeDelimiter")
|
|
501
|
+
def external_oauth_scope_delimiter(self) -> Optional[pulumi.Input[str]]:
|
|
483
502
|
"""
|
|
484
|
-
Specifies
|
|
503
|
+
Specifies the scope delimiter in the authorization token.
|
|
485
504
|
"""
|
|
486
|
-
return pulumi.get(self, "
|
|
505
|
+
return pulumi.get(self, "external_oauth_scope_delimiter")
|
|
487
506
|
|
|
488
|
-
@
|
|
489
|
-
def
|
|
490
|
-
pulumi.set(self, "
|
|
507
|
+
@external_oauth_scope_delimiter.setter
|
|
508
|
+
def external_oauth_scope_delimiter(self, value: Optional[pulumi.Input[str]]):
|
|
509
|
+
pulumi.set(self, "external_oauth_scope_delimiter", value)
|
|
491
510
|
|
|
492
511
|
@property
|
|
493
|
-
@pulumi.getter(name="
|
|
494
|
-
def
|
|
512
|
+
@pulumi.getter(name="externalOauthScopeMappingAttribute")
|
|
513
|
+
def external_oauth_scope_mapping_attribute(self) -> Optional[pulumi.Input[str]]:
|
|
495
514
|
"""
|
|
496
|
-
Specifies the
|
|
515
|
+
Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
497
516
|
"""
|
|
498
|
-
return pulumi.get(self, "
|
|
517
|
+
return pulumi.get(self, "external_oauth_scope_mapping_attribute")
|
|
499
518
|
|
|
500
|
-
@
|
|
501
|
-
def
|
|
502
|
-
pulumi.set(self, "
|
|
519
|
+
@external_oauth_scope_mapping_attribute.setter
|
|
520
|
+
def external_oauth_scope_mapping_attribute(self, value: Optional[pulumi.Input[str]]):
|
|
521
|
+
pulumi.set(self, "external_oauth_scope_mapping_attribute", value)
|
|
503
522
|
|
|
504
523
|
@property
|
|
505
|
-
@pulumi.getter(name="
|
|
506
|
-
def
|
|
524
|
+
@pulumi.getter(name="externalOauthSnowflakeUserMappingAttribute")
|
|
525
|
+
def external_oauth_snowflake_user_mapping_attribute(self) -> Optional[pulumi.Input[str]]:
|
|
507
526
|
"""
|
|
508
|
-
|
|
527
|
+
Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
509
528
|
"""
|
|
510
|
-
return pulumi.get(self, "
|
|
529
|
+
return pulumi.get(self, "external_oauth_snowflake_user_mapping_attribute")
|
|
511
530
|
|
|
512
|
-
@
|
|
513
|
-
def
|
|
514
|
-
pulumi.set(self, "
|
|
531
|
+
@external_oauth_snowflake_user_mapping_attribute.setter
|
|
532
|
+
def external_oauth_snowflake_user_mapping_attribute(self, value: Optional[pulumi.Input[str]]):
|
|
533
|
+
pulumi.set(self, "external_oauth_snowflake_user_mapping_attribute", value)
|
|
515
534
|
|
|
516
535
|
@property
|
|
517
|
-
@pulumi.getter(name="
|
|
518
|
-
def
|
|
536
|
+
@pulumi.getter(name="externalOauthTokenUserMappingClaims")
|
|
537
|
+
def external_oauth_token_user_mapping_claims(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
519
538
|
"""
|
|
520
|
-
|
|
539
|
+
Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
521
540
|
"""
|
|
522
|
-
return pulumi.get(self, "
|
|
541
|
+
return pulumi.get(self, "external_oauth_token_user_mapping_claims")
|
|
523
542
|
|
|
524
|
-
@
|
|
525
|
-
def
|
|
526
|
-
pulumi.set(self, "
|
|
543
|
+
@external_oauth_token_user_mapping_claims.setter
|
|
544
|
+
def external_oauth_token_user_mapping_claims(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
545
|
+
pulumi.set(self, "external_oauth_token_user_mapping_claims", value)
|
|
527
546
|
|
|
528
547
|
@property
|
|
529
|
-
@pulumi.getter(name="
|
|
530
|
-
def
|
|
548
|
+
@pulumi.getter(name="externalOauthType")
|
|
549
|
+
def external_oauth_type(self) -> Optional[pulumi.Input[str]]:
|
|
531
550
|
"""
|
|
532
|
-
Specifies the
|
|
551
|
+
Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
533
552
|
"""
|
|
534
|
-
return pulumi.get(self, "
|
|
553
|
+
return pulumi.get(self, "external_oauth_type")
|
|
535
554
|
|
|
536
|
-
@
|
|
537
|
-
def
|
|
538
|
-
pulumi.set(self, "
|
|
555
|
+
@external_oauth_type.setter
|
|
556
|
+
def external_oauth_type(self, value: Optional[pulumi.Input[str]]):
|
|
557
|
+
pulumi.set(self, "external_oauth_type", value)
|
|
558
|
+
|
|
559
|
+
@property
|
|
560
|
+
@pulumi.getter(name="fullyQualifiedName")
|
|
561
|
+
def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
|
|
562
|
+
"""
|
|
563
|
+
Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
564
|
+
"""
|
|
565
|
+
return pulumi.get(self, "fully_qualified_name")
|
|
566
|
+
|
|
567
|
+
@fully_qualified_name.setter
|
|
568
|
+
def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
|
|
569
|
+
pulumi.set(self, "fully_qualified_name", value)
|
|
539
570
|
|
|
540
571
|
@property
|
|
541
572
|
@pulumi.getter
|
|
542
|
-
def
|
|
573
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
|
543
574
|
"""
|
|
544
|
-
Specifies the
|
|
575
|
+
Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
545
576
|
"""
|
|
546
|
-
return pulumi.get(self, "
|
|
577
|
+
return pulumi.get(self, "name")
|
|
547
578
|
|
|
548
|
-
@
|
|
549
|
-
def
|
|
550
|
-
pulumi.set(self, "
|
|
579
|
+
@name.setter
|
|
580
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
|
581
|
+
pulumi.set(self, "name", value)
|
|
582
|
+
|
|
583
|
+
@property
|
|
584
|
+
@pulumi.getter(name="relatedParameters")
|
|
585
|
+
def related_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationRelatedParameterArgs']]]]:
|
|
586
|
+
"""
|
|
587
|
+
Parameters related to this security integration.
|
|
588
|
+
"""
|
|
589
|
+
return pulumi.get(self, "related_parameters")
|
|
590
|
+
|
|
591
|
+
@related_parameters.setter
|
|
592
|
+
def related_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationRelatedParameterArgs']]]]):
|
|
593
|
+
pulumi.set(self, "related_parameters", value)
|
|
594
|
+
|
|
595
|
+
@property
|
|
596
|
+
@pulumi.getter(name="showOutputs")
|
|
597
|
+
def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationShowOutputArgs']]]]:
|
|
598
|
+
"""
|
|
599
|
+
Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
|
|
600
|
+
"""
|
|
601
|
+
return pulumi.get(self, "show_outputs")
|
|
602
|
+
|
|
603
|
+
@show_outputs.setter
|
|
604
|
+
def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalOauthIntegrationShowOutputArgs']]]]):
|
|
605
|
+
pulumi.set(self, "show_outputs", value)
|
|
551
606
|
|
|
552
607
|
|
|
553
608
|
class ExternalOauthIntegration(pulumi.CustomResource):
|
|
@@ -555,66 +610,48 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
555
610
|
def __init__(__self__,
|
|
556
611
|
resource_name: str,
|
|
557
612
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
558
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
559
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
560
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
561
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
562
613
|
comment: Optional[pulumi.Input[str]] = None,
|
|
563
614
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
564
|
-
|
|
565
|
-
|
|
615
|
+
external_oauth_allowed_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
616
|
+
external_oauth_any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
617
|
+
external_oauth_audience_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
618
|
+
external_oauth_blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
619
|
+
external_oauth_issuer: Optional[pulumi.Input[str]] = None,
|
|
620
|
+
external_oauth_jws_keys_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
621
|
+
external_oauth_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
622
|
+
external_oauth_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
623
|
+
external_oauth_scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
624
|
+
external_oauth_scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
625
|
+
external_oauth_snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
626
|
+
external_oauth_token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
627
|
+
external_oauth_type: Optional[pulumi.Input[str]] = None,
|
|
566
628
|
name: Optional[pulumi.Input[str]] = None,
|
|
567
|
-
rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
568
|
-
rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
569
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
570
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
571
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
572
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
573
|
-
type: Optional[pulumi.Input[str]] = None,
|
|
574
629
|
__props__=None):
|
|
575
630
|
"""
|
|
576
|
-
An External OAuth security integration allows a client to use a third-party authorization server to obtain the access tokens needed to interact with Snowflake.
|
|
577
|
-
|
|
578
|
-
## Example Usage
|
|
579
|
-
|
|
580
|
-
```python
|
|
581
|
-
import pulumi
|
|
582
|
-
import pulumi_snowflake as snowflake
|
|
583
|
-
|
|
584
|
-
azure = snowflake.ExternalOauthIntegration("azure",
|
|
585
|
-
audience_urls=["https://analysis.windows.net/powerbi/connector/Snowflake"],
|
|
586
|
-
enabled=True,
|
|
587
|
-
issuer="https://sts.windows.net/00000000-0000-0000-0000-000000000000",
|
|
588
|
-
jws_keys_urls=["https://login.windows.net/common/discovery/keys"],
|
|
589
|
-
snowflake_user_mapping_attribute="LOGIN_NAME",
|
|
590
|
-
token_user_mapping_claims=["upn"],
|
|
591
|
-
type="AZURE")
|
|
592
|
-
```
|
|
593
|
-
|
|
594
631
|
## Import
|
|
595
632
|
|
|
596
633
|
```sh
|
|
597
|
-
|
|
634
|
+
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example '"<integration_name>"'
|
|
598
635
|
```
|
|
599
636
|
|
|
600
637
|
:param str resource_name: The name of the resource.
|
|
601
638
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
602
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
603
|
-
:param pulumi.Input[str] any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token.
|
|
604
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] audience_urls: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
605
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles: Specifies the list of roles that a client cannot set as the primary role. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
|
|
606
639
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
607
640
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
608
|
-
:param pulumi.Input[str]
|
|
609
|
-
:param pulumi.Input[
|
|
610
|
-
:param pulumi.Input[str]
|
|
611
|
-
:param pulumi.Input[str]
|
|
612
|
-
:param pulumi.Input[str]
|
|
613
|
-
:param pulumi.Input[str]
|
|
614
|
-
:param pulumi.Input[str]
|
|
615
|
-
:param pulumi.Input[str]
|
|
616
|
-
:param pulumi.Input[
|
|
617
|
-
:param pulumi.Input[str]
|
|
641
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_allowed_roles_lists: Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
642
|
+
:param pulumi.Input[str] external_oauth_any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
643
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_audience_lists: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
644
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_blocked_roles_lists: Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
645
|
+
:param pulumi.Input[str] external_oauth_issuer: Specifies the URL to define the OAuth 2.0 authorization server.
|
|
646
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_jws_keys_urls: Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
647
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key: Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
648
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key2: Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
649
|
+
:param pulumi.Input[str] external_oauth_scope_delimiter: Specifies the scope delimiter in the authorization token.
|
|
650
|
+
:param pulumi.Input[str] external_oauth_scope_mapping_attribute: Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
651
|
+
:param pulumi.Input[str] external_oauth_snowflake_user_mapping_attribute: Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
652
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_token_user_mapping_claims: Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
653
|
+
:param pulumi.Input[str] external_oauth_type: Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
654
|
+
:param pulumi.Input[str] name: Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
618
655
|
"""
|
|
619
656
|
...
|
|
620
657
|
@overload
|
|
@@ -623,28 +660,10 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
623
660
|
args: ExternalOauthIntegrationArgs,
|
|
624
661
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
625
662
|
"""
|
|
626
|
-
An External OAuth security integration allows a client to use a third-party authorization server to obtain the access tokens needed to interact with Snowflake.
|
|
627
|
-
|
|
628
|
-
## Example Usage
|
|
629
|
-
|
|
630
|
-
```python
|
|
631
|
-
import pulumi
|
|
632
|
-
import pulumi_snowflake as snowflake
|
|
633
|
-
|
|
634
|
-
azure = snowflake.ExternalOauthIntegration("azure",
|
|
635
|
-
audience_urls=["https://analysis.windows.net/powerbi/connector/Snowflake"],
|
|
636
|
-
enabled=True,
|
|
637
|
-
issuer="https://sts.windows.net/00000000-0000-0000-0000-000000000000",
|
|
638
|
-
jws_keys_urls=["https://login.windows.net/common/discovery/keys"],
|
|
639
|
-
snowflake_user_mapping_attribute="LOGIN_NAME",
|
|
640
|
-
token_user_mapping_claims=["upn"],
|
|
641
|
-
type="AZURE")
|
|
642
|
-
```
|
|
643
|
-
|
|
644
663
|
## Import
|
|
645
664
|
|
|
646
665
|
```sh
|
|
647
|
-
|
|
666
|
+
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example '"<integration_name>"'
|
|
648
667
|
```
|
|
649
668
|
|
|
650
669
|
:param str resource_name: The name of the resource.
|
|
@@ -662,22 +681,22 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
662
681
|
def _internal_init(__self__,
|
|
663
682
|
resource_name: str,
|
|
664
683
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
665
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
666
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
667
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
668
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
669
684
|
comment: Optional[pulumi.Input[str]] = None,
|
|
670
685
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
671
|
-
|
|
672
|
-
|
|
686
|
+
external_oauth_allowed_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
687
|
+
external_oauth_any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
688
|
+
external_oauth_audience_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
689
|
+
external_oauth_blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
690
|
+
external_oauth_issuer: Optional[pulumi.Input[str]] = None,
|
|
691
|
+
external_oauth_jws_keys_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
692
|
+
external_oauth_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
693
|
+
external_oauth_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
694
|
+
external_oauth_scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
695
|
+
external_oauth_scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
696
|
+
external_oauth_snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
697
|
+
external_oauth_token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
698
|
+
external_oauth_type: Optional[pulumi.Input[str]] = None,
|
|
673
699
|
name: Optional[pulumi.Input[str]] = None,
|
|
674
|
-
rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
675
|
-
rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
676
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
677
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
678
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
679
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
680
|
-
type: Optional[pulumi.Input[str]] = None,
|
|
681
700
|
__props__=None):
|
|
682
701
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
683
702
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -687,33 +706,36 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
687
706
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
688
707
|
__props__ = ExternalOauthIntegrationArgs.__new__(ExternalOauthIntegrationArgs)
|
|
689
708
|
|
|
690
|
-
__props__.__dict__["allowed_roles"] = allowed_roles
|
|
691
|
-
__props__.__dict__["any_role_mode"] = any_role_mode
|
|
692
|
-
__props__.__dict__["audience_urls"] = audience_urls
|
|
693
|
-
__props__.__dict__["blocked_roles"] = blocked_roles
|
|
694
709
|
__props__.__dict__["comment"] = comment
|
|
695
710
|
if enabled is None and not opts.urn:
|
|
696
711
|
raise TypeError("Missing required property 'enabled'")
|
|
697
712
|
__props__.__dict__["enabled"] = enabled
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
__props__.__dict__["
|
|
701
|
-
__props__.__dict__["
|
|
713
|
+
__props__.__dict__["external_oauth_allowed_roles_lists"] = external_oauth_allowed_roles_lists
|
|
714
|
+
__props__.__dict__["external_oauth_any_role_mode"] = external_oauth_any_role_mode
|
|
715
|
+
__props__.__dict__["external_oauth_audience_lists"] = external_oauth_audience_lists
|
|
716
|
+
__props__.__dict__["external_oauth_blocked_roles_lists"] = external_oauth_blocked_roles_lists
|
|
717
|
+
if external_oauth_issuer is None and not opts.urn:
|
|
718
|
+
raise TypeError("Missing required property 'external_oauth_issuer'")
|
|
719
|
+
__props__.__dict__["external_oauth_issuer"] = external_oauth_issuer
|
|
720
|
+
__props__.__dict__["external_oauth_jws_keys_urls"] = external_oauth_jws_keys_urls
|
|
721
|
+
__props__.__dict__["external_oauth_rsa_public_key"] = external_oauth_rsa_public_key
|
|
722
|
+
__props__.__dict__["external_oauth_rsa_public_key2"] = external_oauth_rsa_public_key2
|
|
723
|
+
__props__.__dict__["external_oauth_scope_delimiter"] = external_oauth_scope_delimiter
|
|
724
|
+
__props__.__dict__["external_oauth_scope_mapping_attribute"] = external_oauth_scope_mapping_attribute
|
|
725
|
+
if external_oauth_snowflake_user_mapping_attribute is None and not opts.urn:
|
|
726
|
+
raise TypeError("Missing required property 'external_oauth_snowflake_user_mapping_attribute'")
|
|
727
|
+
__props__.__dict__["external_oauth_snowflake_user_mapping_attribute"] = external_oauth_snowflake_user_mapping_attribute
|
|
728
|
+
if external_oauth_token_user_mapping_claims is None and not opts.urn:
|
|
729
|
+
raise TypeError("Missing required property 'external_oauth_token_user_mapping_claims'")
|
|
730
|
+
__props__.__dict__["external_oauth_token_user_mapping_claims"] = external_oauth_token_user_mapping_claims
|
|
731
|
+
if external_oauth_type is None and not opts.urn:
|
|
732
|
+
raise TypeError("Missing required property 'external_oauth_type'")
|
|
733
|
+
__props__.__dict__["external_oauth_type"] = external_oauth_type
|
|
702
734
|
__props__.__dict__["name"] = name
|
|
703
|
-
__props__.__dict__["
|
|
704
|
-
__props__.__dict__["
|
|
705
|
-
__props__.__dict__["
|
|
706
|
-
__props__.__dict__["
|
|
707
|
-
if snowflake_user_mapping_attribute is None and not opts.urn:
|
|
708
|
-
raise TypeError("Missing required property 'snowflake_user_mapping_attribute'")
|
|
709
|
-
__props__.__dict__["snowflake_user_mapping_attribute"] = snowflake_user_mapping_attribute
|
|
710
|
-
if token_user_mapping_claims is None and not opts.urn:
|
|
711
|
-
raise TypeError("Missing required property 'token_user_mapping_claims'")
|
|
712
|
-
__props__.__dict__["token_user_mapping_claims"] = token_user_mapping_claims
|
|
713
|
-
if type is None and not opts.urn:
|
|
714
|
-
raise TypeError("Missing required property 'type'")
|
|
715
|
-
__props__.__dict__["type"] = type
|
|
716
|
-
__props__.__dict__["created_on"] = None
|
|
735
|
+
__props__.__dict__["describe_outputs"] = None
|
|
736
|
+
__props__.__dict__["fully_qualified_name"] = None
|
|
737
|
+
__props__.__dict__["related_parameters"] = None
|
|
738
|
+
__props__.__dict__["show_outputs"] = None
|
|
717
739
|
super(ExternalOauthIntegration, __self__).__init__(
|
|
718
740
|
'snowflake:index/externalOauthIntegration:ExternalOauthIntegration',
|
|
719
741
|
resource_name,
|
|
@@ -724,23 +746,26 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
724
746
|
def get(resource_name: str,
|
|
725
747
|
id: pulumi.Input[str],
|
|
726
748
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
727
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
728
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
729
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
730
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
731
749
|
comment: Optional[pulumi.Input[str]] = None,
|
|
732
|
-
|
|
750
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationDescribeOutputArgs', 'ExternalOauthIntegrationDescribeOutputArgsDict']]]]] = None,
|
|
733
751
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
734
|
-
|
|
735
|
-
|
|
752
|
+
external_oauth_allowed_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
753
|
+
external_oauth_any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
754
|
+
external_oauth_audience_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
755
|
+
external_oauth_blocked_roles_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
756
|
+
external_oauth_issuer: Optional[pulumi.Input[str]] = None,
|
|
757
|
+
external_oauth_jws_keys_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
758
|
+
external_oauth_rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
759
|
+
external_oauth_rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
760
|
+
external_oauth_scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
761
|
+
external_oauth_scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
762
|
+
external_oauth_snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
763
|
+
external_oauth_token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
764
|
+
external_oauth_type: Optional[pulumi.Input[str]] = None,
|
|
765
|
+
fully_qualified_name: Optional[pulumi.Input[str]] = None,
|
|
736
766
|
name: Optional[pulumi.Input[str]] = None,
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
740
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
741
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
742
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
743
|
-
type: Optional[pulumi.Input[str]] = None) -> 'ExternalOauthIntegration':
|
|
767
|
+
related_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationRelatedParameterArgs', 'ExternalOauthIntegrationRelatedParameterArgsDict']]]]] = None,
|
|
768
|
+
show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationShowOutputArgs', 'ExternalOauthIntegrationShowOutputArgsDict']]]]] = None) -> 'ExternalOauthIntegration':
|
|
744
769
|
"""
|
|
745
770
|
Get an existing ExternalOauthIntegration resource's state with the given name, id, and optional extra
|
|
746
771
|
properties used to qualify the lookup.
|
|
@@ -748,180 +773,210 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
748
773
|
:param str resource_name: The unique name of the resulting resource.
|
|
749
774
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
750
775
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
751
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
752
|
-
:param pulumi.Input[str] any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token.
|
|
753
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] audience_urls: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
754
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_roles: Specifies the list of roles that a client cannot set as the primary role. Do not include ACCOUNTADMIN, ORGADMIN or SECURITYADMIN as they are already implicitly enforced and will cause in-place updates.
|
|
755
776
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
756
|
-
:param pulumi.Input[
|
|
777
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationDescribeOutputArgs', 'ExternalOauthIntegrationDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
|
|
757
778
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
758
|
-
:param pulumi.Input[str]
|
|
759
|
-
:param pulumi.Input[
|
|
760
|
-
:param pulumi.Input[str]
|
|
761
|
-
:param pulumi.Input[str]
|
|
762
|
-
:param pulumi.Input[str]
|
|
763
|
-
:param pulumi.Input[str]
|
|
764
|
-
:param pulumi.Input[str]
|
|
765
|
-
:param pulumi.Input[str]
|
|
766
|
-
:param pulumi.Input[
|
|
767
|
-
:param pulumi.Input[str]
|
|
779
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_allowed_roles_lists: Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
780
|
+
:param pulumi.Input[str] external_oauth_any_role_mode: Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
781
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_audience_lists: Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
782
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_blocked_roles_lists: Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
783
|
+
:param pulumi.Input[str] external_oauth_issuer: Specifies the URL to define the OAuth 2.0 authorization server.
|
|
784
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_jws_keys_urls: Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
785
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key: Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
786
|
+
:param pulumi.Input[str] external_oauth_rsa_public_key2: Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
787
|
+
:param pulumi.Input[str] external_oauth_scope_delimiter: Specifies the scope delimiter in the authorization token.
|
|
788
|
+
:param pulumi.Input[str] external_oauth_scope_mapping_attribute: Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
789
|
+
:param pulumi.Input[str] external_oauth_snowflake_user_mapping_attribute: Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
790
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] external_oauth_token_user_mapping_claims: Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
791
|
+
:param pulumi.Input[str] external_oauth_type: Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
792
|
+
: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).
|
|
793
|
+
:param pulumi.Input[str] name: Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
794
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationRelatedParameterArgs', 'ExternalOauthIntegrationRelatedParameterArgsDict']]]] related_parameters: Parameters related to this security integration.
|
|
795
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationShowOutputArgs', 'ExternalOauthIntegrationShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
|
|
768
796
|
"""
|
|
769
797
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
770
798
|
|
|
771
799
|
__props__ = _ExternalOauthIntegrationState.__new__(_ExternalOauthIntegrationState)
|
|
772
800
|
|
|
773
|
-
__props__.__dict__["allowed_roles"] = allowed_roles
|
|
774
|
-
__props__.__dict__["any_role_mode"] = any_role_mode
|
|
775
|
-
__props__.__dict__["audience_urls"] = audience_urls
|
|
776
|
-
__props__.__dict__["blocked_roles"] = blocked_roles
|
|
777
801
|
__props__.__dict__["comment"] = comment
|
|
778
|
-
__props__.__dict__["
|
|
802
|
+
__props__.__dict__["describe_outputs"] = describe_outputs
|
|
779
803
|
__props__.__dict__["enabled"] = enabled
|
|
780
|
-
__props__.__dict__["
|
|
781
|
-
__props__.__dict__["
|
|
804
|
+
__props__.__dict__["external_oauth_allowed_roles_lists"] = external_oauth_allowed_roles_lists
|
|
805
|
+
__props__.__dict__["external_oauth_any_role_mode"] = external_oauth_any_role_mode
|
|
806
|
+
__props__.__dict__["external_oauth_audience_lists"] = external_oauth_audience_lists
|
|
807
|
+
__props__.__dict__["external_oauth_blocked_roles_lists"] = external_oauth_blocked_roles_lists
|
|
808
|
+
__props__.__dict__["external_oauth_issuer"] = external_oauth_issuer
|
|
809
|
+
__props__.__dict__["external_oauth_jws_keys_urls"] = external_oauth_jws_keys_urls
|
|
810
|
+
__props__.__dict__["external_oauth_rsa_public_key"] = external_oauth_rsa_public_key
|
|
811
|
+
__props__.__dict__["external_oauth_rsa_public_key2"] = external_oauth_rsa_public_key2
|
|
812
|
+
__props__.__dict__["external_oauth_scope_delimiter"] = external_oauth_scope_delimiter
|
|
813
|
+
__props__.__dict__["external_oauth_scope_mapping_attribute"] = external_oauth_scope_mapping_attribute
|
|
814
|
+
__props__.__dict__["external_oauth_snowflake_user_mapping_attribute"] = external_oauth_snowflake_user_mapping_attribute
|
|
815
|
+
__props__.__dict__["external_oauth_token_user_mapping_claims"] = external_oauth_token_user_mapping_claims
|
|
816
|
+
__props__.__dict__["external_oauth_type"] = external_oauth_type
|
|
817
|
+
__props__.__dict__["fully_qualified_name"] = fully_qualified_name
|
|
782
818
|
__props__.__dict__["name"] = name
|
|
783
|
-
__props__.__dict__["
|
|
784
|
-
__props__.__dict__["
|
|
785
|
-
__props__.__dict__["scope_delimiter"] = scope_delimiter
|
|
786
|
-
__props__.__dict__["scope_mapping_attribute"] = scope_mapping_attribute
|
|
787
|
-
__props__.__dict__["snowflake_user_mapping_attribute"] = snowflake_user_mapping_attribute
|
|
788
|
-
__props__.__dict__["token_user_mapping_claims"] = token_user_mapping_claims
|
|
789
|
-
__props__.__dict__["type"] = type
|
|
819
|
+
__props__.__dict__["related_parameters"] = related_parameters
|
|
820
|
+
__props__.__dict__["show_outputs"] = show_outputs
|
|
790
821
|
return ExternalOauthIntegration(resource_name, opts=opts, __props__=__props__)
|
|
791
822
|
|
|
792
823
|
@property
|
|
793
|
-
@pulumi.getter
|
|
794
|
-
def
|
|
824
|
+
@pulumi.getter
|
|
825
|
+
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
795
826
|
"""
|
|
796
|
-
Specifies
|
|
827
|
+
Specifies a comment for the OAuth integration.
|
|
797
828
|
"""
|
|
798
|
-
return pulumi.get(self, "
|
|
829
|
+
return pulumi.get(self, "comment")
|
|
799
830
|
|
|
800
831
|
@property
|
|
801
|
-
@pulumi.getter(name="
|
|
802
|
-
def
|
|
832
|
+
@pulumi.getter(name="describeOutputs")
|
|
833
|
+
def describe_outputs(self) -> pulumi.Output[Sequence['outputs.ExternalOauthIntegrationDescribeOutput']]:
|
|
803
834
|
"""
|
|
804
|
-
|
|
835
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
|
|
805
836
|
"""
|
|
806
|
-
return pulumi.get(self, "
|
|
837
|
+
return pulumi.get(self, "describe_outputs")
|
|
807
838
|
|
|
808
839
|
@property
|
|
809
|
-
@pulumi.getter
|
|
810
|
-
def
|
|
840
|
+
@pulumi.getter
|
|
841
|
+
def enabled(self) -> pulumi.Output[bool]:
|
|
811
842
|
"""
|
|
812
|
-
Specifies
|
|
843
|
+
Specifies whether to initiate operation of the integration or suspend it.
|
|
813
844
|
"""
|
|
814
|
-
return pulumi.get(self, "
|
|
845
|
+
return pulumi.get(self, "enabled")
|
|
815
846
|
|
|
816
847
|
@property
|
|
817
|
-
@pulumi.getter(name="
|
|
818
|
-
def
|
|
848
|
+
@pulumi.getter(name="externalOauthAllowedRolesLists")
|
|
849
|
+
def external_oauth_allowed_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
819
850
|
"""
|
|
820
|
-
Specifies the list of roles that
|
|
851
|
+
Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
|
|
821
852
|
"""
|
|
822
|
-
return pulumi.get(self, "
|
|
853
|
+
return pulumi.get(self, "external_oauth_allowed_roles_lists")
|
|
823
854
|
|
|
824
855
|
@property
|
|
825
|
-
@pulumi.getter
|
|
826
|
-
def
|
|
856
|
+
@pulumi.getter(name="externalOauthAnyRoleMode")
|
|
857
|
+
def external_oauth_any_role_mode(self) -> pulumi.Output[Optional[str]]:
|
|
827
858
|
"""
|
|
828
|
-
Specifies a
|
|
859
|
+
Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
|
|
829
860
|
"""
|
|
830
|
-
return pulumi.get(self, "
|
|
861
|
+
return pulumi.get(self, "external_oauth_any_role_mode")
|
|
831
862
|
|
|
832
863
|
@property
|
|
833
|
-
@pulumi.getter(name="
|
|
834
|
-
def
|
|
864
|
+
@pulumi.getter(name="externalOauthAudienceLists")
|
|
865
|
+
def external_oauth_audience_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
835
866
|
"""
|
|
836
|
-
|
|
867
|
+
Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
|
|
837
868
|
"""
|
|
838
|
-
return pulumi.get(self, "
|
|
869
|
+
return pulumi.get(self, "external_oauth_audience_lists")
|
|
839
870
|
|
|
840
871
|
@property
|
|
841
|
-
@pulumi.getter
|
|
842
|
-
def
|
|
872
|
+
@pulumi.getter(name="externalOauthBlockedRolesLists")
|
|
873
|
+
def external_oauth_blocked_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
843
874
|
"""
|
|
844
|
-
Specifies
|
|
875
|
+
Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
|
|
845
876
|
"""
|
|
846
|
-
return pulumi.get(self, "
|
|
877
|
+
return pulumi.get(self, "external_oauth_blocked_roles_lists")
|
|
847
878
|
|
|
848
879
|
@property
|
|
849
|
-
@pulumi.getter
|
|
850
|
-
def
|
|
880
|
+
@pulumi.getter(name="externalOauthIssuer")
|
|
881
|
+
def external_oauth_issuer(self) -> pulumi.Output[str]:
|
|
851
882
|
"""
|
|
852
883
|
Specifies the URL to define the OAuth 2.0 authorization server.
|
|
853
884
|
"""
|
|
854
|
-
return pulumi.get(self, "
|
|
885
|
+
return pulumi.get(self, "external_oauth_issuer")
|
|
855
886
|
|
|
856
887
|
@property
|
|
857
|
-
@pulumi.getter(name="
|
|
858
|
-
def
|
|
888
|
+
@pulumi.getter(name="externalOauthJwsKeysUrls")
|
|
889
|
+
def external_oauth_jws_keys_urls(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
859
890
|
"""
|
|
860
|
-
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3.
|
|
891
|
+
Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
|
|
861
892
|
"""
|
|
862
|
-
return pulumi.get(self, "
|
|
893
|
+
return pulumi.get(self, "external_oauth_jws_keys_urls")
|
|
863
894
|
|
|
864
895
|
@property
|
|
865
|
-
@pulumi.getter
|
|
866
|
-
def
|
|
896
|
+
@pulumi.getter(name="externalOauthRsaPublicKey")
|
|
897
|
+
def external_oauth_rsa_public_key(self) -> pulumi.Output[Optional[str]]:
|
|
867
898
|
"""
|
|
868
|
-
Specifies
|
|
899
|
+
Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
|
|
869
900
|
"""
|
|
870
|
-
return pulumi.get(self, "
|
|
901
|
+
return pulumi.get(self, "external_oauth_rsa_public_key")
|
|
871
902
|
|
|
872
903
|
@property
|
|
873
|
-
@pulumi.getter(name="
|
|
874
|
-
def
|
|
904
|
+
@pulumi.getter(name="externalOauthRsaPublicKey2")
|
|
905
|
+
def external_oauth_rsa_public_key2(self) -> pulumi.Output[Optional[str]]:
|
|
875
906
|
"""
|
|
876
|
-
Specifies a
|
|
907
|
+
Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
|
|
877
908
|
"""
|
|
878
|
-
return pulumi.get(self, "
|
|
909
|
+
return pulumi.get(self, "external_oauth_rsa_public_key2")
|
|
879
910
|
|
|
880
911
|
@property
|
|
881
|
-
@pulumi.getter(name="
|
|
882
|
-
def
|
|
912
|
+
@pulumi.getter(name="externalOauthScopeDelimiter")
|
|
913
|
+
def external_oauth_scope_delimiter(self) -> pulumi.Output[Optional[str]]:
|
|
883
914
|
"""
|
|
884
|
-
Specifies
|
|
915
|
+
Specifies the scope delimiter in the authorization token.
|
|
885
916
|
"""
|
|
886
|
-
return pulumi.get(self, "
|
|
917
|
+
return pulumi.get(self, "external_oauth_scope_delimiter")
|
|
887
918
|
|
|
888
919
|
@property
|
|
889
|
-
@pulumi.getter(name="
|
|
890
|
-
def
|
|
920
|
+
@pulumi.getter(name="externalOauthScopeMappingAttribute")
|
|
921
|
+
def external_oauth_scope_mapping_attribute(self) -> pulumi.Output[Optional[str]]:
|
|
891
922
|
"""
|
|
892
|
-
Specifies the
|
|
923
|
+
Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
|
|
893
924
|
"""
|
|
894
|
-
return pulumi.get(self, "
|
|
925
|
+
return pulumi.get(self, "external_oauth_scope_mapping_attribute")
|
|
895
926
|
|
|
896
927
|
@property
|
|
897
|
-
@pulumi.getter(name="
|
|
898
|
-
def
|
|
928
|
+
@pulumi.getter(name="externalOauthSnowflakeUserMappingAttribute")
|
|
929
|
+
def external_oauth_snowflake_user_mapping_attribute(self) -> pulumi.Output[str]:
|
|
899
930
|
"""
|
|
900
|
-
|
|
931
|
+
Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
|
|
901
932
|
"""
|
|
902
|
-
return pulumi.get(self, "
|
|
933
|
+
return pulumi.get(self, "external_oauth_snowflake_user_mapping_attribute")
|
|
903
934
|
|
|
904
935
|
@property
|
|
905
|
-
@pulumi.getter(name="
|
|
906
|
-
def
|
|
936
|
+
@pulumi.getter(name="externalOauthTokenUserMappingClaims")
|
|
937
|
+
def external_oauth_token_user_mapping_claims(self) -> pulumi.Output[Sequence[str]]:
|
|
907
938
|
"""
|
|
908
|
-
|
|
939
|
+
Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
|
|
909
940
|
"""
|
|
910
|
-
return pulumi.get(self, "
|
|
941
|
+
return pulumi.get(self, "external_oauth_token_user_mapping_claims")
|
|
911
942
|
|
|
912
943
|
@property
|
|
913
|
-
@pulumi.getter(name="
|
|
914
|
-
def
|
|
944
|
+
@pulumi.getter(name="externalOauthType")
|
|
945
|
+
def external_oauth_type(self) -> pulumi.Output[str]:
|
|
915
946
|
"""
|
|
916
|
-
Specifies the
|
|
947
|
+
Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
|
|
917
948
|
"""
|
|
918
|
-
return pulumi.get(self, "
|
|
949
|
+
return pulumi.get(self, "external_oauth_type")
|
|
950
|
+
|
|
951
|
+
@property
|
|
952
|
+
@pulumi.getter(name="fullyQualifiedName")
|
|
953
|
+
def fully_qualified_name(self) -> pulumi.Output[str]:
|
|
954
|
+
"""
|
|
955
|
+
Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
|
|
956
|
+
"""
|
|
957
|
+
return pulumi.get(self, "fully_qualified_name")
|
|
919
958
|
|
|
920
959
|
@property
|
|
921
960
|
@pulumi.getter
|
|
922
|
-
def
|
|
961
|
+
def name(self) -> pulumi.Output[str]:
|
|
962
|
+
"""
|
|
963
|
+
Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
|
|
964
|
+
"""
|
|
965
|
+
return pulumi.get(self, "name")
|
|
966
|
+
|
|
967
|
+
@property
|
|
968
|
+
@pulumi.getter(name="relatedParameters")
|
|
969
|
+
def related_parameters(self) -> pulumi.Output[Sequence['outputs.ExternalOauthIntegrationRelatedParameter']]:
|
|
970
|
+
"""
|
|
971
|
+
Parameters related to this security integration.
|
|
972
|
+
"""
|
|
973
|
+
return pulumi.get(self, "related_parameters")
|
|
974
|
+
|
|
975
|
+
@property
|
|
976
|
+
@pulumi.getter(name="showOutputs")
|
|
977
|
+
def show_outputs(self) -> pulumi.Output[Sequence['outputs.ExternalOauthIntegrationShowOutput']]:
|
|
923
978
|
"""
|
|
924
|
-
|
|
979
|
+
Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
|
|
925
980
|
"""
|
|
926
|
-
return pulumi.get(self, "
|
|
981
|
+
return pulumi.get(self, "show_outputs")
|
|
927
982
|
|