pulumi-snowflake 2.7.0a1759215867__py3-none-any.whl → 2.11.0a1766126285__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.
@@ -30,6 +30,8 @@ class ProviderArgs:
30
30
  disable_query_context_cache: Optional[pulumi.Input[_builtins.bool]] = None,
31
31
  disable_telemetry: Optional[pulumi.Input[_builtins.bool]] = None,
32
32
  driver_tracing: Optional[pulumi.Input[_builtins.str]] = None,
33
+ enable_single_use_refresh_tokens: Optional[pulumi.Input[_builtins.bool]] = None,
34
+ experimental_features_enableds: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
35
  external_browser_timeout: Optional[pulumi.Input[_builtins.int]] = None,
34
36
  host: Optional[pulumi.Input[_builtins.str]] = None,
35
37
  include_retry_reason: Optional[pulumi.Input[_builtins.str]] = None,
@@ -37,8 +39,16 @@ class ProviderArgs:
37
39
  jwt_client_timeout: Optional[pulumi.Input[_builtins.int]] = None,
38
40
  jwt_expire_timeout: Optional[pulumi.Input[_builtins.int]] = None,
39
41
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
42
+ log_query_parameters: Optional[pulumi.Input[_builtins.bool]] = None,
43
+ log_query_text: Optional[pulumi.Input[_builtins.bool]] = None,
40
44
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
41
45
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
46
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
47
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
48
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
49
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
50
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
51
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
42
52
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
43
53
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
44
54
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -61,11 +71,13 @@ class ProviderArgs:
61
71
  use_legacy_toml_file: Optional[pulumi.Input[_builtins.bool]] = None,
62
72
  user: Optional[pulumi.Input[_builtins.str]] = None,
63
73
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
64
- warehouse: Optional[pulumi.Input[_builtins.str]] = None):
74
+ warehouse: Optional[pulumi.Input[_builtins.str]] = None,
75
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
76
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None):
65
77
  """
66
78
  The set of arguments for constructing a Provider resource.
67
79
  :param pulumi.Input[_builtins.str] account_name: Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
68
- :param pulumi.Input[_builtins.str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
80
+ :param pulumi.Input[_builtins.str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN` | `OAUTH_CLIENT_CREDENTIALS` | `OAUTH_AUTHORIZATION_CODE` | `WORKLOAD_IDENTITY`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
69
81
  :param pulumi.Input[_builtins.str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
70
82
  :param pulumi.Input[_builtins.str] client_request_mfa_token: When true the MFA token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
71
83
  :param pulumi.Input[_builtins.str] client_store_temporary_credential: When true the ID token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
@@ -74,6 +86,8 @@ class ProviderArgs:
74
86
  :param pulumi.Input[_builtins.bool] disable_query_context_cache: Disables HTAP query context cache in the driver. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE` environment variable.
75
87
  :param pulumi.Input[_builtins.bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
76
88
  :param pulumi.Input[_builtins.str] driver_tracing: Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` | `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
89
+ :param pulumi.Input[_builtins.bool] enable_single_use_refresh_tokens: Enables single use refresh tokens for Snowflake IdP. Can also be sourced from the `SNOWFLAKE_ENABLE_SINGLE_USE_REFRESH_TOKENS` environment variable.
90
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experimental_features_enableds: A list of experimental features. Similarly to preview features, they are not yet stable features of the provider. Enabling given experiment is still considered a preview feature, even when applied to the stable resource. These switches offer experiments altering the provider behavior. If the given experiment is successful, it can be considered an addition in the future provider versions. This field can not be set with environmental variables. Valid options are: `PARAMETERS_IGNORE_VALUE_CHANGES_IF_NOT_ON_OBJECT_LEVEL` | `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
77
91
  :param pulumi.Input[_builtins.int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Can also be sourced from the `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
78
92
  :param pulumi.Input[_builtins.str] host: Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the `SNOWFLAKE_HOST` environment variable.
79
93
  :param pulumi.Input[_builtins.str] include_retry_reason: Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment variable.
@@ -81,8 +95,16 @@ class ProviderArgs:
81
95
  :param pulumi.Input[_builtins.int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Can also be sourced from the `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
82
96
  :param pulumi.Input[_builtins.int] jwt_expire_timeout: JWT expire after timeout in seconds. Can also be sourced from the `SNOWFLAKE_JWT_EXPIRE_TIMEOUT` environment variable.
83
97
  :param pulumi.Input[_builtins.bool] keep_session_alive: Enables the session to persist even after the connection is closed. Can also be sourced from the `SNOWFLAKE_KEEP_SESSION_ALIVE` environment variable.
98
+ :param pulumi.Input[_builtins.bool] log_query_parameters: When set to true, the parameters will be logged. Requires logQueryText to be enabled first. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_PARAMETERS` environment variable.
99
+ :param pulumi.Input[_builtins.bool] log_query_text: When set to true, the full query text will be logged. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_TEXT` environment variable.
84
100
  :param pulumi.Input[_builtins.int] login_timeout: Login retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the `SNOWFLAKE_LOGIN_TIMEOUT` environment variable.
85
101
  :param pulumi.Input[_builtins.int] max_retry_count: Specifies how many times non-periodic HTTP request can be retried by the driver. Can also be sourced from the `SNOWFLAKE_MAX_RETRY_COUNT` environment variable.
102
+ :param pulumi.Input[_builtins.str] oauth_authorization_url: Authorization URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_AUTHORIZATION_URL` environment variable.
103
+ :param pulumi.Input[_builtins.str] oauth_client_id: Client id for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_ID` environment variable.
104
+ :param pulumi.Input[_builtins.str] oauth_client_secret: Client secret for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_SECRET` environment variable.
105
+ :param pulumi.Input[_builtins.str] oauth_redirect_uri: Redirect URI registered in IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_REDIRECT_URI` environment variable.
106
+ :param pulumi.Input[_builtins.str] oauth_scope: Comma separated list of scopes. If empty it is derived from role. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_SCOPE` environment variable.
107
+ :param pulumi.Input[_builtins.str] oauth_token_request_url: Token request URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_TOKEN_REQUEST_URL` environment variable.
86
108
  :param pulumi.Input[_builtins.str] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
87
109
  :param pulumi.Input[_builtins.str] okta_url: The URL of the Okta server. e.g. https://example.okta.com. Okta URL host needs to to have a suffix `okta.com`. Read more in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment variable.
88
110
  :param pulumi.Input[_builtins.str] organization_name: Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
@@ -100,10 +122,13 @@ class ProviderArgs:
100
122
  :param pulumi.Input[_builtins.bool] skip_toml_file_permission_verification: False by default. Skips TOML configuration file permission verification. This flag has no effect on Windows systems, as the permissions are not checked on this platform. Instead of skipping the permissions verification, we recommend setting the proper privileges - see the section below. Can also be sourced from the `SNOWFLAKE_SKIP_TOML_FILE_PERMISSION_VERIFICATION` environment variable.
101
123
  :param pulumi.Input[_builtins.str] tmp_directory_path: Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
102
124
  :param pulumi.Input[_builtins.str] token: Token to use for OAuth and other forms of token based auth. When this field is set here, or in the TOML file, the provider sets the `authenticator` to `OAUTH`. Optionally, set the `authenticator` field to the authenticator you want to use. Can also be sourced from the `SNOWFLAKE_TOKEN` environment variable.
125
+ :param pulumi.Input['ProviderTokenAccessorArgs'] token_accessor: If you are using the OAuth authentication flows, use the dedicated `authenticator` and `oauth...` fields instead. See our authentication methods guide for more information.
103
126
  :param pulumi.Input[_builtins.bool] use_legacy_toml_file: False by default. When this is set to true, the provider expects the legacy TOML format. Otherwise, it expects the new format. See more in the section below Can also be sourced from the `SNOWFLAKE_USE_LEGACY_TOML_FILE` environment variable.
104
127
  :param pulumi.Input[_builtins.str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
105
128
  :param pulumi.Input[_builtins.str] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
106
129
  :param pulumi.Input[_builtins.str] warehouse: Specifies the virtual warehouse to use by default for queries, loading, etc. in the client session. Can also be sourced from the `SNOWFLAKE_WAREHOUSE` environment variable.
130
+ :param pulumi.Input[_builtins.str] workload_identity_entra_resource: The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
131
+ :param pulumi.Input[_builtins.str] workload_identity_provider: The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
107
132
  """
