pulumi-snowflake 2.8.0a1760684972__py3-none-any.whl → 2.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-snowflake might be problematic. Click here for more details.

@@ -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,
@@ -39,6 +41,12 @@ class ProviderArgs:
39
41
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
40
42
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
41
43
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
44
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
45
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
46
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
47
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
48
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
49
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
42
50
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
43
51
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
44
52
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -61,11 +69,13 @@ class ProviderArgs:
61
69
  use_legacy_toml_file: Optional[pulumi.Input[_builtins.bool]] = None,
62
70
  user: Optional[pulumi.Input[_builtins.str]] = None,
63
71
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
64
- warehouse: Optional[pulumi.Input[_builtins.str]] = None):
72
+ warehouse: Optional[pulumi.Input[_builtins.str]] = None,
73
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
74
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None):
65
75
  """
66
76
  The set of arguments for constructing a Provider resource.
67
77
  :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.
78
+ :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
79
  :param pulumi.Input[_builtins.str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
70
80
  :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
81
  :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 +84,8 @@ class ProviderArgs:
74
84
  :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
85
  :param pulumi.Input[_builtins.bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
76
86
  :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.
87
+ :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.
88
+ :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: `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
77
89
  :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
90
  :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
91
  :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.
@@ -83,6 +95,12 @@ class ProviderArgs:
83
95
  :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.
84
96
  :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
97
  :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.
98
+ :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.
99
+ :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.
100
+ :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.
101
+ :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.
102
+ :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.
103
+ :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
104
  :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
105
  :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
106
  :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 +118,13 @@ class ProviderArgs:
100
118
  :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
119
  :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
120
  :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.
121
+ :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
122
  :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
123
  :param pulumi.Input[_builtins.str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
105
124
  :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
125
  :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.
126
+ :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.
127
+ :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
128
  """
108
129
  if account_name is not None:
109
130
  pulumi.set(__self__, "account_name", account_name)
@@ -125,6 +146,10 @@ class ProviderArgs:
125
146
  pulumi.set(__self__, "disable_telemetry", disable_telemetry)
126
147
  if driver_tracing is not None:
127
148
  pulumi.set(__self__, "driver_tracing", driver_tracing)
149
+ if enable_single_use_refresh_tokens is not None:
150
+ pulumi.set(__self__, "enable_single_use_refresh_tokens", enable_single_use_refresh_tokens)
151
+ if experimental_features_enableds is not None:
152
+ pulumi.set(__self__, "experimental_features_enableds", experimental_features_enableds)
128
153
  if external_browser_timeout is not None:
129
154
  pulumi.set(__self__, "external_browser_timeout", external_browser_timeout)
130
155
  if host is None:
@@ -145,6 +170,18 @@ class ProviderArgs:
145
170
  pulumi.set(__self__, "login_timeout", login_timeout)
146
171
  if max_retry_count is not None:
147
172
  pulumi.set(__self__, "max_retry_count", max_retry_count)
173
+ if oauth_authorization_url is not None:
174
+ pulumi.set(__self__, "oauth_authorization_url", oauth_authorization_url)
175
+ if oauth_client_id is not None:
176
+ pulumi.set(__self__, "oauth_client_id", oauth_client_id)
177
+ if oauth_client_secret is not None:
178
+ pulumi.set(__self__, "oauth_client_secret", oauth_client_secret)
179
+ if oauth_redirect_uri is not None:
180
+ pulumi.set(__self__, "oauth_redirect_uri", oauth_redirect_uri)
181
+ if oauth_scope is not None:
182
+ pulumi.set(__self__, "oauth_scope", oauth_scope)
183
+ if oauth_token_request_url is not None:
184
+ pulumi.set(__self__, "oauth_token_request_url", oauth_token_request_url)
148
185
  if ocsp_fail_open is not None:
149
186
  pulumi.set(__self__, "ocsp_fail_open", ocsp_fail_open)
150
187
  if okta_url is not None:
@@ -203,6 +240,10 @@ class ProviderArgs:
203
240
  warehouse = _utilities.get_env('SNOWFLAKE_WAREHOUSE')
