pulumi-snowflake 0.50.3a1710160126__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 +52857 -1665
- pulumi_snowflake/_utilities.py +41 -5
- pulumi_snowflake/account.py +188 -218
- pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
- pulumi_snowflake/account_parameter.py +21 -48
- pulumi_snowflake/account_password_policy_attachment.py +7 -32
- pulumi_snowflake/account_role.py +250 -0
- pulumi_snowflake/alert.py +38 -47
- 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 +33 -52
- 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 -213
- pulumi_snowflake/database_role.py +81 -44
- pulumi_snowflake/dynamic_table.py +42 -49
- pulumi_snowflake/email_notification_integration.py +33 -28
- pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -39
- pulumi_snowflake/external_function.py +54 -75
- pulumi_snowflake/external_oauth_integration.py +593 -542
- pulumi_snowflake/external_table.py +67 -90
- pulumi_snowflake/external_volume.py +382 -0
- pulumi_snowflake/failover_group.py +57 -98
- pulumi_snowflake/file_format.py +33 -28
- 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 -9
- pulumi_snowflake/get_connections.py +109 -0
- pulumi_snowflake/get_cortex_search_services.py +216 -0
- pulumi_snowflake/get_current_account.py +24 -13
- pulumi_snowflake/get_current_role.py +14 -7
- pulumi_snowflake/get_database.py +25 -9
- pulumi_snowflake/get_database_role.py +162 -0
- pulumi_snowflake/get_database_roles.py +79 -47
- pulumi_snowflake/get_databases.py +91 -73
- pulumi_snowflake/get_dynamic_tables.py +36 -19
- pulumi_snowflake/get_external_functions.py +28 -9
- pulumi_snowflake/get_external_tables.py +28 -9
- pulumi_snowflake/get_failover_groups.py +18 -7
- pulumi_snowflake/get_file_formats.py +28 -9
- pulumi_snowflake/get_functions.py +28 -9
- pulumi_snowflake/get_grants.py +207 -84
- pulumi_snowflake/get_masking_policies.py +91 -51
- pulumi_snowflake/get_materialized_views.py +28 -9
- pulumi_snowflake/get_network_policies.py +129 -0
- pulumi_snowflake/get_parameters.py +38 -15
- pulumi_snowflake/get_pipes.py +28 -9
- pulumi_snowflake/get_procedures.py +28 -9
- pulumi_snowflake/get_resource_monitors.py +37 -24
- pulumi_snowflake/get_row_access_policies.py +91 -51
- pulumi_snowflake/get_schemas.py +145 -41
- pulumi_snowflake/get_secrets.py +200 -0
- pulumi_snowflake/get_security_integrations.py +129 -0
- pulumi_snowflake/get_sequences.py +28 -9
- pulumi_snowflake/get_shares.py +18 -9
- pulumi_snowflake/get_stages.py +28 -9
- pulumi_snowflake/get_storage_integrations.py +16 -9
- pulumi_snowflake/get_streamlits.py +170 -0
- pulumi_snowflake/get_streams.py +114 -54
- pulumi_snowflake/get_system_generate_scim_access_token.py +18 -9
- pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
- pulumi_snowflake/get_system_get_private_link_config.py +120 -5
- pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
- pulumi_snowflake/get_tables.py +28 -9
- pulumi_snowflake/get_tags.py +130 -0
- pulumi_snowflake/get_tasks.py +134 -54
- pulumi_snowflake/get_users.py +116 -44
- pulumi_snowflake/get_views.py +114 -54
- pulumi_snowflake/get_warehouses.py +79 -26
- pulumi_snowflake/grant_account_role.py +28 -75
- pulumi_snowflake/grant_application_role.py +257 -0
- pulumi_snowflake/grant_database_role.py +35 -94
- 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 -383
- pulumi_snowflake/grant_privileges_to_share.py +96 -44
- pulumi_snowflake/legacy_service_user.py +3670 -0
- pulumi_snowflake/managed_account.py +40 -11
- pulumi_snowflake/masking_policy.py +213 -310
- pulumi_snowflake/materialized_view.py +62 -71
- pulumi_snowflake/network_policy.py +217 -61
- pulumi_snowflake/network_policy_attachment.py +5 -34
- pulumi_snowflake/network_rule.py +473 -0
- pulumi_snowflake/notification_integration.py +49 -84
- pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
- pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -192
- pulumi_snowflake/object_parameter.py +10 -101
- pulumi_snowflake/outputs.py +49200 -2928
- pulumi_snowflake/password_policy.py +41 -28
- pulumi_snowflake/pipe.py +33 -4
- 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 -327
- pulumi_snowflake/row_access_policy.py +200 -149
- pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -299
- pulumi_snowflake/schema.py +949 -178
- pulumi_snowflake/scim_integration.py +286 -109
- 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 -34
- pulumi_snowflake/service_user.py +3585 -0
- pulumi_snowflake/share.py +33 -28
- pulumi_snowflake/shared_database.py +939 -0
- pulumi_snowflake/stage.py +95 -84
- pulumi_snowflake/storage_integration.py +46 -4
- 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 -97
- pulumi_snowflake/table_column_masking_policy_application.py +7 -14
- pulumi_snowflake/table_constraint.py +29 -172
- pulumi_snowflake/tag.py +142 -74
- pulumi_snowflake/tag_association.py +40 -215
- pulumi_snowflake/task.py +3048 -418
- pulumi_snowflake/user.py +3351 -384
- pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
- pulumi_snowflake/user_password_policy_attachment.py +5 -4
- pulumi_snowflake/user_public_keys.py +5 -0
- pulumi_snowflake/view.py +466 -215
- pulumi_snowflake/warehouse.py +184 -168
- {pulumi_snowflake-0.50.3a1710160126.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.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
- pulumi_snowflake/account_grant.py +0 -343
- pulumi_snowflake/database_grant.py +0 -495
- pulumi_snowflake/external_table_grant.py +0 -690
- pulumi_snowflake/failover_group_grant.py +0 -388
- pulumi_snowflake/file_format_grant.py +0 -635
- pulumi_snowflake/function.py +0 -872
- pulumi_snowflake/function_grant.py +0 -745
- pulumi_snowflake/get_role.py +0 -121
- pulumi_snowflake/get_roles.py +0 -120
- pulumi_snowflake/grant_privileges_to_role.py +0 -825
- pulumi_snowflake/integration_grant.py +0 -440
- pulumi_snowflake/masking_policy_grant.py +0 -542
- pulumi_snowflake/materialized_view_grant.py +0 -689
- pulumi_snowflake/pipe_grant.py +0 -587
- pulumi_snowflake/procedure.py +0 -887
- pulumi_snowflake/procedure_grant.py +0 -745
- pulumi_snowflake/resource_monitor_grant.py +0 -387
- pulumi_snowflake/role.py +0 -273
- pulumi_snowflake/role_grants.py +0 -352
- pulumi_snowflake/role_ownership_grant.py +0 -338
- pulumi_snowflake/row_access_policy_grant.py +0 -540
- pulumi_snowflake/schema_grant.py +0 -647
- pulumi_snowflake/sequence_grant.py +0 -635
- pulumi_snowflake/session_parameter.py +0 -332
- pulumi_snowflake/stage_grant.py +0 -635
- pulumi_snowflake/stream.py +0 -614
- pulumi_snowflake/stream_grant.py +0 -635
- pulumi_snowflake/table_grant.py +0 -677
- pulumi_snowflake/tag_grant.py +0 -532
- pulumi_snowflake/tag_masking_policy_association.py +0 -210
- pulumi_snowflake/task_grant.py +0 -635
- pulumi_snowflake/user_grant.py +0 -394
- pulumi_snowflake/user_ownership_grant.py +0 -286
- pulumi_snowflake/view_grant.py +0 -705
- pulumi_snowflake/warehouse_grant.py +0 -440
- pulumi_snowflake-0.50.3a1710160126.dist-info/RECORD +0 -136
- {pulumi_snowflake-0.50.3a1710160126.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,68 +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
|
-
<!--Start PulumiCodeChooser -->
|
|
581
|
-
```python
|
|
582
|
-
import pulumi
|
|
583
|
-
import pulumi_snowflake as snowflake
|
|
584
|
-
|
|
585
|
-
azure = snowflake.ExternalOauthIntegration("azure",
|
|
586
|
-
audience_urls=["https://analysis.windows.net/powerbi/connector/Snowflake"],
|
|
587
|
-
enabled=True,
|
|
588
|
-
issuer="https://sts.windows.net/00000000-0000-0000-0000-000000000000",
|
|
589
|
-
jws_keys_urls=["https://login.windows.net/common/discovery/keys"],
|
|
590
|
-
snowflake_user_mapping_attribute="LOGIN_NAME",
|
|
591
|
-
token_user_mapping_claims=["upn"],
|
|
592
|
-
type="AZURE")
|
|
593
|
-
```
|
|
594
|
-
<!--End PulumiCodeChooser -->
|
|
595
|
-
|
|
596
631
|
## Import
|
|
597
632
|
|
|
598
633
|
```sh
|
|
599
|
-
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example
|
|
634
|
+
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example '"<integration_name>"'
|
|
600
635
|
```
|
|
601
636
|
|
|
602
637
|
:param str resource_name: The name of the resource.
|
|
603
638
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
604
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
605
|
-
: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.
|
|
606
|
-
: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
|
|
607
|
-
: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.
|
|
608
639
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
609
640
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
610
|
-
:param pulumi.Input[str]
|
|
611
|
-
:param pulumi.Input[
|
|
612
|
-
:param pulumi.Input[str]
|
|
613
|
-
:param pulumi.Input[str]
|
|
614
|
-
:param pulumi.Input[str]
|
|
615
|
-
:param pulumi.Input[str]
|
|
616
|
-
:param pulumi.Input[str]
|
|
617
|
-
:param pulumi.Input[str]
|
|
618
|
-
:param pulumi.Input[
|
|
619
|
-
: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: `|`, `.`, `"`.
|
|
620
655
|
"""
|
|
621
656
|
...
|
|
622
657
|
@overload
|
|
@@ -625,30 +660,10 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
625
660
|
args: ExternalOauthIntegrationArgs,
|
|
626
661
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
627
662
|
"""
|
|
628
|
-
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.
|
|
629
|
-
|
|
630
|
-
## Example Usage
|
|
631
|
-
|
|
632
|
-
<!--Start PulumiCodeChooser -->
|
|
633
|
-
```python
|
|
634
|
-
import pulumi
|
|
635
|
-
import pulumi_snowflake as snowflake
|
|
636
|
-
|
|
637
|
-
azure = snowflake.ExternalOauthIntegration("azure",
|
|
638
|
-
audience_urls=["https://analysis.windows.net/powerbi/connector/Snowflake"],
|
|
639
|
-
enabled=True,
|
|
640
|
-
issuer="https://sts.windows.net/00000000-0000-0000-0000-000000000000",
|
|
641
|
-
jws_keys_urls=["https://login.windows.net/common/discovery/keys"],
|
|
642
|
-
snowflake_user_mapping_attribute="LOGIN_NAME",
|
|
643
|
-
token_user_mapping_claims=["upn"],
|
|
644
|
-
type="AZURE")
|
|
645
|
-
```
|
|
646
|
-
<!--End PulumiCodeChooser -->
|
|
647
|
-
|
|
648
663
|
## Import
|
|
649
664
|
|
|
650
665
|
```sh
|
|
651
|
-
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example
|
|
666
|
+
$ pulumi import snowflake:index/externalOauthIntegration:ExternalOauthIntegration example '"<integration_name>"'
|
|
652
667
|
```
|
|
653
668
|
|
|
654
669
|
:param str resource_name: The name of the resource.
|
|
@@ -666,22 +681,22 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
666
681
|
def _internal_init(__self__,
|
|
667
682
|
resource_name: str,
|
|
668
683
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
669
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
670
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
671
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
672
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
673
684
|
comment: Optional[pulumi.Input[str]] = None,
|
|
674
685
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
675
|
-
|
|
676
|
-
|
|
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,
|
|
677
699
|
name: Optional[pulumi.Input[str]] = None,
|
|
678
|
-
rsa_public_key: Optional[pulumi.Input[str]] = None,
|
|
679
|
-
rsa_public_key2: Optional[pulumi.Input[str]] = None,
|
|
680
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
681
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
682
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
683
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
684
|
-
type: Optional[pulumi.Input[str]] = None,
|
|
685
700
|
__props__=None):
|
|
686
701
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
687
702
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -691,33 +706,36 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
691
706
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
692
707
|
__props__ = ExternalOauthIntegrationArgs.__new__(ExternalOauthIntegrationArgs)
|
|
693
708
|
|
|
694
|
-
__props__.__dict__["allowed_roles"] = allowed_roles
|
|
695
|
-
__props__.__dict__["any_role_mode"] = any_role_mode
|
|
696
|
-
__props__.__dict__["audience_urls"] = audience_urls
|
|
697
|
-
__props__.__dict__["blocked_roles"] = blocked_roles
|
|
698
709
|
__props__.__dict__["comment"] = comment
|
|
699
710
|
if enabled is None and not opts.urn:
|
|
700
711
|
raise TypeError("Missing required property 'enabled'")
|
|
701
712
|
__props__.__dict__["enabled"] = enabled
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
__props__.__dict__["
|
|
705
|
-
__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
|
|
706
734
|
__props__.__dict__["name"] = name
|
|
707
|
-
__props__.__dict__["
|
|
708
|
-
__props__.__dict__["
|
|
709
|
-
__props__.__dict__["
|
|
710
|
-
__props__.__dict__["
|
|
711
|
-
if snowflake_user_mapping_attribute is None and not opts.urn:
|
|
712
|
-
raise TypeError("Missing required property 'snowflake_user_mapping_attribute'")
|
|
713
|
-
__props__.__dict__["snowflake_user_mapping_attribute"] = snowflake_user_mapping_attribute
|
|
714
|
-
if token_user_mapping_claims is None and not opts.urn:
|
|
715
|
-
raise TypeError("Missing required property 'token_user_mapping_claims'")
|
|
716
|
-
__props__.__dict__["token_user_mapping_claims"] = token_user_mapping_claims
|
|
717
|
-
if type is None and not opts.urn:
|
|
718
|
-
raise TypeError("Missing required property 'type'")
|
|
719
|
-
__props__.__dict__["type"] = type
|
|
720
|
-
__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
|
|
721
739
|
super(ExternalOauthIntegration, __self__).__init__(
|
|
722
740
|
'snowflake:index/externalOauthIntegration:ExternalOauthIntegration',
|
|
723
741
|
resource_name,
|
|
@@ -728,23 +746,26 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
728
746
|
def get(resource_name: str,
|
|
729
747
|
id: pulumi.Input[str],
|
|
730
748
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
731
|
-
allowed_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
732
|
-
any_role_mode: Optional[pulumi.Input[str]] = None,
|
|
733
|
-
audience_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
734
|
-
blocked_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
735
749
|
comment: Optional[pulumi.Input[str]] = None,
|
|
736
|
-
|
|
750
|
+
describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalOauthIntegrationDescribeOutputArgs', 'ExternalOauthIntegrationDescribeOutputArgsDict']]]]] = None,
|
|
737
751
|
enabled: Optional[pulumi.Input[bool]] = None,
|
|
738
|
-
|
|
739
|
-
|
|
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,
|
|
740
766
|
name: Optional[pulumi.Input[str]] = None,
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
scope_delimiter: Optional[pulumi.Input[str]] = None,
|
|
744
|
-
scope_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
745
|
-
snowflake_user_mapping_attribute: Optional[pulumi.Input[str]] = None,
|
|
746
|
-
token_user_mapping_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
747
|
-
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':
|
|
748
769
|
"""
|
|
749
770
|
Get an existing ExternalOauthIntegration resource's state with the given name, id, and optional extra
|
|
750
771
|
properties used to qualify the lookup.
|
|
@@ -752,180 +773,210 @@ class ExternalOauthIntegration(pulumi.CustomResource):
|
|
|
752
773
|
:param str resource_name: The unique name of the resulting resource.
|
|
753
774
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
754
775
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
755
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_roles: Specifies the list of roles that the client can set as the primary role.
|
|
756
|
-
: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.
|
|
757
|
-
: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
|
|
758
|
-
: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.
|
|
759
776
|
:param pulumi.Input[str] comment: Specifies a comment for the OAuth integration.
|
|
760
|
-
: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.
|
|
761
778
|
:param pulumi.Input[bool] enabled: Specifies whether to initiate operation of the integration or suspend it.
|
|
762
|
-
:param pulumi.Input[str]
|
|
763
|
-
:param pulumi.Input[
|
|
764
|
-
:param pulumi.Input[str]
|
|
765
|
-
:param pulumi.Input[str]
|
|
766
|
-
:param pulumi.Input[str]
|
|
767
|
-
:param pulumi.Input[str]
|
|
768
|
-
:param pulumi.Input[str]
|
|
769
|
-
:param pulumi.Input[str]
|
|
770
|
-
:param pulumi.Input[
|
|
771
|
-
: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.
|
|
772
796
|
"""
|
|
773
797
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
774
798
|
|
|
775
799
|
__props__ = _ExternalOauthIntegrationState.__new__(_ExternalOauthIntegrationState)
|
|
776
800
|
|
|
777
|
-
__props__.__dict__["allowed_roles"] = allowed_roles
|
|
778
|
-
__props__.__dict__["any_role_mode"] = any_role_mode
|
|
779
|
-
__props__.__dict__["audience_urls"] = audience_urls
|
|
780
|
-
__props__.__dict__["blocked_roles"] = blocked_roles
|
|
781
801
|
__props__.__dict__["comment"] = comment
|
|
782
|
-
__props__.__dict__["
|
|
802
|
+
__props__.__dict__["describe_outputs"] = describe_outputs
|
|
783
803
|
__props__.__dict__["enabled"] = enabled
|
|
784
|
-
__props__.__dict__["
|
|
785
|
-
__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
|
|
786
818
|
__props__.__dict__["name"] = name
|
|
787
|
-
__props__.__dict__["
|
|
788
|
-
__props__.__dict__["
|
|
789
|
-
__props__.__dict__["scope_delimiter"] = scope_delimiter
|
|
790
|
-
__props__.__dict__["scope_mapping_attribute"] = scope_mapping_attribute
|
|
791
|
-
__props__.__dict__["snowflake_user_mapping_attribute"] = snowflake_user_mapping_attribute
|
|
792
|
-
__props__.__dict__["token_user_mapping_claims"] = token_user_mapping_claims
|
|
793
|
-
__props__.__dict__["type"] = type
|
|
819
|
+
__props__.__dict__["related_parameters"] = related_parameters
|
|
820
|
+
__props__.__dict__["show_outputs"] = show_outputs
|
|
794
821
|
return ExternalOauthIntegration(resource_name, opts=opts, __props__=__props__)
|
|
795
822
|
|
|
796
823
|
@property
|
|
797
|
-
@pulumi.getter
|
|
798
|
-
def
|
|
824
|
+
@pulumi.getter
|
|
825
|
+
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
799
826
|
"""
|
|
800
|
-
Specifies
|
|
827
|
+
Specifies a comment for the OAuth integration.
|
|
801
828
|
"""
|
|
802
|
-
return pulumi.get(self, "
|
|
829
|
+
return pulumi.get(self, "comment")
|
|
803
830
|
|
|
804
831
|
@property
|
|
805
|
-
@pulumi.getter(name="
|
|
806
|
-
def
|
|
832
|
+
@pulumi.getter(name="describeOutputs")
|
|
833
|
+
def describe_outputs(self) -> pulumi.Output[Sequence['outputs.ExternalOauthIntegrationDescribeOutput']]:
|
|
807
834
|
"""
|
|
808
|
-
|
|
835
|
+
Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
|
|
809
836
|
"""
|
|
810
|
-
return pulumi.get(self, "
|
|
837
|
+
return pulumi.get(self, "describe_outputs")
|
|
811
838
|
|
|
812
839
|
@property
|
|
813
|
-
@pulumi.getter
|
|
814
|
-
def
|
|
840
|
+
@pulumi.getter
|
|
841
|
+
def enabled(self) -> pulumi.Output[bool]:
|
|
815
842
|
"""
|
|
816
|
-
Specifies
|
|
843
|
+
Specifies whether to initiate operation of the integration or suspend it.
|
|
817
844
|
"""
|
|
818
|
-
return pulumi.get(self, "
|
|
845
|
+
return pulumi.get(self, "enabled")
|
|
819
846
|
|
|
820
847
|
@property
|
|
821
|
-
@pulumi.getter(name="
|
|
822
|
-
def
|
|
848
|
+
@pulumi.getter(name="externalOauthAllowedRolesLists")
|
|
849
|
+
def external_oauth_allowed_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
823
850
|
"""
|
|
824
|
-
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.
|
|
825
852
|
"""
|
|
826
|
-
return pulumi.get(self, "
|
|
853
|
+
return pulumi.get(self, "external_oauth_allowed_roles_lists")
|
|
827
854
|
|
|
828
855
|
@property
|
|
829
|
-
@pulumi.getter
|
|
830
|
-
def
|
|
856
|
+
@pulumi.getter(name="externalOauthAnyRoleMode")
|
|
857
|
+
def external_oauth_any_role_mode(self) -> pulumi.Output[Optional[str]]:
|
|
831
858
|
"""
|
|
832
|
-
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`.
|
|
833
860
|
"""
|
|
834
|
-
return pulumi.get(self, "
|
|
861
|
+
return pulumi.get(self, "external_oauth_any_role_mode")
|
|
835
862
|
|
|
836
863
|
@property
|
|
837
|
-
@pulumi.getter(name="
|
|
838
|
-
def
|
|
864
|
+
@pulumi.getter(name="externalOauthAudienceLists")
|
|
865
|
+
def external_oauth_audience_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
839
866
|
"""
|
|
840
|
-
|
|
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
|
|
841
868
|
"""
|
|
842
|
-
return pulumi.get(self, "
|
|
869
|
+
return pulumi.get(self, "external_oauth_audience_lists")
|
|
843
870
|
|
|
844
871
|
@property
|
|
845
|
-
@pulumi.getter
|
|
846
|
-
def
|
|
872
|
+
@pulumi.getter(name="externalOauthBlockedRolesLists")
|
|
873
|
+
def external_oauth_blocked_roles_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
847
874
|
"""
|
|
848
|
-
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.
|
|
849
876
|
"""
|
|
850
|
-
return pulumi.get(self, "
|
|
877
|
+
return pulumi.get(self, "external_oauth_blocked_roles_lists")
|
|
851
878
|
|
|
852
879
|
@property
|
|
853
|
-
@pulumi.getter
|
|
854
|
-
def
|
|
880
|
+
@pulumi.getter(name="externalOauthIssuer")
|
|
881
|
+
def external_oauth_issuer(self) -> pulumi.Output[str]:
|
|
855
882
|
"""
|
|
856
883
|
Specifies the URL to define the OAuth 2.0 authorization server.
|
|
857
884
|
"""
|
|
858
|
-
return pulumi.get(self, "
|
|
885
|
+
return pulumi.get(self, "external_oauth_issuer")
|
|
859
886
|
|
|
860
887
|
@property
|
|
861
|
-
@pulumi.getter(name="
|
|
862
|
-
def
|
|
888
|
+
@pulumi.getter(name="externalOauthJwsKeysUrls")
|
|
889
|
+
def external_oauth_jws_keys_urls(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
863
890
|
"""
|
|
864
|
-
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.
|
|
865
892
|
"""
|
|
866
|
-
return pulumi.get(self, "
|
|
893
|
+
return pulumi.get(self, "external_oauth_jws_keys_urls")
|
|
867
894
|
|
|
868
895
|
@property
|
|
869
|
-
@pulumi.getter
|
|
870
|
-
def
|
|
896
|
+
@pulumi.getter(name="externalOauthRsaPublicKey")
|
|
897
|
+
def external_oauth_rsa_public_key(self) -> pulumi.Output[Optional[str]]:
|
|
871
898
|
"""
|
|
872
|
-
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.
|
|
873
900
|
"""
|
|
874
|
-
return pulumi.get(self, "
|
|
901
|
+
return pulumi.get(self, "external_oauth_rsa_public_key")
|
|
875
902
|
|
|
876
903
|
@property
|
|
877
|
-
@pulumi.getter(name="
|
|
878
|
-
def
|
|
904
|
+
@pulumi.getter(name="externalOauthRsaPublicKey2")
|
|
905
|
+
def external_oauth_rsa_public_key2(self) -> pulumi.Output[Optional[str]]:
|
|
879
906
|
"""
|
|
880
|
-
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.
|
|
881
908
|
"""
|
|
882
|
-
return pulumi.get(self, "
|
|
909
|
+
return pulumi.get(self, "external_oauth_rsa_public_key2")
|
|
883
910
|
|
|
884
911
|
@property
|
|
885
|
-
@pulumi.getter(name="
|
|
886
|
-
def
|
|
912
|
+
@pulumi.getter(name="externalOauthScopeDelimiter")
|
|
913
|
+
def external_oauth_scope_delimiter(self) -> pulumi.Output[Optional[str]]:
|
|
887
914
|
"""
|
|
888
|
-
Specifies
|
|
915
|
+
Specifies the scope delimiter in the authorization token.
|
|
889
916
|
"""
|
|
890
|
-
return pulumi.get(self, "
|
|
917
|
+
return pulumi.get(self, "external_oauth_scope_delimiter")
|
|
891
918
|
|
|
892
919
|
@property
|
|
893
|
-
@pulumi.getter(name="
|
|
894
|
-
def
|
|
920
|
+
@pulumi.getter(name="externalOauthScopeMappingAttribute")
|
|
921
|
+
def external_oauth_scope_mapping_attribute(self) -> pulumi.Output[Optional[str]]:
|
|
895
922
|
"""
|
|
896
|
-
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.
|
|
897
924
|
"""
|
|
898
|
-
return pulumi.get(self, "
|
|
925
|
+
return pulumi.get(self, "external_oauth_scope_mapping_attribute")
|
|
899
926
|
|
|
900
927
|
@property
|
|
901
|
-
@pulumi.getter(name="
|
|
902
|
-
def
|
|
928
|
+
@pulumi.getter(name="externalOauthSnowflakeUserMappingAttribute")
|
|
929
|
+
def external_oauth_snowflake_user_mapping_attribute(self) -> pulumi.Output[str]:
|
|
903
930
|
"""
|
|
904
|
-
|
|
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`.
|
|
905
932
|
"""
|
|
906
|
-
return pulumi.get(self, "
|
|
933
|
+
return pulumi.get(self, "external_oauth_snowflake_user_mapping_attribute")
|
|
907
934
|
|
|
908
935
|
@property
|
|
909
|
-
@pulumi.getter(name="
|
|
910
|
-
def
|
|
936
|
+
@pulumi.getter(name="externalOauthTokenUserMappingClaims")
|
|
937
|
+
def external_oauth_token_user_mapping_claims(self) -> pulumi.Output[Sequence[str]]:
|
|
911
938
|
"""
|
|
912
|
-
|
|
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.
|
|
913
940
|
"""
|
|
914
|
-
return pulumi.get(self, "
|
|
941
|
+
return pulumi.get(self, "external_oauth_token_user_mapping_claims")
|
|
915
942
|
|
|
916
943
|
@property
|
|
917
|
-
@pulumi.getter(name="
|
|
918
|
-
def
|
|
944
|
+
@pulumi.getter(name="externalOauthType")
|
|
945
|
+
def external_oauth_type(self) -> pulumi.Output[str]:
|
|
919
946
|
"""
|
|
920
|
-
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`.
|
|
921
948
|
"""
|
|
922
|
-
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")
|
|
923
958
|
|
|
924
959
|
@property
|
|
925
960
|
@pulumi.getter
|
|
926
|
-
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']]:
|
|
927
978
|
"""
|
|
928
|
-
|
|
979
|
+
Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
|
|
929
980
|
"""
|
|
930
|
-
return pulumi.get(self, "
|
|
981
|
+
return pulumi.get(self, "show_outputs")
|
|
931
982
|
|