108
133
  if account_name is not None:
109
134
  pulumi.set(__self__, "account_name", account_name)
@@ -125,6 +150,10 @@ class ProviderArgs:
125
150
  pulumi.set(__self__, "disable_telemetry", disable_telemetry)
126
151
  if driver_tracing is not None:
127
152
  pulumi.set(__self__, "driver_tracing", driver_tracing)
153
+ if enable_single_use_refresh_tokens is not None:
154
+ pulumi.set(__self__, "enable_single_use_refresh_tokens", enable_single_use_refresh_tokens)
155
+ if experimental_features_enableds is not None:
156
+ pulumi.set(__self__, "experimental_features_enableds", experimental_features_enableds)
128
157
  if external_browser_timeout is not None:
129
158
  pulumi.set(__self__, "external_browser_timeout", external_browser_timeout)
130
159
  if host is None:
@@ -141,10 +170,26 @@ class ProviderArgs:
141
170
  pulumi.set(__self__, "jwt_expire_timeout", jwt_expire_timeout)
142
171
  if keep_session_alive is not None:
143
172
  pulumi.set(__self__, "keep_session_alive", keep_session_alive)
173
+ if log_query_parameters is not None:
174
+ pulumi.set(__self__, "log_query_parameters", log_query_parameters)
175
+ if log_query_text is not None:
176
+ pulumi.set(__self__, "log_query_text", log_query_text)
144
177
  if login_timeout is not None:
145
178
  pulumi.set(__self__, "login_timeout", login_timeout)
146
179
  if max_retry_count is not None:
147
180
  pulumi.set(__self__, "max_retry_count", max_retry_count)