204
241
  if warehouse is not None:
205
242
  pulumi.set(__self__, "warehouse", warehouse)
243
+ if workload_identity_entra_resource is not None:
244
+ pulumi.set(__self__, "workload_identity_entra_resource", workload_identity_entra_resource)
245
+ if workload_identity_provider is not None:
246
+ pulumi.set(__self__, "workload_identity_provider", workload_identity_provider)
206
247
 
207
248
  @_builtins.property
208
249
  @pulumi.getter(name="accountName")
@@ -220,7 +261,7 @@ class ProviderArgs:
220
261
  @pulumi.getter
221
262
  def authenticator(self) -> Optional[pulumi.Input[_builtins.str]]:
222
263
  """
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.
264
+ 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
265
  """
225
266
  return pulumi.get(self, "authenticator")
226
267
 
@@ -324,6 +365,30 @@ class ProviderArgs:
324
365
  def driver_tracing(self, value: Optional[pulumi.Input[_builtins.str]]):
325
366
  pulumi.set(self, "driver_tracing", value)
326
367
 
368
+ @_builtins.property
369
+ @pulumi.getter(name="enableSingleUseRefreshTokens")
370
+ def enable_single_use_refresh_tokens(self) -> Optional[pulumi.Input[_builtins.bool]]:
371
+ """
372
+ Enables single use refresh tokens for Snowflake IdP. Can also be sourced from the `SNOWFLAKE_ENABLE_SINGLE_USE_REFRESH_TOKENS` environment variable.
373
+ """
374
+ return pulumi.get(self, "enable_single_use_refresh_tokens")
375
+
376
+ @enable_single_use_refresh_tokens.setter
377
+ def enable_single_use_refresh_tokens(self, value: Optional[pulumi.Input[_builtins.bool]]):
378
+ pulumi.set(self, "enable_single_use_refresh_tokens", value)
379
+
380
+ @_builtins.property
381
+ @pulumi.getter(name="experimentalFeaturesEnableds")
382
+ def experimental_features_enableds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
383
+ """
384
+ 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: `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
385
+ """
386
+ return pulumi.get(self, "experimental_features_enableds")
387
+
388
+ @experimental_features_enableds.setter
389
+ def experimental_features_enableds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
390
+ pulumi.set(self, "experimental_features_enableds", value)
391
+
327
392
  @_builtins.property
328
393
  @pulumi.getter(name="externalBrowserTimeout")
329
394
  def external_browser_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
@@ -432,6 +497,78 @@ class ProviderArgs:
432
497
  def max_retry_count(self, value: Optional[pulumi.Input[_builtins.int]]):
433
498
  pulumi.set(self, "max_retry_count", value)
434
499
 
500
+ @_builtins.property
501
+ @pulumi.getter(name="oauthAuthorizationUrl")
502
+ def oauth_authorization_url(self) -> Optional[pulumi.Input[_builtins.str]]:
503
+ """
504
+ 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.
505
+ """
506
+ return pulumi.get(self, "oauth_authorization_url")
507
+
508
+ @oauth_authorization_url.setter
509
+ def oauth_authorization_url(self, value: Optional[pulumi.Input[_builtins.str]]):
510
+ pulumi.set(self, "oauth_authorization_url", value)
511
+
512
+ @_builtins.property
513
+ @pulumi.getter(name="oauthClientId")
514
+ def oauth_client_id(self) -> Optional[pulumi.Input[_builtins.str]]:
515
+ """
516
+ 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.
517
+ """
518
+ return pulumi.get(self, "oauth_client_id")
519
+
520
+ @oauth_client_id.setter
521
+ def oauth_client_id(self, value: Optional[pulumi.Input[_builtins.str]]):
522
+ pulumi.set(self, "oauth_client_id", value)
523
+
524
+ @_builtins.property
525
+ @pulumi.getter(name="oauthClientSecret")
526
+ def oauth_client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
527
+ """
528
+ 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.
529
+ """
530
+ return pulumi.get(self, "oauth_client_secret")
531
+
532
+ @oauth_client_secret.setter
533
+ def oauth_client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
534
+ pulumi.set(self, "oauth_client_secret", value)
535
+
536
+ @_builtins.property
537
+ @pulumi.getter(name="oauthRedirectUri")
538
+ def oauth_redirect_uri(self) -> Optional[pulumi.Input[_builtins.str]]:
539
+ """
540
+ 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.
541
+ """
542
+ return pulumi.get(self, "oauth_redirect_uri")
543
+
544
+ @oauth_redirect_uri.setter
545
+ def oauth_redirect_uri(self, value: Optional[pulumi.Input[_builtins.str]]):
546
+ pulumi.set(self, "oauth_redirect_uri", value)
547
+
548
+ @_builtins.property
549
+ @pulumi.getter(name="oauthScope")
550
+ def oauth_scope(self) -> Optional[pulumi.Input[_builtins.str]]:
551
+ """
552
+ 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.
553
+ """
554
+ return pulumi.get(self, "oauth_scope")
555
+
556
+ @oauth_scope.setter
557
+ def oauth_scope(self, value: Optional[pulumi.Input[_builtins.str]]):
558
+ pulumi.set(self, "oauth_scope", value)
559
+
560
+ @_builtins.property
561
+ @pulumi.getter(name="oauthTokenRequestUrl")
562
+ def oauth_token_request_url(self) -> Optional[pulumi.Input[_builtins.str]]:
563
+ """
564
+ 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.
565
+ """
566
+ return pulumi.get(self, "oauth_token_request_url")
567
+
568
+ @oauth_token_request_url.setter
569
+ def oauth_token_request_url(self, value: Optional[pulumi.Input[_builtins.str]]):
570
+ pulumi.set(self, "oauth_token_request_url", value)
571
+
435
572
  @_builtins.property
436
573
  @pulumi.getter(name="ocspFailOpen")
437
574
  def ocsp_fail_open(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -648,6 +785,9 @@ class ProviderArgs:
648
785
  @_builtins.property
649
786
  @pulumi.getter(name="tokenAccessor")
650
787
  def token_accessor(self) -> Optional[pulumi.Input['ProviderTokenAccessorArgs']]:
788
+ """
789
+ If you are using the OAuth authentication flows, use the dedicated `authenticator` and `oauth...` fields instead. See our authentication methods guide for more information.
790
+ """
651
791
  return pulumi.get(self, "token_accessor")
652
792
 
653
793
  @token_accessor.setter
@@ -702,6 +842,30 @@ class ProviderArgs:
702
842
  def warehouse(self, value: Optional[pulumi.Input[_builtins.str]]):
703
843
  pulumi.set(self, "warehouse", value)
704
844
 
845
+ @_builtins.property
846
+ @pulumi.getter(name="workloadIdentityEntraResource")
847
+ def workload_identity_entra_resource(self) -> Optional[pulumi.Input[_builtins.str]]:
848
+ """
849
+ The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
850
+ """
851
+ return pulumi.get(self, "workload_identity_entra_resource")
852
+
853
+ @workload_identity_entra_resource.setter
854
+ def workload_identity_entra_resource(self, value: Optional[pulumi.Input[_builtins.str]]):
855
+ pulumi.set(self, "workload_identity_entra_resource", value)
856
+
857
+ @_builtins.property
858
+ @pulumi.getter(name="workloadIdentityProvider")
859
+ def workload_identity_provider(self) -> Optional[pulumi.Input[_builtins.str]]:
860
+ """
861
+ The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
862
+ """
863
+ return pulumi.get(self, "workload_identity_provider")
864
+
865
+ @workload_identity_provider.setter
866
+ def workload_identity_provider(self, value: Optional[pulumi.Input[_builtins.str]]):
867
+ pulumi.set(self, "workload_identity_provider", value)
868
+
705
869
 
706
870
  @pulumi.type_token("pulumi:providers:snowflake")
707
871
  class Provider(pulumi.ProviderResource):
@@ -719,6 +883,8 @@ class Provider(pulumi.ProviderResource):
719
883
  disable_query_context_cache: Optional[pulumi.Input[_builtins.bool]] = None,
720
884
  disable_telemetry: Optional[pulumi.Input[_builtins.bool]] = None,
721
885
  driver_tracing: Optional[pulumi.Input[_builtins.str]] = None,
886
+ enable_single_use_refresh_tokens: Optional[pulumi.Input[_builtins.bool]] = None,
887
+ experimental_features_enableds: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
722
888
  external_browser_timeout: Optional[pulumi.Input[_builtins.int]] = None,
723
889
  host: Optional[pulumi.Input[_builtins.str]] = None,
724
890
  include_retry_reason: Optional[pulumi.Input[_builtins.str]] = None,
@@ -728,6 +894,12 @@ class Provider(pulumi.ProviderResource):
728
894
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
729
895
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
730
896
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
897
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
898
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
899
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
900
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
901
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
902
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
731
903
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
732
904
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
733
905
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -751,6 +923,8 @@ class Provider(pulumi.ProviderResource):
751
923
  user: Optional[pulumi.Input[_builtins.str]] = None,
752
924
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
753
925
  warehouse: Optional[pulumi.Input[_builtins.str]] = None,
926
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
927
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None,
754
928
  __props__=None):