181
+ if oauth_authorization_url is not None:
182
+ pulumi.set(__self__, "oauth_authorization_url", oauth_authorization_url)
183
+ if oauth_client_id is not None:
184
+ pulumi.set(__self__, "oauth_client_id", oauth_client_id)
185
+ if oauth_client_secret is not None:
186
+ pulumi.set(__self__, "oauth_client_secret", oauth_client_secret)
187
+ if oauth_redirect_uri is not None:
188
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
189
+ if oauth_scope is not None:
190
+ pulumi.set(__self__, "oauth_scope", oauth_scope)
191
+ if oauth_token_request_url is not None:
192
+ pulumi.set(__self__, "oauth_token_request_url", oauth_token_request_url)
148
193
  if ocsp_fail_open is not None:
149
194
  pulumi.set(__self__, "ocsp_fail_open", ocsp_fail_open)
150
195
  if okta_url is not None:
@@ -203,6 +248,10 @@ class ProviderArgs:
203
248
  warehouse = _utilities.get_env('SNOWFLAKE_WAREHOUSE')
204
249
  if warehouse is not None:
205
250
  pulumi.set(__self__, "warehouse", warehouse)
251
+ if workload_identity_entra_resource is not None:
252
+ pulumi.set(__self__, "workload_identity_entra_resource", workload_identity_entra_resource)
253
+ if workload_identity_provider is not None:
254
+ pulumi.set(__self__, "workload_identity_provider", workload_identity_provider)
206
255
 
207
256
  @_builtins.property
208
257
  @pulumi.getter(name="accountName")
@@ -220,7 +269,7 @@ class ProviderArgs:
220
269
  @pulumi.getter
221
270
  def authenticator(self) -> Optional[pulumi.Input[_builtins.str]]:
222
271
  """
223
- Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
272
+ Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN` | `OAUTH_CLIENT_CREDENTIALS` | `OAUTH_AUTHORIZATION_CODE` | `WORKLOAD_IDENTITY`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
224
273
  """
225
274
  return pulumi.get(self, "authenticator")
226
275
 
@@ -324,6 +373,30 @@ class ProviderArgs:
324
373
  def driver_tracing(self, value: Optional[pulumi.Input[_builtins.str]]):
325
374
  pulumi.set(self, "driver_tracing", value)
326
375
 
376
+ @_builtins.property
377
+ @pulumi.getter(name="enableSingleUseRefreshTokens")
378
+ def enable_single_use_refresh_tokens(self) -> Optional[pulumi.Input[_builtins.bool]]:
379
+ """
380
+ Enables single use refresh tokens for Snowflake IdP. Can also be sourced from the `SNOWFLAKE_ENABLE_SINGLE_USE_REFRESH_TOKENS` environment variable.
381
+ """
382
+ return pulumi.get(self, "enable_single_use_refresh_tokens")
383
+
384
+ @enable_single_use_refresh_tokens.setter
385
+ def enable_single_use_refresh_tokens(self, value: Optional[pulumi.Input[_builtins.bool]]):
386
+ pulumi.set(self, "enable_single_use_refresh_tokens", value)
387
+
388
+ @_builtins.property
389
+ @pulumi.getter(name="experimentalFeaturesEnableds")
390
+ def experimental_features_enableds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
391
+ """
392
+ A list of experimental features. Similarly to preview features, they are not yet stable features of the provider. Enabling given experiment is still considered a preview feature, even when applied to the stable resource. These switches offer experiments altering the provider behavior. If the given experiment is successful, it can be considered an addition in the future provider versions. This field can not be set with environmental variables. Valid options are: `PARAMETERS_IGNORE_VALUE_CHANGES_IF_NOT_ON_OBJECT_LEVEL` | `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
393
+ """
394
+ return pulumi.get(self, "experimental_features_enableds")
395
+
396
+ @experimental_features_enableds.setter
397
+ def experimental_features_enableds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
398
+ pulumi.set(self, "experimental_features_enableds", value)
399
+
327
400
  @_builtins.property
328
401
  @pulumi.getter(name="externalBrowserTimeout")
329
402
  def external_browser_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
@@ -408,6 +481,30 @@ class ProviderArgs:
408
481
  def keep_session_alive(self, value: Optional[pulumi.Input[_builtins.bool]]):
409
482
  pulumi.set(self, "keep_session_alive", value)
410
483
 
484
+ @_builtins.property
485
+ @pulumi.getter(name="logQueryParameters")
486
+ def log_query_parameters(self) -> Optional[pulumi.Input[_builtins.bool]]:
487
+ """
488
+ When set to true, the parameters will be logged. Requires logQueryText to be enabled first. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_PARAMETERS` environment variable.
489
+ """
490
+ return pulumi.get(self, "log_query_parameters")
491
+
492
+ @log_query_parameters.setter
493
+ def log_query_parameters(self, value: Optional[pulumi.Input[_builtins.bool]]):
494
+ pulumi.set(self, "log_query_parameters", value)
495
+
496
+ @_builtins.property
497
+ @pulumi.getter(name="logQueryText")
498
+ def log_query_text(self) -> Optional[pulumi.Input[_builtins.bool]]:
499
+ """
500
+ When set to true, the full query text will be logged. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_TEXT` environment variable.
501
+ """
502
+ return pulumi.get(self, "log_query_text")
503
+
504
+ @log_query_text.setter
505
+ def log_query_text(self, value: Optional[pulumi.Input[_builtins.bool]]):
506
+ pulumi.set(self, "log_query_text", value)
507
+
411
508
  @_builtins.property