755
929
  """
756
930
  The provider type for the snowflake package. By default, resources use package-wide configuration
@@ -761,7 +935,7 @@ class Provider(pulumi.ProviderResource):
761
935
  :param str resource_name: The name of the resource.
762
936
  :param pulumi.ResourceOptions opts: Options for the resource.
763
937
  :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.
938
+ :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
939
  :param pulumi.Input[_builtins.str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
766
940
  :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
941
  :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 +944,8 @@ class Provider(pulumi.ProviderResource):
770
944
  :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
945
  :param pulumi.Input[_builtins.bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
772
946
  :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.
947
+ :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.
948
+ :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: `WAREHOUSE_SHOW_IMPROVED_PERFORMANCE`.
773
949
  :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
950
  :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
951
  :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.
@@ -779,6 +955,12 @@ class Provider(pulumi.ProviderResource):
779
955
  :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.
780
956
  :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
957
  :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.
958
+ :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.
959
+ :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.
960
+ :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.
961
+ :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.
962
+ :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.
963
+ :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
964
  :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
965
  :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
966
  :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 +978,13 @@ class Provider(pulumi.ProviderResource):
796
978
  :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
979
  :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
980
  :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.
981
+ :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
982
  :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
983
  :param pulumi.Input[_builtins.str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
801
984
  :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
985
  :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.
986
+ :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.
987
+ :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
988
  """
804
989
  ...
805
990
  @overload
@@ -838,6 +1023,8 @@ class Provider(pulumi.ProviderResource):
838
1023
  disable_query_context_cache: Optional[pulumi.Input[_builtins.bool]] = None,
839
1024
  disable_telemetry: Optional[pulumi.Input[_builtins.bool]] = None,
840
1025
  driver_tracing: Optional[pulumi.Input[_builtins.str]] = None,
1026
+ enable_single_use_refresh_tokens: Optional[pulumi.Input[_builtins.bool]] = None,
1027
+ experimental_features_enableds: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
841
1028
  external_browser_timeout: Optional[pulumi.Input[_builtins.int]] = None,
842
1029
  host: Optional[pulumi.Input[_builtins.str]] = None,
843
1030
  include_retry_reason: Optional[pulumi.Input[_builtins.str]] = None,
@@ -847,6 +1034,12 @@ class Provider(pulumi.ProviderResource):
847
1034
  keep_session_alive: Optional[pulumi.Input[_builtins.bool]] = None,
848
1035
  login_timeout: Optional[pulumi.Input[_builtins.int]] = None,
849
1036
  max_retry_count: Optional[pulumi.Input[_builtins.int]] = None,
1037
+ oauth_authorization_url: Optional[pulumi.Input[_builtins.str]] = None,
1038
+ oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None,
1039
+ oauth_client_secret: Optional[pulumi.Input[_builtins.str]] = None,
1040
+ oauth_redirect_uri: Optional[pulumi.Input[_builtins.str]] = None,
1041
+ oauth_scope: Optional[pulumi.Input[_builtins.str]] = None,
1042
+ oauth_token_request_url: Optional[pulumi.Input[_builtins.str]] = None,
850
1043
  ocsp_fail_open: Optional[pulumi.Input[_builtins.str]] = None,
851
1044
  okta_url: Optional[pulumi.Input[_builtins.str]] = None,
852
1045
  organization_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -870,6 +1063,8 @@ class Provider(pulumi.ProviderResource):
870
1063
  user: Optional[pulumi.Input[_builtins.str]] = None,
871
1064
  validate_default_parameters: Optional[pulumi.Input[_builtins.str]] = None,
872
1065
  warehouse: Optional[pulumi.Input[_builtins.str]] = None,
1066
+ workload_identity_entra_resource: Optional[pulumi.Input[_builtins.str]] = None,
1067
+ workload_identity_provider: Optional[pulumi.Input[_builtins.str]] = None,
873
1068
  __props__=None):
874
1069
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
875
1070
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -889,6 +1084,8 @@ class Provider(pulumi.ProviderResource):
889
1084
  __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
1085
  __props__.__dict__["disable_telemetry"] = pulumi.Output.from_input(disable_telemetry).apply(pulumi.runtime.to_json) if disable_telemetry is not None else None
891
1086
  __props__.__dict__["driver_tracing"] = driver_tracing
1087
+ __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
1088
+ __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
1089
  __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
1090
  if host is None:
894
1091
  host = _utilities.get_env('SNOWFLAKE_HOST')
@@ -900,6 +1097,12 @@ class Provider(pulumi.ProviderResource):
900
1097
  __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
901
1098
  __props__.__dict__["login_timeout"] = pulumi.Output.from_input(login_timeout).apply(pulumi.runtime.to_json) if login_timeout is not None else None
902
1099
  __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
1100
+ __props__.__dict__["oauth_authorization_url"] = None if oauth_authorization_url is None else pulumi.Output.secret(oauth_authorization_url)
1101
+ __props__.__dict__["oauth_client_id"] = None if oauth_client_id is None else pulumi.Output.secret(oauth_client_id)
1102
+ __props__.__dict__["oauth_client_secret"] = None if oauth_client_secret is None else pulumi.Output.secret(oauth_client_secret)
1103
+ __props__.__dict__["oauth_redirect_uri"] = None if oauth_redirect_uri is None else pulumi.Output.secret(oauth_redirect_uri)
1104
+ __props__.__dict__["oauth_scope"] = oauth_scope
1105
+ __props__.__dict__["oauth_token_request_url"] = None if oauth_token_request_url is None else pulumi.Output.secret(oauth_token_request_url)
903
1106
  __props__.__dict__["ocsp_fail_open"] = ocsp_fail_open
904
1107
  __props__.__dict__["okta_url"] = okta_url
905
1108
  __props__.__dict__["organization_name"] = organization_name
@@ -935,7 +1138,9 @@ class Provider(pulumi.ProviderResource):
935
1138
  if warehouse is None:
936
1139
  warehouse = _utilities.get_env('SNOWFLAKE_WAREHOUSE')
937
1140
  __props__.__dict__["warehouse"] = warehouse