412
509
  @pulumi.getter(name="loginTimeout")
413
510
  def login_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
@@ -432,6 +529,78 @@ class ProviderArgs:
432
529
  def max_retry_count(self, value: Optional[pulumi.Input[_builtins.int]]):
433
530
  pulumi.set(self, "max_retry_count", value)
434
531
 
532
+ @_builtins.property
533
+ @pulumi.getter(name="oauthAuthorizationUrl")
534
+ def oauth_authorization_url(self) -> Optional[pulumi.Input[_builtins.str]]:
535
+ """
536
+ Authorization URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_AUTHORIZATION_URL` environment variable.
537
+ """
538
+ return pulumi.get(self, "oauth_authorization_url")
539
+
540
+ @oauth_authorization_url.setter
541
+ def oauth_authorization_url(self, value: Optional[pulumi.Input[_builtins.str]]):
542
+ pulumi.set(self, "oauth_authorization_url", value)
543
+
544
+ @_builtins.property
545
+ @pulumi.getter(name="oauthClientId")
546
+ def oauth_client_id(self) -> Optional[pulumi.Input[_builtins.str]]:
547
+ """
548
+ Client id for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_ID` environment variable.
549
+ """
550
+ return pulumi.get(self, "oauth_client_id")
551
+
552
+ @oauth_client_id.setter
553
+ def oauth_client_id(self, value: Optional[pulumi.Input[_builtins.str]]):
554
+ pulumi.set(self, "oauth_client_id", value)
555
+
556
+ @_builtins.property
557
+ @pulumi.getter(name="oauthClientSecret")
558
+ def oauth_client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
559
+ """
560
+ Client secret for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_SECRET` environment variable.
561
+ """
562
+ return pulumi.get(self, "oauth_client_secret")
563
+
564
+ @oauth_client_secret.setter
565
+ def oauth_client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
566
+ pulumi.set(self, "oauth_client_secret", value)
567
+
568
+ @_builtins.property
569
+ @pulumi.getter(name="oauthRedirectUri")
570
+ def oauth_redirect_uri(self) -> Optional[pulumi.Input[_builtins.str]]:
571
+ """
572
+ Redirect URI registered in IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_REDIRECT_URI` environment variable.
573
+ """
574
+ return pulumi.get(self, "oauth_redirect_uri")
575
+
576
+ @oauth_redirect_uri.setter
577
+ def oauth_redirect_uri(self, value: Optional[pulumi.Input[_builtins.str]]):
578
+ pulumi.set(self, "oauth_redirect_uri", value)
579
+
580
+ @_builtins.property
581
+ @pulumi.getter(name="oauthScope")
582
+ def oauth_scope(self) -> Optional[pulumi.Input[_builtins.str]]:
583
+ """
584
+ Comma separated list of scopes. If empty it is derived from role. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_SCOPE` environment variable.
585
+ """
586
+ return pulumi.get(self, "oauth_scope")
587
+
588
+ @oauth_scope.setter
589
+ def oauth_scope(self, value: Optional[pulumi.Input[_builtins.str]]):
590
+ pulumi.set(self, "oauth_scope", value)
591
+
592
+ @_builtins.property
593
+ @pulumi.getter(name="oauthTokenRequestUrl")
594
+ def oauth_token_request_url(self) -> Optional[pulumi.Input[_builtins.str]]:
595
+ """
596
+ Token request URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_TOKEN_REQUEST_URL` environment variable.
597
+ """
598
+ return pulumi.get(self, "oauth_token_request_url")
599
+
600
+ @oauth_token_request_url.setter
601
+ def oauth_token_request_url(self, value: Optional[pulumi.Input[_builtins.str]]):
602
+ pulumi.set(self, "oauth_token_request_url", value)
603
+
435
604
  @_builtins.property
436
605
  @pulumi.getter(name="ocspFailOpen")