938
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["passcode", "password", "privateKey", "privateKeyPassphrase", "token"])
1141
+ __props__.__dict__["workload_identity_entra_resource"] = workload_identity_entra_resource
1142
+ __props__.__dict__["workload_identity_provider"] = workload_identity_provider
1143
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["oauthAuthorizationUrl", "oauthClientId", "oauthClientSecret", "oauthRedirectUri", "oauthTokenRequestUrl", "passcode", "password", "privateKey", "privateKeyPassphrase", "token"])
939
1144
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
940
1145
  super(Provider, __self__).__init__(
941
1146
  'snowflake',
@@ -955,7 +1160,7 @@ class Provider(pulumi.ProviderResource):
955
1160
  @pulumi.getter
956
1161
  def authenticator(self) -> pulumi.Output[Optional[_builtins.str]]:
957
1162
  """
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.
1163
+ 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
1164
  """
960
1165
  return pulumi.get(self, "authenticator")
961
1166
 
@@ -1015,6 +1220,54 @@ class Provider(pulumi.ProviderResource):
1015
1220
  """
1016
1221
  return pulumi.get(self, "include_retry_reason")
1017
1222
 
1223
+ @_builtins.property
1224
+ @pulumi.getter(name="oauthAuthorizationUrl")
1225
+ def oauth_authorization_url(self) -> pulumi.Output[Optional[_builtins.str]]:
1226
+ """
1227
+ 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.
1228
+ """
1229
+ return pulumi.get(self, "oauth_authorization_url")
1230
+
1231
+ @_builtins.property
1232
+ @pulumi.getter(name="oauthClientId")
1233
+ def oauth_client_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1234
+ """
1235
+ 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.
1236
+ """
1237
+ return pulumi.get(self, "oauth_client_id")
1238
+
1239
+ @_builtins.property
1240
+ @pulumi.getter(name="oauthClientSecret")
1241
+ def oauth_client_secret(self) -> pulumi.Output[Optional[_builtins.str]]:
1242
+ """
1243
+ 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.
1244
+ """
1245
+ return pulumi.get(self, "oauth_client_secret")
1246
+
1247
+ @_builtins.property
1248
+ @pulumi.getter(name="oauthRedirectUri")
1249
+ def oauth_redirect_uri(self) -> pulumi.Output[Optional[_builtins.str]]:
1250
+ """
1251
+ 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.
1252
+ """
1253
+ return pulumi.get(self, "oauth_redirect_uri")
1254
+
1255
+ @_builtins.property
1256
+ @pulumi.getter(name="oauthScope")
1257
+ def oauth_scope(self) -> pulumi.Output[Optional[_builtins.str]]:
1258
+ """
1259
+ 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.
1260
+ """
1261
+ return pulumi.get(self, "oauth_scope")
1262
+
1263
+ @_builtins.property
1264
+ @pulumi.getter(name="oauthTokenRequestUrl")
1265
+ def oauth_token_request_url(self) -> pulumi.Output[Optional[_builtins.str]]:
1266
+ """
1267
+ 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.
1268
+ """
1269
+ return pulumi.get(self, "oauth_token_request_url")
1270
+
1018
1271
  @_builtins.property
1019
1272
  @pulumi.getter(name="ocspFailOpen")
1020
1273
  def ocsp_fail_open(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -1135,6 +1388,22 @@ class Provider(pulumi.ProviderResource):
1135
1388
  """
1136
1389
  return pulumi.get(self, "warehouse")
1137
1390
 
1391
+ @_builtins.property
1392
+ @pulumi.getter(name="workloadIdentityEntraResource")
1393
+ def workload_identity_entra_resource(self) -> pulumi.Output[Optional[_builtins.str]]:
1394
+ """
1395
+ The resource to use for WIF authentication on Azure environment. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_ENTRA_RESOURCE` environment variable.
1396
+ """
1397
+ return pulumi.get(self, "workload_identity_entra_resource")
1398
+
1399
+ @_builtins.property
1400
+ @pulumi.getter(name="workloadIdentityProvider")
1401
+ def workload_identity_provider(self) -> pulumi.Output[Optional[_builtins.str]]:
1402
+ """
1403
+ The workload identity provider to use for WIF authentication. Can also be sourced from the `SNOWFLAKE_WORKLOAD_IDENTITY_PROVIDER` environment variable.
1404
+ """
1405
+ return pulumi.get(self, "workload_identity_provider")
1406
+
1138
1407
  @pulumi.output_type
1139
1408
  class TerraformConfigResult:
1140
1409
  def __init__(__self__, result=None):
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "snowflake",
4
- "version": "2.8.0-alpha.1760684972"
4
+ "version": "2.9.0"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_snowflake
3
- Version: 2.8.0a1760684972
3
+ Version: 2.9.0
4
4
  Summary: A Pulumi package for creating and managing snowflake cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io