437
606
  def ocsp_fail_open(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -648,6 +817,9 @@ class ProviderArgs:
648
817
  @_builtins.property
649
818
  @pulumi.getter(name="tokenAccessor")
650
819
  def token_accessor(self) -> Optional[pulumi.Input['ProviderTokenAccessorArgs']]:
820
+ """
821
+ If you are using the OAuth authentication flows, use the dedicated `authenticator` and `oauth...` fields instead. See our authentication methods guide for more information.
822
+ """
651
823
  return pulumi.get(self, "token_accessor")
652
824
 
653
825
  @token_accessor.setter
@@ -702,6 +874,30 @@ class ProviderArgs:
702
874
  def warehouse(self, value: Optional[pulumi.Input[_builtins.str]]):
703
875
  pulumi.set(self, "warehouse", value)
704
876
 
877
+ @_builtins.property
878
+ @pulumi.getter(name="workloadIdentityEntraResource")
879
+ def workload_identity_entra_resource(self) -> Optional[pulumi.Input[_builtins.str]]:
880
+ """
881
+ The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
882
+ """
883
+ return pulumi.get(self, "workload_identity_entra_resource")
884
+
885
+ @workload_identity_entra_resource.setter
886
+ def workload_identity_entra_resource(self, value: Optional[pulumi.Input[_builtins.str]]):
887
+ pulumi.set(self, "workload_identity_entra_resource", value)
888
+
889
+ @_builtins.property
890
+ @pulumi.getter(name="workloadIdentityProvider")
891
+ def workload_identity_provider(self) -> Optional[pulumi.Input[_builtins.str]]:
892
+ """
893
+ The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
894
+ """
895
+ return pulumi.get(self, "workload_identity_provider")
896
+
897
+ @workload_identity_provider.setter
898
+ def workload_identity_provider(self, value: Optional[pulumi.Input[_builtins.str]]):
899
+ pulumi.set(self, "workload_identity_provider", value)
900
+
705
901
 
706
902
  @pulumi.type_token("pulumi:providers:snowflake")
707
903
  class Provider(pulumi.ProviderResource):
@@ -719,6 +915,8 @@ class Provider(pulumi.ProviderResource):
719
915
  disable_query_context_cache: Optional[pulumi.Input[_builtins.bool]] = None,
720
916
  disable_telemetry: Optional[pulumi.Input[_builtins.bool]] = None,
721
917
  driver_tracing: Optional[pulumi.Input[_builtins.str]] = None,
918
+ enable_single_use_refresh_tokens: Optional[pulumi.Input[_builtins.bool]] = None,
919
+ experimental_features_enableds: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
722
920
  external_browser_timeout: Optional[pulumi.Input[_builtins.int]] = None,
723
921
  host: Optional[pulumi.Input[_builtins.str]] = None,
724
922
  include_retry_reason: Optional[pulumi.Input[_builtins.str]] = None,
@@ -726,8 +924,16 @@ class Provider(pulumi.ProviderResource):
726
924
  jwt_client_timeout: Optional[pulumi.Input[_builtins.int]] = None,
727
925
  jwt_expire_timeout: Optional[pulumi.Input[_builtins.int]] = None,
728
926
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
927
+ log_query_parameters: Optional[pulumi.Input[_builtins.bool]] = None,
928
+ log_query_text: Optional[pulumi.Input[_builtins.bool]] = None,
729
929
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
730
930
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
931
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
932
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
933
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
934
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
935
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
936
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
731
937
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
732
938
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
733
939
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -751,6 +957,8 @@ class Provider(pulumi.ProviderResource):
751
957
  user: Optional[pulumi.Input[_builtins.str]] = None,
752
958
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
753
959
  warehouse: Optional[pulumi.Input[_builtins.str]] = None,
960
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
961
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None,
754
962
  __props__=None):
755
963
  """
756
964
  The provider type for the snowflake package. By default, resources use package-wide configuration
@@ -761,7 +969,7 @@ class Provider(pulumi.ProviderResource):
761
969
  :param str resource_name: The name of the resource.
762
970
  :param pulumi.ResourceOptions opts: Options for the resource.
763
971
  :param pulumi.Input[_builtins.str] account_name: Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
764
- :param pulumi.Input[_builtins.str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
972
+ :param pulumi.Input[_builtins.str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN` | `OAUTH_CLIENT_CREDENTIALS` | `OAUTH_AUTHORIZATION_CODE` | `WORKLOAD_IDENTITY`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
765
973
  :param pulumi.Input[_builtins.str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
766
974
  :param pulumi.Input[_builtins.str] client_request_mfa_token: When true the MFA token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
767
975
  :param pulumi.Input[_builtins.str] client_store_temporary_credential: When true the ID token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
@@ -770,6 +978,8 @@ class Provider(pulumi.ProviderResource):
770
978
  :param pulumi.Input[_builtins.bool] disable_query_context_cache: Disables HTAP query context cache in the driver. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE` environment variable.
771
979
  :param pulumi.Input[_builtins.bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
772
980
  :param pulumi.Input[_builtins.str] driver_tracing: Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` | `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
981
+ :param pulumi.Input[_builtins.bool] enable_single_use_refresh_tokens: Enables single use refresh tokens for Snowflake IdP. Can also be sourced from the `SNOWFLAKE_ENABLE_SINGLE_USE_REFRESH_TOKENS` environment variable.
982
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experimental_features_enableds: A list of experimental features. Similarly to preview features, they are not yet stable features of the provider. Enabling given experiment is still considered a preview feature, even when applied to the stable resource. These switches offer experiments altering the provider behavior. If the given experiment is successful, it can be considered an addition in the future provider versions. This field can not be set with environmental variables. Valid options are: `PARAMETERS_IGNORE_VALUE_CHANGES_IF_NOT_ON_OBJECT_LEVEL` | `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
773
983
  :param pulumi.Input[_builtins.int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Can also be sourced from the `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
774
984
  :param pulumi.Input[_builtins.str] host: Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the `SNOWFLAKE_HOST` environment variable.
775
985
  :param pulumi.Input[_builtins.str] include_retry_reason: Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment variable.
@@ -777,8 +987,16 @@ class Provider(pulumi.ProviderResource):
777
987
  :param pulumi.Input[_builtins.int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Can also be sourced from the `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
778
988
  :param pulumi.Input[_builtins.int] jwt_expire_timeout: JWT expire after timeout in seconds. Can also be sourced from the `SNOWFLAKE_JWT_EXPIRE_TIMEOUT` environment variable.
779
989
  :param pulumi.Input[_builtins.bool] keep_session_alive: Enables the session to persist even after the connection is closed. Can also be sourced from the `SNOWFLAKE_KEEP_SESSION_ALIVE` environment variable.
990
+ :param pulumi.Input[_builtins.bool] log_query_parameters: When set to true, the parameters will be logged. Requires logQueryText to be enabled first. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_PARAMETERS` environment variable.
991
+ :param pulumi.Input[_builtins.bool] log_query_text: When set to true, the full query text will be logged. Be aware that it may include sensitive information. Default value is false. Can also be sourced from the `SNOWFLAKE_LOG_QUERY_TEXT` environment variable.
780
992
  :param pulumi.Input[_builtins.int] login_timeout: Login retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the `SNOWFLAKE_LOGIN_TIMEOUT` environment variable.
781
993
  :param pulumi.Input[_builtins.int] max_retry_count: Specifies how many times non-periodic HTTP request can be retried by the driver. Can also be sourced from the `SNOWFLAKE_MAX_RETRY_COUNT` environment variable.
994
+ :param pulumi.Input[_builtins.str] oauth_authorization_url: Authorization URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_AUTHORIZATION_URL` environment variable.
995
+ :param pulumi.Input[_builtins.str] oauth_client_id: Client id for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_ID` environment variable.
996
+ :param pulumi.Input[_builtins.str] oauth_client_secret: Client secret for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_SECRET` environment variable.
997
+ :param pulumi.Input[_builtins.str] oauth_redirect_uri: Redirect URI registered in IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_REDIRECT_URI` environment variable.
998
+ :param pulumi.Input[_builtins.str] oauth_scope: Comma separated list of scopes. If empty it is derived from role. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_SCOPE` environment variable.
999
+ :param pulumi.Input[_builtins.str] oauth_token_request_url: Token request URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_TOKEN_REQUEST_URL` environment variable.
782
1000
  :param pulumi.Input[_builtins.str] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
783
1001
  :param pulumi.Input[_builtins.str] okta_url: The URL of the Okta server. e.g. https://example.okta.com. Okta URL host needs to to have a suffix `okta.com`. Read more in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment variable.
784
1002
  :param pulumi.Input[_builtins.str] organization_name: Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
@@ -796,10 +1014,13 @@ class Provider(pulumi.ProviderResource):
796
1014
  :param pulumi.Input[_builtins.bool] skip_toml_file_permission_verification: False by default. Skips TOML configuration file permission verification. This flag has no effect on Windows systems, as the permissions are not checked on this platform. Instead of skipping the permissions verification, we recommend setting the proper privileges - see the section below. Can also be sourced from the `SNOWFLAKE_SKIP_TOML_FILE_PERMISSION_VERIFICATION` environment variable.
797
1015
  :param pulumi.Input[_builtins.str] tmp_directory_path: Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
798
1016
  :param pulumi.Input[_builtins.str] token: Token to use for OAuth and other forms of token based auth. When this field is set here, or in the TOML file, the provider sets the `authenticator` to `OAUTH`. Optionally, set the `authenticator` field to the authenticator you want to use. Can also be sourced from the `SNOWFLAKE_TOKEN` environment variable.
1017
+ :param pulumi.Input[Union['ProviderTokenAccessorArgs', 'ProviderTokenAccessorArgsDict']] token_accessor: If you are using the OAuth authentication flows, use the dedicated `authenticator` and `oauth...` fields instead. See our authentication methods guide for more information.
799
1018
  :param pulumi.Input[_builtins.bool] use_legacy_toml_file: False by default. When this is set to true, the provider expects the legacy TOML format. Otherwise, it expects the new format. See more in the section below Can also be sourced from the `SNOWFLAKE_USE_LEGACY_TOML_FILE` environment variable.
800
1019
  :param pulumi.Input[_builtins.str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
801
1020
  :param pulumi.Input[_builtins.str] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
802
1021
  :param pulumi.Input[_builtins.str] warehouse: Specifies the virtual warehouse to use by default for queries, loading, etc. in the client session. Can also be sourced from the `SNOWFLAKE_WAREHOUSE` environment variable.
1022
+ :param pulumi.Input[_builtins.str] workload_identity_entra_resource: The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
1023
+ :param pulumi.Input[_builtins.str] workload_identity_provider: The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
803
1024
  """
804
1025
  ...
805
1026
  @overload
@@ -838,6 +1059,8 @@ class Provider(pulumi.ProviderResource):
838
1059
  disable_query_context_cache: Optional[pulumi.Input[_builtins.bool]] = None,
839
1060
  disable_telemetry: Optional[pulumi.Input[_builtins.bool]] = None,
840
1061
  driver_tracing: Optional[pulumi.Input[_builtins.str]] = None,
1062
+ enable_single_use_refresh_tokens: Optional[pulumi.Input[_builtins.bool]] = None,
1063
+ experimental_features_enableds: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
841
1064
  external_browser_timeout: Optional[pulumi.Input[_builtins.int]] = None,
842
1065
  host: Optional[pulumi.Input[_builtins.str]] = None,
843
1066
  include_retry_reason: Optional[pulumi.Input[_builtins.str]] = None,
@@ -845,8 +1068,16 @@ class Provider(pulumi.ProviderResource):
845
1068
  jwt_client_timeout: Optional[pulumi.Input[_builtins.int]] = None,
846
1069
  jwt_expire_timeout: Optional[pulumi.Input[_builtins.int]] = None,
847
1070
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
1071
+ log_query_parameters: Optional[pulumi.Input[_builtins.bool]] = None,
1072
+ log_query_text: Optional[pulumi.Input[_builtins.bool]] = None,
848
1073
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
849
1074
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
1075
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
1076
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
1077
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
1078
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
1079
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
1080
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
850
1081
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
851
1082
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
852
1083
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -870,6 +1101,8 @@ class Provider(pulumi.ProviderResource):
870
1101
  user: Optional[pulumi.Input[_builtins.str]] = None,
871
1102
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
872
1103
  warehouse: Optional[pulumi.Input[_builtins.str]] = None,
1104
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
1105
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None,
873
1106
  __props__=None):
874
1107
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
875
1108
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -889,6 +1122,8 @@ class Provider(pulumi.ProviderResource):
889
1122
  __props__.__dict__["disable_query_context_cache"] = pulumi.Output.from_input(disable_query_context_cache).apply(pulumi.runtime.to_json) if disable_query_context_cache is not None else None
890
1123
  __props__.__dict__["disable_telemetry"] = pulumi.Output.from_input(disable_telemetry).apply(pulumi.runtime.to_json) if disable_telemetry is not None else None
891
1124
  __props__.__dict__["driver_tracing"] = driver_tracing
1125
+ __props__.__dict__["enable_single_use_refresh_tokens"] = pulumi.Output.from_input(enable_single_use_refresh_tokens).apply(pulumi.runtime.to_json) if enable_single_use_refresh_tokens is not None else None
1126
+ __props__.__dict__["experimental_features_enableds"] = pulumi.Output.from_input(experimental_features_enableds).apply(pulumi.runtime.to_json) if experimental_features_enableds is not None else None
892
1127
  __props__.__dict__["external_browser_timeout"] = pulumi.Output.from_input(external_browser_timeout).apply(pulumi.runtime.to_json) if external_browser_timeout is not None else None
893
1128
  if host is None:
894
1129
  host = _utilities.get_env('SNOWFLAKE_HOST')
@@ -898,8 +1133,16 @@ class Provider(pulumi.ProviderResource):
898
1133
  __props__.__dict__["jwt_client_timeout"] = pulumi.Output.from_input(jwt_client_timeout).apply(pulumi.runtime.to_json) if jwt_client_timeout is not None else None
899
1134
  __props__.__dict__["jwt_expire_timeout"] = pulumi.Output.from_input(jwt_expire_timeout).apply(pulumi.runtime.to_json) if jwt_expire_timeout is not None else None
900
1135
  __props__.__dict__["keep_session_alive"] = pulumi.Output.from_input(keep_session_alive).apply(pulumi.runtime.to_json) if keep_session_alive is not None else None
1136
+ __props__.__dict__["log_query_parameters"] = pulumi.Output.from_input(log_query_parameters).apply(pulumi.runtime.to_json) if log_query_parameters is not None else None
1137
+ __props__.__dict__["log_query_text"] = pulumi.Output.from_input(log_query_text).apply(pulumi.runtime.to_json) if log_query_text is not None else None
901
1138
  __props__.__dict__["login_timeout"] = pulumi.Output.from_input(login_timeout).apply(pulumi.runtime.to_json) if login_timeout is not None else None
902
1139
  __props__.__dict__["max_retry_count"] = pulumi.Output.from_input(max_retry_count).apply(pulumi.runtime.to_json) if max_retry_count is not None else None
1140
+ __props__.__dict__["oauth_authorization_url"] = None if oauth_authorization_url is None else pulumi.Output.secret(oauth_authorization_url)
1141
+ __props__.__dict__["oauth_client_id"] = None if oauth_client_id is None else pulumi.Output.secret(oauth_client_id)
1142
+ __props__.__dict__["oauth_client_secret"] = None if oauth_client_secret is None else pulumi.Output.secret(oauth_client_secret)
1143
+ __props__.__dict__["oauth_redirect_uri"] = None if oauth_redirect_uri is None else pulumi.Output.secret(oauth_redirect_uri)
1144
+ __props__.__dict__["oauth_scope"] = oauth_scope
1145
+ __props__.__dict__["oauth_token_request_url"] = None if oauth_token_request_url is None else pulumi.Output.secret(oauth_token_request_url)
903
1146
  __props__.__dict__["ocsp_fail_open"] = ocsp_fail_open
904
1147
  __props__.__dict__["okta_url"] = okta_url
905
1148
  __props__.__dict__["organization_name"] = organization_name
@@ -935,7 +1178,9 @@ class Provider(pulumi.ProviderResource):
935
1178
  if warehouse is None:
936
1179
  warehouse = _utilities.get_env('SNOWFLAKE_WAREHOUSE')
937
1180
  __props__.__dict__["warehouse"] = warehouse
938
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["passcode", "password", "privateKey", "privateKeyPassphrase", "token"])
1181
+ __props__.__dict__["workload_identity_entra_resource"] = workload_identity_entra_resource
1182
+ __props__.__dict__["workload_identity_provider"] = workload_identity_provider
1183
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["oauthAuthorizationUrl", "oauthClientId", "oauthClientSecret", "oauthRedirectUri", "oauthTokenRequestUrl", "passcode", "password", "privateKey", "privateKeyPassphrase", "token"])
939
1184
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
940
1185
  super(Provider, __self__).__init__(
941
1186
  'snowflake',
@@ -955,7 +1200,7 @@ class Provider(pulumi.ProviderResource):
955
1200
  @pulumi.getter
956
1201
  def authenticator(self) -> pulumi.Output[Optional[_builtins.str]]:
957
1202
  """
958
- Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
1203
+ Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `SNOWFLAKE_JWT` | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA` | `PROGRAMMATIC_ACCESS_TOKEN` | `OAUTH_CLIENT_CREDENTIALS` | `OAUTH_AUTHORIZATION_CODE` | `WORKLOAD_IDENTITY`. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
959
1204
  """
960
1205
  return pulumi.get(self, "authenticator")
961
1206
 
@@ -1015,6 +1260,54 @@ class Provider(pulumi.ProviderResource):
1015
1260
  """
1016
1261
  return pulumi.get(self, "include_retry_reason")
1017
1262
 
1263
+ @_builtins.property
1264
+ @pulumi.getter(name="oauthAuthorizationUrl")
1265
+ def oauth_authorization_url(self) -> pulumi.Output[Optional[_builtins.str]]:
1266
+ """
1267
+ Authorization URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_AUTHORIZATION_URL` environment variable.
1268
+ """
1269
+ return pulumi.get(self, "oauth_authorization_url")
1270
+
1271
+ @_builtins.property
1272
+ @pulumi.getter(name="oauthClientId")
1273
+ def oauth_client_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1274
+ """
1275
+ Client id for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_ID` environment variable.
1276
+ """
1277
+ return pulumi.get(self, "oauth_client_id")
1278
+
1279
+ @_builtins.property
1280
+ @pulumi.getter(name="oauthClientSecret")
1281
+ def oauth_client_secret(self) -> pulumi.Output[Optional[_builtins.str]]:
1282
+ """
1283
+ Client secret for OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_CLIENT_SECRET` environment variable.
1284
+ """
1285
+ return pulumi.get(self, "oauth_client_secret")
1286
+
1287
+ @_builtins.property
1288
+ @pulumi.getter(name="oauthRedirectUri")
1289
+ def oauth_redirect_uri(self) -> pulumi.Output[Optional[_builtins.str]]:
1290
+ """
1291
+ Redirect URI registered in IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_REDIRECT_URI` environment variable.
1292
+ """
1293
+ return pulumi.get(self, "oauth_redirect_uri")
1294
+
1295
+ @_builtins.property
1296
+ @pulumi.getter(name="oauthScope")
1297
+ def oauth_scope(self) -> pulumi.Output[Optional[_builtins.str]]:
1298
+ """
1299
+ Comma separated list of scopes. If empty it is derived from role. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_SCOPE` environment variable.
1300
+ """
1301
+ return pulumi.get(self, "oauth_scope")
1302
+
1303
+ @_builtins.property
1304
+ @pulumi.getter(name="oauthTokenRequestUrl")
1305
+ def oauth_token_request_url(self) -> pulumi.Output[Optional[_builtins.str]]:
1306
+ """
1307
+ Token request URL of OAuth2 external IdP. See [Snowflake OAuth documentation](https://docs.snowflake.com/en/user-guide/oauth). Can also be sourced from the `SNOWFLAKE_OAUTH_TOKEN_REQUEST_URL` environment variable.
1308
+ """
1309
+ return pulumi.get(self, "oauth_token_request_url")
1310
+
1018
1311
  @_builtins.property
1019
1312
  @pulumi.getter(name="ocspFailOpen")
1020
1313
  def ocsp_fail_open(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -1135,6 +1428,22 @@ class Provider(pulumi.ProviderResource):
1135
1428
  """
1136
1429
  return pulumi.get(self, "warehouse")
1137
1430
 
1431
+ @_builtins.property
1432
+ @pulumi.getter(name="workloadIdentityEntraResource")
1433
+ def workload_identity_entra_resource(self) -> pulumi.Output[Optional[_builtins.str]]:
1434
+ """
1435
+ The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
1436
+ """
1437
+ return pulumi.get(self, "workload_identity_entra_resource")
1438
+
1439
+ @_builtins.property
1440
+ @pulumi.getter(name="workloadIdentityProvider")
1441
+ def workload_identity_provider(self) -> pulumi.Output[Optional[_builtins.str]]:
1442
+ """
1443
+ The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
1444
+ """
1445
+ return pulumi.get(self, "workload_identity_provider")
1446
+
1138
1447
  @pulumi.output_type
1139
1448
  class TerraformConfigResult:
1140
1449
  def __init__(__self__, result=None):
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "snowflake",
4
- "version": "2.7.0-alpha.1759215867"
4
+ "version": "2.11.0-alpha.1766126285"
5
5
  }