pulumi-snowflake 0.61.0a1731393894__py3-none-any.whl → 0.61.1__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.

Files changed (39) hide show
  1. pulumi_snowflake/__init__.py +110 -0
  2. pulumi_snowflake/_inputs.py +5182 -1837
  3. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  4. pulumi_snowflake/authentication_policy.py +622 -0
  5. pulumi_snowflake/config/__init__.pyi +86 -36
  6. pulumi_snowflake/config/vars.py +104 -40
  7. pulumi_snowflake/external_volume.py +378 -0
  8. pulumi_snowflake/get_connections.py +147 -0
  9. pulumi_snowflake/get_grants.py +4 -0
  10. pulumi_snowflake/get_secrets.py +204 -0
  11. pulumi_snowflake/get_streams.py +105 -56
  12. pulumi_snowflake/grant_account_role.py +2 -2
  13. pulumi_snowflake/grant_application_role.py +2 -2
  14. pulumi_snowflake/grant_database_role.py +2 -2
  15. pulumi_snowflake/grant_ownership.py +14 -14
  16. pulumi_snowflake/grant_privileges_to_account_role.py +8 -8
  17. pulumi_snowflake/grant_privileges_to_database_role.py +8 -8
  18. pulumi_snowflake/grant_privileges_to_share.py +2 -2
  19. pulumi_snowflake/legacy_service_user.py +4 -0
  20. pulumi_snowflake/outputs.py +4390 -1335
  21. pulumi_snowflake/primary_connection.py +330 -0
  22. pulumi_snowflake/provider.py +433 -146
  23. pulumi_snowflake/pulumi-plugin.json +1 -1
  24. pulumi_snowflake/secondary_connection.py +339 -0
  25. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  26. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  27. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  28. pulumi_snowflake/secret_with_generic_string.py +452 -0
  29. pulumi_snowflake/stream_on_directory_table.py +530 -0
  30. pulumi_snowflake/stream_on_external_table.py +50 -2
  31. pulumi_snowflake/stream_on_table.py +48 -0
  32. pulumi_snowflake/stream_on_view.py +679 -0
  33. pulumi_snowflake/tag_association.py +7 -7
  34. pulumi_snowflake/user.py +4 -0
  35. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  36. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/METADATA +1 -1
  37. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/RECORD +39 -25
  38. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/WHEEL +1 -1
  39. {pulumi_snowflake-0.61.0a1731393894.dist-info → pulumi_snowflake-0.61.1.dist-info}/top_level.txt +0 -0
@@ -21,29 +21,35 @@ __all__ = ['ProviderArgs', 'Provider']
21
21
  class ProviderArgs:
22
22
  def __init__(__self__, *,
23
23
  account: Optional[pulumi.Input[str]] = None,
24
+ account_name: Optional[pulumi.Input[str]] = None,
24
25
  authenticator: Optional[pulumi.Input[str]] = None,
25
26
  browser_auth: Optional[pulumi.Input[bool]] = None,
26
27
  client_ip: Optional[pulumi.Input[str]] = None,
27
- client_request_mfa_token: Optional[pulumi.Input[bool]] = None,
28
- client_store_temporary_credential: Optional[pulumi.Input[bool]] = None,
28
+ client_request_mfa_token: Optional[pulumi.Input[str]] = None,
29
+ client_store_temporary_credential: Optional[pulumi.Input[str]] = None,
29
30
  client_timeout: Optional[pulumi.Input[int]] = None,
31
+ disable_console_login: Optional[pulumi.Input[str]] = None,
30
32
  disable_query_context_cache: Optional[pulumi.Input[bool]] = None,
31
33
  disable_telemetry: Optional[pulumi.Input[bool]] = None,
34
+ driver_tracing: Optional[pulumi.Input[str]] = None,
32
35
  external_browser_timeout: Optional[pulumi.Input[int]] = None,
33
36
  host: Optional[pulumi.Input[str]] = None,
37
+ include_retry_reason: Optional[pulumi.Input[str]] = None,
34
38
  insecure_mode: Optional[pulumi.Input[bool]] = None,
35
39
  jwt_client_timeout: Optional[pulumi.Input[int]] = None,
36
40
  jwt_expire_timeout: Optional[pulumi.Input[int]] = None,
37
41
  keep_session_alive: Optional[pulumi.Input[bool]] = None,
38
42
  login_timeout: Optional[pulumi.Input[int]] = None,
43
+ max_retry_count: Optional[pulumi.Input[int]] = None,
39
44
  oauth_access_token: Optional[pulumi.Input[str]] = None,
40
45
  oauth_client_id: Optional[pulumi.Input[str]] = None,
41
46
  oauth_client_secret: Optional[pulumi.Input[str]] = None,
42
47
  oauth_endpoint: Optional[pulumi.Input[str]] = None,
43
48
  oauth_redirect_url: Optional[pulumi.Input[str]] = None,
44
49
  oauth_refresh_token: Optional[pulumi.Input[str]] = None,
45
- ocsp_fail_open: Optional[pulumi.Input[bool]] = None,
50
+ ocsp_fail_open: Optional[pulumi.Input[str]] = None,
46
51
  okta_url: Optional[pulumi.Input[str]] = None,
52
+ organization_name: Optional[pulumi.Input[str]] = None,
47
53
  params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
48
54
  passcode: Optional[pulumi.Input[str]] = None,
49
55
  passcode_in_password: Optional[pulumi.Input[bool]] = None,
@@ -58,46 +64,61 @@ class ProviderArgs:
58
64
  request_timeout: Optional[pulumi.Input[int]] = None,
59
65
  role: Optional[pulumi.Input[str]] = None,
60
66
  session_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
67
+ tmp_directory_path: Optional[pulumi.Input[str]] = None,
61
68
  token: Optional[pulumi.Input[str]] = None,
62
69
  token_accessor: Optional[pulumi.Input['ProviderTokenAccessorArgs']] = None,
63
70
  user: Optional[pulumi.Input[str]] = None,
64
71
  username: Optional[pulumi.Input[str]] = None,
65
- validate_default_parameters: Optional[pulumi.Input[bool]] = None,
72
+ validate_default_parameters: Optional[pulumi.Input[str]] = None,
66
73
  warehouse: Optional[pulumi.Input[str]] = None):
67
74
  """
68
75
  The set of arguments for constructing a Provider resource.
69
- :param pulumi.Input[str] account: Specifies your Snowflake account identifier assigned, by Snowflake. For information about account identifiers, see the
70
- [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Can also be sourced
71
- from the `SNOWFLAKE_ACCOUNT` environment variable. Required unless using `profile`.
76
+ :param pulumi.Input[str] account: Use `account_name` and `organization_name` instead. Specifies your Snowflake account identifier assigned, by Snowflake.
77
+ The [account
78
+ locator](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-account-locator-in-a-region) format
79
+ is not supported. For information about account identifiers, see the [Snowflake
80
+ documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Required unless using `profile`.
81
+ Can also be sourced from the `SNOWFLAKE_ACCOUNT` environment variable.
82
+ :param pulumi.Input[str] account_name: Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the
83
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required
84
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
72
85
  :param pulumi.Input[str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when
73
- connecting to Snowflake. Valid values include: Snowflake, OAuth, ExternalBrowser, Okta, JWT, TokenAccessor,
74
- UsernamePasswordMFA. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable. It has to be set
75
- explicitly to JWT for private key authentication.
86
+ connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `JWT` | `SNOWFLAKE_JWT`
87
+ | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA`. Value `JWT` is deprecated and will be removed in future releases. Can also be
88
+ sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
76
89
  :param pulumi.Input[bool] browser_auth: Required when `oauth_refresh_token` is used. Can also be sourced from `SNOWFLAKE_USE_BROWSER_AUTH` environment variable.
77
90
  :param pulumi.Input[str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
78
- :param pulumi.Input[bool] 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
91
+ :param pulumi.Input[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
79
92
  be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
80
- :param pulumi.Input[bool] 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
93
+ :param pulumi.Input[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
81
94
  sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
82
- :param pulumi.Input[int] client_timeout: The timeout in seconds for the client to complete the authentication. Default is 900 seconds. Can also be sourced from
83
- the `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
84
- :param pulumi.Input[bool] disable_query_context_cache: Should HTAP query context cache be disabled. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
95
+ :param pulumi.Input[int] client_timeout: The timeout in seconds for the client to complete the authentication. Can also be sourced from the
96
+ `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
97
+ :param pulumi.Input[str] disable_console_login: Indicates whether console login should be disabled in the driver. Can also be sourced from the
98
+ `SNOWFLAKE_DISABLE_CONSOLE_LOGIN` environment variable.
99
+ :param pulumi.Input[bool] disable_query_context_cache: Disables HTAP query context cache in the driver. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
85
100
  environment variable.
86
- :param pulumi.Input[bool] disable_telemetry: Indicates whether to disable telemetry. Can also be sourced from the `SNOWFLAKE_DISABLE_TELEMETRY` environment variable.
87
- :param pulumi.Input[int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Default is 120 seconds. Can also be
88
- sourced from the `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
89
- :param pulumi.Input[str] host: Supports passing in a custom host value to the snowflake go driver for use with privatelink. Can also be sourced from
90
- the `SNOWFLAKE_HOST` environment variable.
101
+ :param pulumi.Input[bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
102
+ :param pulumi.Input[str] driver_tracing: Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` |
103
+ `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
104
+ :param pulumi.Input[int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Can also be sourced from the
105
+ `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
106
+ :param pulumi.Input[str] host: Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the
107
+ `SNOWFLAKE_HOST` environment variable.
108
+ :param pulumi.Input[str] include_retry_reason: Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment
109
+ variable.
91
110
  :param pulumi.Input[bool] insecure_mode: If true, bypass the Online Certificate Status Protocol (OCSP) certificate revocation check. IMPORTANT: Change the
92
111
  default value for testing or emergency situations only. Can also be sourced from the `SNOWFLAKE_INSECURE_MODE`
93
112
  environment variable.
94
- :param pulumi.Input[int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Default is 10 seconds. Can also be sourced
95
- from the `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
113
+ :param pulumi.Input[int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Can also be sourced from the
114
+ `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
96
115
  :param pulumi.Input[int] jwt_expire_timeout: JWT expire after timeout in seconds. Can also be sourced from the `SNOWFLAKE_JWT_EXPIRE_TIMEOUT` environment variable.
97
116
  :param pulumi.Input[bool] keep_session_alive: Enables the session to persist even after the connection is closed. Can also be sourced from the
98
117
  `SNOWFLAKE_KEEP_SESSION_ALIVE` environment variable.
99
- :param pulumi.Input[int] login_timeout: Login retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
118
+ :param pulumi.Input[int] login_timeout: Login retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
100
119
  `SNOWFLAKE_LOGIN_TIMEOUT` environment variable.
120
+ :param pulumi.Input[int] max_retry_count: Specifies how many times non-periodic HTTP request can be retried by the driver. Can also be sourced from the
121
+ `SNOWFLAKE_MAX_RETRY_COUNT` environment variable.
101
122
  :param pulumi.Input[str] oauth_access_token: Token for use with OAuth. Generating the token is left to other tools. Cannot be used with `browser_auth`,
102
123
  `private_key_path`, `oauth_refresh_token` or `password`. Can also be sourced from `SNOWFLAKE_OAUTH_ACCESS_TOKEN`
103
124
  environment variable.
@@ -111,53 +132,66 @@ class ProviderArgs:
111
132
  `oauth_client_id`, `oauth_client_secret`, `oauth_endpoint`, `oauth_redirect_url`. Cannot be used with `browser_auth`,
112
133
  `private_key_path`, `oauth_access_token` or `password`. Can also be sourced from `SNOWFLAKE_OAUTH_REFRESH_TOKEN`
113
134
  environment variable.
114
- :param pulumi.Input[bool] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
135
+ :param pulumi.Input[str] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
115
136
  sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
116
- :param pulumi.Input[str] okta_url: The URL of the Okta server. e.g. https://example.okta.com. Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment
117
- variable.
118
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters)
137
+ :param pulumi.Input[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
138
+ in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the
139
+ `SNOWFLAKE_OKTA_URL` environment variable.
140
+ :param pulumi.Input[str] organization_name: Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the
141
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required
142
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
143
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters).
144
+ This field can not be set with environmental variables.
119
145
  :param pulumi.Input[str] passcode: Specifies the passcode provided by Duo when using multi-factor authentication (MFA) for login. Can also be sourced from
120
146
  the `SNOWFLAKE_PASSCODE` environment variable.
121
- :param pulumi.Input[bool] passcode_in_password: False by default. Set to true if the MFA passcode is embedded in the login password. Appends the MFA passcode to the end
122
- of the password. Can also be sourced from the `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
123
- :param pulumi.Input[str] password: Password for username+password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
147
+ :param pulumi.Input[bool] passcode_in_password: False by default. Set to true if the MFA passcode is embedded to the configured password. Can also be sourced from the
148
+ `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
149
+ :param pulumi.Input[str] password: Password for user + password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
124
150
  the `SNOWFLAKE_PASSWORD` environment variable.
125
- :param pulumi.Input[int] port: Support custom port values to snowflake go driver for use with privatelink. Can also be sourced from the
151
+ :param pulumi.Input[int] port: Specifies a custom port value used by the driver for privatelink connections. Can also be sourced from the
126
152
  `SNOWFLAKE_PORT` environment variable.
127
153
  :param pulumi.Input[str] private_key: Private Key for username+private-key auth. Cannot be used with `browser_auth` or `password`. Can also be sourced from
128
- `SNOWFLAKE_PRIVATE_KEY` environment variable.
154
+ the `SNOWFLAKE_PRIVATE_KEY` environment variable.
129
155
  :param pulumi.Input[str] private_key_passphrase: Supports the encryption ciphers aes-128-cbc, aes-128-gcm, aes-192-cbc, aes-192-gcm, aes-256-cbc, aes-256-gcm, and
130
- des-ede3-cbc. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
156
+ des-ede3-cbc. Can also be sourced from the `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
131
157
  :param pulumi.Input[str] private_key_path: Path to a private key for using keypair authentication. Cannot be used with `browser_auth`, `oauth_access_token` or
132
158
  `password`. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PATH` environment variable.
133
159
  :param pulumi.Input[str] profile: Sets the profile to read from ~/.snowflake/config file. Can also be sourced from the `SNOWFLAKE_PROFILE` environment
134
160
  variable.
135
- :param pulumi.Input[str] protocol: Either http or https, defaults to https. Can also be sourced from the `SNOWFLAKE_PROTOCOL` environment variable.
161
+ :param pulumi.Input[str] protocol: A protocol used in the connection. Valid options are: `http` | `https`. Can also be sourced from the
162
+ `SNOWFLAKE_PROTOCOL` environment variable.
136
163
  :param pulumi.Input[str] region: Snowflake region, such as "eu-central-1", with this parameter. However, since this parameter is deprecated, it is best
137
164
  to specify the region as part of the account parameter. For details, see the description of the account parameter.
138
165
  [Snowflake region](https://docs.snowflake.com/en/user-guide/intro-regions.html) to use. Required if using the [legacy
139
166
  format for the `account`
140
167
  identifier](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#format-2-legacy-account-locator-in-a-region)
141
168
  in the form of `<cloud_region_id>.<cloud>`. Can also be sourced from the `SNOWFLAKE_REGION` environment variable.
142
- :param pulumi.Input[int] request_timeout: request retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
169
+ :param pulumi.Input[int] request_timeout: request retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
143
170
  `SNOWFLAKE_REQUEST_TIMEOUT` environment variable.
144
171
  :param pulumi.Input[str] role: Specifies the role to use by default for accessing Snowflake objects in the client session. Can also be sourced from the
145
- `SNOWFLAKE_ROLE` environment variable. .
172
+ `SNOWFLAKE_ROLE` environment variable.
146
173
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] session_params: Sets session parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters)
174
+ :param pulumi.Input[str] tmp_directory_path: Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from
175
+ the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
147
176
  :param pulumi.Input[str] token: Token to use for OAuth and other forms of token based auth. Can also be sourced from the `SNOWFLAKE_TOKEN` environment
148
177
  variable.
149
- :param pulumi.Input[str] user: Username. Can also be sourced from the `SNOWFLAKE_USER` environment variable. Required unless using `profile`.
150
- :param pulumi.Input[str] username: Username for username+password authentication. Can also be sourced from the `SNOWFLAKE_USERNAME` environment variable.
151
- Required unless using `profile`.
152
- :param pulumi.Input[bool] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
178
+ :param pulumi.Input[str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
179
+ :param pulumi.Input[str] username: Username for user + password authentication. Required unless using `profile`. Can also be sourced from the
180
+ `SNOWFLAKE_USERNAME` environment variable.
181
+ :param pulumi.Input[str] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
153
182
  connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
154
183
  :param pulumi.Input[str] warehouse: Specifies the virtual warehouse to use by default for queries, loading, etc. in the client session. Can also be sourced
155
184
  from the `SNOWFLAKE_WAREHOUSE` environment variable.
156
185
  """
186
+ if account is not None:
187
+ warnings.warn("""Use `account_name` and `organization_name` instead of `account`""", DeprecationWarning)
188
+ pulumi.log.warn("""account is deprecated: Use `account_name` and `organization_name` instead of `account`""")
157
189
  if account is None:
158
190
  account = _utilities.get_env('SNOWFLAKE_ACCOUNT')
159
191
  if account is not None:
160
192
  pulumi.set(__self__, "account", account)
193
+ if account_name is not None:
194
+ pulumi.set(__self__, "account_name", account_name)
161
195
  if authenticator is not None:
162
196
  pulumi.set(__self__, "authenticator", authenticator)
163
197
  if browser_auth is not None:
@@ -175,16 +209,22 @@ class ProviderArgs:
175
209
  pulumi.set(__self__, "client_store_temporary_credential", client_store_temporary_credential)
176
210
  if client_timeout is not None:
177
211
  pulumi.set(__self__, "client_timeout", client_timeout)
212
+ if disable_console_login is not None:
213
+ pulumi.set(__self__, "disable_console_login", disable_console_login)
178
214
  if disable_query_context_cache is not None:
179
215
  pulumi.set(__self__, "disable_query_context_cache", disable_query_context_cache)
180
216
  if disable_telemetry is not None:
181
217
  pulumi.set(__self__, "disable_telemetry", disable_telemetry)
218
+ if driver_tracing is not None:
219
+ pulumi.set(__self__, "driver_tracing", driver_tracing)
182
220
  if external_browser_timeout is not None:
183
221
  pulumi.set(__self__, "external_browser_timeout", external_browser_timeout)
184
222
  if host is None:
185
223
  host = _utilities.get_env('SNOWFLAKE_HOST')
186
224
  if host is not None:
187
225
  pulumi.set(__self__, "host", host)
226
+ if include_retry_reason is not None:
227
+ pulumi.set(__self__, "include_retry_reason", include_retry_reason)
188
228
  if insecure_mode is not None:
189
229
  pulumi.set(__self__, "insecure_mode", insecure_mode)
190
230
  if jwt_client_timeout is not None:
@@ -195,6 +235,8 @@ class ProviderArgs:
195
235
  pulumi.set(__self__, "keep_session_alive", keep_session_alive)
196
236
  if login_timeout is not None:
197
237
  pulumi.set(__self__, "login_timeout", login_timeout)
238
+ if max_retry_count is not None:
239
+ pulumi.set(__self__, "max_retry_count", max_retry_count)
198
240
  if oauth_access_token is not None:
199
241
  warnings.warn("""Use `token` instead""", DeprecationWarning)
200
242
  pulumi.log.warn("""oauth_access_token is deprecated: Use `token` instead""")
@@ -241,6 +283,8 @@ class ProviderArgs:
241
283
  pulumi.set(__self__, "ocsp_fail_open", ocsp_fail_open)
242
284
  if okta_url is not None:
243
285
  pulumi.set(__self__, "okta_url", okta_url)
286
+ if organization_name is not None:
287
+ pulumi.set(__self__, "organization_name", organization_name)
244
288
  if params is not None:
245
289
  pulumi.set(__self__, "params", params)
246
290
  if passcode is not None:
@@ -292,6 +336,8 @@ class ProviderArgs:
292
336
  pulumi.log.warn("""session_params is deprecated: Use `params` instead""")
293
337
  if session_params is not None:
294
338
  pulumi.set(__self__, "session_params", session_params)
339
+ if tmp_directory_path is not None:
340
+ pulumi.set(__self__, "tmp_directory_path", tmp_directory_path)
295
341
  if token is not None:
296
342
  pulumi.set(__self__, "token", token)
297
343
  if token_accessor is not None:
@@ -314,11 +360,15 @@ class ProviderArgs:
314
360
 
315
361
  @property
316
362
  @pulumi.getter
363
+ @_utilities.deprecated("""Use `account_name` and `organization_name` instead of `account`""")
317
364
  def account(self) -> Optional[pulumi.Input[str]]:
318
365
  """
319
- Specifies your Snowflake account identifier assigned, by Snowflake. For information about account identifiers, see the
320
- [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Can also be sourced
321
- from the `SNOWFLAKE_ACCOUNT` environment variable. Required unless using `profile`.
366
+ Use `account_name` and `organization_name` instead. Specifies your Snowflake account identifier assigned, by Snowflake.
367
+ The [account
368
+ locator](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-account-locator-in-a-region) format
369
+ is not supported. For information about account identifiers, see the [Snowflake
370
+ documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Required unless using `profile`.
371
+ Can also be sourced from the `SNOWFLAKE_ACCOUNT` environment variable.
322
372
  """
323
373
  return pulumi.get(self, "account")
324
374
 
@@ -326,14 +376,28 @@ class ProviderArgs:
326
376
  def account(self, value: Optional[pulumi.Input[str]]):
327
377
  pulumi.set(self, "account", value)
328
378
 
379
+ @property
380
+ @pulumi.getter(name="accountName")
381
+ def account_name(self) -> Optional[pulumi.Input[str]]:
382
+ """
383
+ Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the
384
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required
385
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
386
+ """
387
+ return pulumi.get(self, "account_name")
388
+
389
+ @account_name.setter
390
+ def account_name(self, value: Optional[pulumi.Input[str]]):
391
+ pulumi.set(self, "account_name", value)
392
+
329
393
  @property
330
394
  @pulumi.getter
331
395
  def authenticator(self) -> Optional[pulumi.Input[str]]:
332
396
  """
333
397
  Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when
334
- connecting to Snowflake. Valid values include: Snowflake, OAuth, ExternalBrowser, Okta, JWT, TokenAccessor,
335
- UsernamePasswordMFA. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable. It has to be set
336
- explicitly to JWT for private key authentication.
398
+ connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `JWT` | `SNOWFLAKE_JWT`
399
+ | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA`. Value `JWT` is deprecated and will be removed in future releases. Can also be
400
+ sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
337
401
  """
338
402
  return pulumi.get(self, "authenticator")
339
403
 
@@ -368,7 +432,7 @@ class ProviderArgs:
368
432
 
369
433
  @property
370
434
  @pulumi.getter(name="clientRequestMfaToken")
371
- def client_request_mfa_token(self) -> Optional[pulumi.Input[bool]]:
435
+ def client_request_mfa_token(self) -> Optional[pulumi.Input[str]]:
372
436
  """
373
437
  When true the MFA token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also
374
438
  be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
@@ -376,12 +440,12 @@ class ProviderArgs:
376
440
  return pulumi.get(self, "client_request_mfa_token")
377
441
 
378
442
  @client_request_mfa_token.setter
379
- def client_request_mfa_token(self, value: Optional[pulumi.Input[bool]]):
443
+ def client_request_mfa_token(self, value: Optional[pulumi.Input[str]]):
380
444
  pulumi.set(self, "client_request_mfa_token", value)
381
445
 
382
446
  @property
383
447
  @pulumi.getter(name="clientStoreTemporaryCredential")
384
- def client_store_temporary_credential(self) -> Optional[pulumi.Input[bool]]:
448
+ def client_store_temporary_credential(self) -> Optional[pulumi.Input[str]]:
385
449
  """
386
450
  When true the ID token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be
387
451
  sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
@@ -389,15 +453,15 @@ class ProviderArgs:
389
453
  return pulumi.get(self, "client_store_temporary_credential")
390
454
 
391
455
  @client_store_temporary_credential.setter
392
- def client_store_temporary_credential(self, value: Optional[pulumi.Input[bool]]):
456
+ def client_store_temporary_credential(self, value: Optional[pulumi.Input[str]]):
393
457
  pulumi.set(self, "client_store_temporary_credential", value)
394
458
 
395
459
  @property
396
460
  @pulumi.getter(name="clientTimeout")
397
461
  def client_timeout(self) -> Optional[pulumi.Input[int]]:
398
462
  """
399
- The timeout in seconds for the client to complete the authentication. Default is 900 seconds. Can also be sourced from
400
- the `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
463
+ The timeout in seconds for the client to complete the authentication. Can also be sourced from the
464
+ `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
401
465
  """
402
466
  return pulumi.get(self, "client_timeout")
403
467
 
@@ -405,11 +469,24 @@ class ProviderArgs:
405
469
  def client_timeout(self, value: Optional[pulumi.Input[int]]):
406
470
  pulumi.set(self, "client_timeout", value)
407
471
 
472
+ @property
473
+ @pulumi.getter(name="disableConsoleLogin")
474
+ def disable_console_login(self) -> Optional[pulumi.Input[str]]:
475
+ """
476
+ Indicates whether console login should be disabled in the driver. Can also be sourced from the
477
+ `SNOWFLAKE_DISABLE_CONSOLE_LOGIN` environment variable.
478
+ """
479
+ return pulumi.get(self, "disable_console_login")
480
+
481
+ @disable_console_login.setter
482
+ def disable_console_login(self, value: Optional[pulumi.Input[str]]):
483
+ pulumi.set(self, "disable_console_login", value)
484
+
408
485
  @property
409
486
  @pulumi.getter(name="disableQueryContextCache")
410
487
  def disable_query_context_cache(self) -> Optional[pulumi.Input[bool]]:
411
488
  """
412
- Should HTAP query context cache be disabled. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
489
+ Disables HTAP query context cache in the driver. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
413
490
  environment variable.
414
491
  """
415
492
  return pulumi.get(self, "disable_query_context_cache")
@@ -422,7 +499,7 @@ class ProviderArgs:
422
499
  @pulumi.getter(name="disableTelemetry")
423
500
  def disable_telemetry(self) -> Optional[pulumi.Input[bool]]:
424
501
  """
425
- Indicates whether to disable telemetry. Can also be sourced from the `SNOWFLAKE_DISABLE_TELEMETRY` environment variable.
502
+ Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
426
503
  """
427
504
  return pulumi.get(self, "disable_telemetry")
428
505
 
@@ -430,12 +507,25 @@ class ProviderArgs:
430
507
  def disable_telemetry(self, value: Optional[pulumi.Input[bool]]):
431
508
  pulumi.set(self, "disable_telemetry", value)
432
509
 
510
+ @property
511
+ @pulumi.getter(name="driverTracing")
512
+ def driver_tracing(self) -> Optional[pulumi.Input[str]]:
513
+ """
514
+ Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` |
515
+ `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
516
+ """
517
+ return pulumi.get(self, "driver_tracing")
518
+
519
+ @driver_tracing.setter
520
+ def driver_tracing(self, value: Optional[pulumi.Input[str]]):
521
+ pulumi.set(self, "driver_tracing", value)
522
+
433
523
  @property
434
524
  @pulumi.getter(name="externalBrowserTimeout")
435
525
  def external_browser_timeout(self) -> Optional[pulumi.Input[int]]:
436
526
  """
437
- The timeout in seconds for the external browser to complete the authentication. Default is 120 seconds. Can also be
438
- sourced from the `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
527
+ The timeout in seconds for the external browser to complete the authentication. Can also be sourced from the
528
+ `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
439
529
  """
440
530
  return pulumi.get(self, "external_browser_timeout")
441
531
 
@@ -447,8 +537,8 @@ class ProviderArgs:
447
537
  @pulumi.getter
448
538
  def host(self) -> Optional[pulumi.Input[str]]:
449
539
  """
450
- Supports passing in a custom host value to the snowflake go driver for use with privatelink. Can also be sourced from
451
- the `SNOWFLAKE_HOST` environment variable.
540
+ Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the
541
+ `SNOWFLAKE_HOST` environment variable.
452
542
  """
453
543
  return pulumi.get(self, "host")
454
544
 
@@ -456,6 +546,19 @@ class ProviderArgs:
456
546
  def host(self, value: Optional[pulumi.Input[str]]):
457
547
  pulumi.set(self, "host", value)
458
548
 
549
+ @property
550
+ @pulumi.getter(name="includeRetryReason")
551
+ def include_retry_reason(self) -> Optional[pulumi.Input[str]]:
552
+ """
553
+ Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment
554
+ variable.
555
+ """
556
+ return pulumi.get(self, "include_retry_reason")
557
+
558
+ @include_retry_reason.setter
559
+ def include_retry_reason(self, value: Optional[pulumi.Input[str]]):
560
+ pulumi.set(self, "include_retry_reason", value)
561
+
459
562
  @property
460
563
  @pulumi.getter(name="insecureMode")
461
564
  def insecure_mode(self) -> Optional[pulumi.Input[bool]]:
@@ -474,8 +577,8 @@ class ProviderArgs:
474
577
  @pulumi.getter(name="jwtClientTimeout")
475
578
  def jwt_client_timeout(self) -> Optional[pulumi.Input[int]]:
476
579
  """
477
- The timeout in seconds for the JWT client to complete the authentication. Default is 10 seconds. Can also be sourced
478
- from the `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
580
+ The timeout in seconds for the JWT client to complete the authentication. Can also be sourced from the
581
+ `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
479
582
  """
480
583
  return pulumi.get(self, "jwt_client_timeout")
481
584
 
@@ -512,7 +615,7 @@ class ProviderArgs:
512
615
  @pulumi.getter(name="loginTimeout")
513
616
  def login_timeout(self) -> Optional[pulumi.Input[int]]:
514
617
  """
515
- Login retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
618
+ Login retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
516
619
  `SNOWFLAKE_LOGIN_TIMEOUT` environment variable.
517
620
  """
518
621
  return pulumi.get(self, "login_timeout")
@@ -521,6 +624,19 @@ class ProviderArgs:
521
624
  def login_timeout(self, value: Optional[pulumi.Input[int]]):
522
625
  pulumi.set(self, "login_timeout", value)
523
626
 
627
+ @property
628
+ @pulumi.getter(name="maxRetryCount")
629
+ def max_retry_count(self) -> Optional[pulumi.Input[int]]:
630
+ """
631
+ Specifies how many times non-periodic HTTP request can be retried by the driver. Can also be sourced from the
632
+ `SNOWFLAKE_MAX_RETRY_COUNT` environment variable.
633
+ """
634
+ return pulumi.get(self, "max_retry_count")
635
+
636
+ @max_retry_count.setter
637
+ def max_retry_count(self, value: Optional[pulumi.Input[int]]):
638
+ pulumi.set(self, "max_retry_count", value)
639
+
524
640
  @property
525
641
  @pulumi.getter(name="oauthAccessToken")
526
642
  @_utilities.deprecated("""Use `token` instead""")
@@ -608,7 +724,7 @@ class ProviderArgs:
608
724
 
609
725
  @property
610
726
  @pulumi.getter(name="ocspFailOpen")
611
- def ocsp_fail_open(self) -> Optional[pulumi.Input[bool]]:
727
+ def ocsp_fail_open(self) -> Optional[pulumi.Input[str]]:
612
728
  """
613
729
  True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
614
730
  sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
@@ -616,15 +732,16 @@ class ProviderArgs:
616
732
  return pulumi.get(self, "ocsp_fail_open")
617
733
 
618
734
  @ocsp_fail_open.setter
619
- def ocsp_fail_open(self, value: Optional[pulumi.Input[bool]]):
735
+ def ocsp_fail_open(self, value: Optional[pulumi.Input[str]]):
620
736
  pulumi.set(self, "ocsp_fail_open", value)
621
737
 
622
738
  @property
623
739
  @pulumi.getter(name="oktaUrl")
624
740
  def okta_url(self) -> Optional[pulumi.Input[str]]:
625
741
  """
626
- The URL of the Okta server. e.g. https://example.okta.com. Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment
627
- variable.
742
+ 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
743
+ in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the
744
+ `SNOWFLAKE_OKTA_URL` environment variable.
628
745
  """
629
746
  return pulumi.get(self, "okta_url")
630
747
 
@@ -632,11 +749,26 @@ class ProviderArgs:
632
749
  def okta_url(self, value: Optional[pulumi.Input[str]]):
633
750
  pulumi.set(self, "okta_url", value)
634
751
 
752
+ @property
753
+ @pulumi.getter(name="organizationName")
754
+ def organization_name(self) -> Optional[pulumi.Input[str]]:
755
+ """
756
+ Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the
757
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required
758
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
759
+ """
760
+ return pulumi.get(self, "organization_name")
761
+
762
+ @organization_name.setter
763
+ def organization_name(self, value: Optional[pulumi.Input[str]]):
764
+ pulumi.set(self, "organization_name", value)
765
+
635
766
  @property
636
767
  @pulumi.getter
637
768
  def params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
638
769
  """
639
- Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters)
770
+ Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters).
771
+ This field can not be set with environmental variables.
640
772
  """
641
773
  return pulumi.get(self, "params")
642
774
 
@@ -661,8 +793,8 @@ class ProviderArgs:
661
793
  @pulumi.getter(name="passcodeInPassword")
662
794
  def passcode_in_password(self) -> Optional[pulumi.Input[bool]]:
663
795
  """
664
- False by default. Set to true if the MFA passcode is embedded in the login password. Appends the MFA passcode to the end
665
- of the password. Can also be sourced from the `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
796
+ False by default. Set to true if the MFA passcode is embedded to the configured password. Can also be sourced from the
797
+ `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
666
798
  """
667
799
  return pulumi.get(self, "passcode_in_password")
668
800
 
@@ -674,7 +806,7 @@ class ProviderArgs:
674
806
  @pulumi.getter
675
807
  def password(self) -> Optional[pulumi.Input[str]]:
676
808
  """
677
- Password for username+password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
809
+ Password for user + password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
678
810
  the `SNOWFLAKE_PASSWORD` environment variable.
679
811
  """
680
812
  return pulumi.get(self, "password")
@@ -687,7 +819,7 @@ class ProviderArgs:
687
819
  @pulumi.getter
688
820
  def port(self) -> Optional[pulumi.Input[int]]:
689
821
  """
690
- Support custom port values to snowflake go driver for use with privatelink. Can also be sourced from the
822
+ Specifies a custom port value used by the driver for privatelink connections. Can also be sourced from the
691
823
  `SNOWFLAKE_PORT` environment variable.
692
824
  """
693
825
  return pulumi.get(self, "port")
@@ -701,7 +833,7 @@ class ProviderArgs:
701
833
  def private_key(self) -> Optional[pulumi.Input[str]]:
702
834
  """
703
835
  Private Key for username+private-key auth. Cannot be used with `browser_auth` or `password`. Can also be sourced from
704
- `SNOWFLAKE_PRIVATE_KEY` environment variable.
836
+ the `SNOWFLAKE_PRIVATE_KEY` environment variable.
705
837
  """
706
838
  return pulumi.get(self, "private_key")
707
839
 
@@ -714,7 +846,7 @@ class ProviderArgs:
714
846
  def private_key_passphrase(self) -> Optional[pulumi.Input[str]]:
715
847
  """
716
848
  Supports the encryption ciphers aes-128-cbc, aes-128-gcm, aes-192-cbc, aes-192-gcm, aes-256-cbc, aes-256-gcm, and
717
- des-ede3-cbc. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
849
+ des-ede3-cbc. Can also be sourced from the `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
718
850
  """
719
851
  return pulumi.get(self, "private_key_passphrase")
720
852
 
@@ -753,7 +885,8 @@ class ProviderArgs:
753
885
  @pulumi.getter
754
886
  def protocol(self) -> Optional[pulumi.Input[str]]:
755
887
  """
756
- Either http or https, defaults to https. Can also be sourced from the `SNOWFLAKE_PROTOCOL` environment variable.
888
+ A protocol used in the connection. Valid options are: `http` | `https`. Can also be sourced from the
889
+ `SNOWFLAKE_PROTOCOL` environment variable.
757
890
  """
758
891
  return pulumi.get(self, "protocol")
759
892
 
@@ -783,7 +916,7 @@ class ProviderArgs:
783
916
  @pulumi.getter(name="requestTimeout")
784
917
  def request_timeout(self) -> Optional[pulumi.Input[int]]:
785
918
  """
786
- request retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
919
+ request retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
787
920
  `SNOWFLAKE_REQUEST_TIMEOUT` environment variable.
788
921
  """
789
922
  return pulumi.get(self, "request_timeout")
@@ -797,7 +930,7 @@ class ProviderArgs:
797
930
  def role(self) -> Optional[pulumi.Input[str]]:
798
931
  """
799
932
  Specifies the role to use by default for accessing Snowflake objects in the client session. Can also be sourced from the
800
- `SNOWFLAKE_ROLE` environment variable. .
933
+ `SNOWFLAKE_ROLE` environment variable.
801
934
  """
802
935
  return pulumi.get(self, "role")
803
936
 
@@ -818,6 +951,19 @@ class ProviderArgs:
818
951
  def session_params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
819
952
  pulumi.set(self, "session_params", value)
820
953
 
954
+ @property
955
+ @pulumi.getter(name="tmpDirectoryPath")
956
+ def tmp_directory_path(self) -> Optional[pulumi.Input[str]]:
957
+ """
958
+ Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from
959
+ the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
960
+ """
961
+ return pulumi.get(self, "tmp_directory_path")
962
+
963
+ @tmp_directory_path.setter
964
+ def tmp_directory_path(self, value: Optional[pulumi.Input[str]]):
965
+ pulumi.set(self, "tmp_directory_path", value)
966
+
821
967
  @property
822
968
  @pulumi.getter
823
969
  def token(self) -> Optional[pulumi.Input[str]]:
@@ -844,7 +990,7 @@ class ProviderArgs:
844
990
  @pulumi.getter
845
991
  def user(self) -> Optional[pulumi.Input[str]]:
846
992
  """
847
- Username. Can also be sourced from the `SNOWFLAKE_USER` environment variable. Required unless using `profile`.
993
+ Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
848
994
  """
849
995
  return pulumi.get(self, "user")
850
996
 
@@ -857,8 +1003,8 @@ class ProviderArgs:
857
1003
  @_utilities.deprecated("""Use `user` instead of `username`""")
858
1004
  def username(self) -> Optional[pulumi.Input[str]]:
859
1005
  """
860
- Username for username+password authentication. Can also be sourced from the `SNOWFLAKE_USERNAME` environment variable.
861
- Required unless using `profile`.
1006
+ Username for user + password authentication. Required unless using `profile`. Can also be sourced from the
1007
+ `SNOWFLAKE_USERNAME` environment variable.
862
1008
  """
863
1009
  return pulumi.get(self, "username")
864
1010
 
@@ -868,7 +1014,7 @@ class ProviderArgs:
868
1014
 
869
1015
  @property
870
1016
  @pulumi.getter(name="validateDefaultParameters")
871
- def validate_default_parameters(self) -> Optional[pulumi.Input[bool]]:
1017
+ def validate_default_parameters(self) -> Optional[pulumi.Input[str]]:
872
1018
  """
873
1019
  True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
874
1020
  connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
@@ -876,7 +1022,7 @@ class ProviderArgs:
876
1022
  return pulumi.get(self, "validate_default_parameters")
877
1023
 
878
1024
  @validate_default_parameters.setter
879
- def validate_default_parameters(self, value: Optional[pulumi.Input[bool]]):
1025
+ def validate_default_parameters(self, value: Optional[pulumi.Input[str]]):
880
1026
  pulumi.set(self, "validate_default_parameters", value)
881
1027
 
882
1028
  @property
@@ -899,29 +1045,35 @@ class Provider(pulumi.ProviderResource):
899
1045
  resource_name: str,
900
1046
  opts: Optional[pulumi.ResourceOptions] = None,
901
1047
  account: Optional[pulumi.Input[str]] = None,
1048
+ account_name: Optional[pulumi.Input[str]] = None,
902
1049
  authenticator: Optional[pulumi.Input[str]] = None,
903
1050
  browser_auth: Optional[pulumi.Input[bool]] = None,
904
1051
  client_ip: Optional[pulumi.Input[str]] = None,
905
- client_request_mfa_token: Optional[pulumi.Input[bool]] = None,
906
- client_store_temporary_credential: Optional[pulumi.Input[bool]] = None,
1052
+ client_request_mfa_token: Optional[pulumi.Input[str]] = None,
1053
+ client_store_temporary_credential: Optional[pulumi.Input[str]] = None,
907
1054
  client_timeout: Optional[pulumi.Input[int]] = None,
1055
+ disable_console_login: Optional[pulumi.Input[str]] = None,
908
1056
  disable_query_context_cache: Optional[pulumi.Input[bool]] = None,
909
1057
  disable_telemetry: Optional[pulumi.Input[bool]] = None,
1058
+ driver_tracing: Optional[pulumi.Input[str]] = None,
910
1059
  external_browser_timeout: Optional[pulumi.Input[int]] = None,
911
1060
  host: Optional[pulumi.Input[str]] = None,
1061
+ include_retry_reason: Optional[pulumi.Input[str]] = None,
912
1062
  insecure_mode: Optional[pulumi.Input[bool]] = None,
913
1063
  jwt_client_timeout: Optional[pulumi.Input[int]] = None,
914
1064
  jwt_expire_timeout: Optional[pulumi.Input[int]] = None,
915
1065
  keep_session_alive: Optional[pulumi.Input[bool]] = None,
916
1066
  login_timeout: Optional[pulumi.Input[int]] = None,
1067
+ max_retry_count: Optional[pulumi.Input[int]] = None,
917
1068
  oauth_access_token: Optional[pulumi.Input[str]] = None,
918
1069
  oauth_client_id: Optional[pulumi.Input[str]] = None,
919
1070
  oauth_client_secret: Optional[pulumi.Input[str]] = None,
920
1071
  oauth_endpoint: Optional[pulumi.Input[str]] = None,
921
1072
  oauth_redirect_url: Optional[pulumi.Input[str]] = None,
922
1073
  oauth_refresh_token: Optional[pulumi.Input[str]] = None,
923
- ocsp_fail_open: Optional[pulumi.Input[bool]] = None,
1074
+ ocsp_fail_open: Optional[pulumi.Input[str]] = None,
924
1075
  okta_url: Optional[pulumi.Input[str]] = None,
1076
+ organization_name: Optional[pulumi.Input[str]] = None,
925
1077
  params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
926
1078
  passcode: Optional[pulumi.Input[str]] = None,
927
1079
  passcode_in_password: Optional[pulumi.Input[bool]] = None,
@@ -936,11 +1088,12 @@ class Provider(pulumi.ProviderResource):
936
1088
  request_timeout: Optional[pulumi.Input[int]] = None,
937
1089
  role: Optional[pulumi.Input[str]] = None,
938
1090
  session_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1091
+ tmp_directory_path: Optional[pulumi.Input[str]] = None,
939
1092
  token: Optional[pulumi.Input[str]] = None,
940
1093
  token_accessor: Optional[pulumi.Input[Union['ProviderTokenAccessorArgs', 'ProviderTokenAccessorArgsDict']]] = None,
941
1094
  user: Optional[pulumi.Input[str]] = None,
942
1095
  username: Optional[pulumi.Input[str]] = None,
943
- validate_default_parameters: Optional[pulumi.Input[bool]] = None,
1096
+ validate_default_parameters: Optional[pulumi.Input[str]] = None,
944
1097
  warehouse: Optional[pulumi.Input[str]] = None,
945
1098
  __props__=None):
946
1099
  """
@@ -951,38 +1104,52 @@ class Provider(pulumi.ProviderResource):
951
1104
 
952
1105
  :param str resource_name: The name of the resource.
953
1106
  :param pulumi.ResourceOptions opts: Options for the resource.
954
- :param pulumi.Input[str] account: Specifies your Snowflake account identifier assigned, by Snowflake. For information about account identifiers, see the
955
- [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Can also be sourced
956
- from the `SNOWFLAKE_ACCOUNT` environment variable. Required unless using `profile`.
1107
+ :param pulumi.Input[str] account: Use `account_name` and `organization_name` instead. Specifies your Snowflake account identifier assigned, by Snowflake.
1108
+ The [account
1109
+ locator](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-account-locator-in-a-region) format
1110
+ is not supported. For information about account identifiers, see the [Snowflake
1111
+ documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Required unless using `profile`.
1112
+ Can also be sourced from the `SNOWFLAKE_ACCOUNT` environment variable.
1113
+ :param pulumi.Input[str] account_name: Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the
1114
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required
1115
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
957
1116
  :param pulumi.Input[str] authenticator: Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when
958
- connecting to Snowflake. Valid values include: Snowflake, OAuth, ExternalBrowser, Okta, JWT, TokenAccessor,
959
- UsernamePasswordMFA. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable. It has to be set
960
- explicitly to JWT for private key authentication.
1117
+ connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `JWT` | `SNOWFLAKE_JWT`
1118
+ | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA`. Value `JWT` is deprecated and will be removed in future releases. Can also be
1119
+ sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
961
1120
  :param pulumi.Input[bool] browser_auth: Required when `oauth_refresh_token` is used. Can also be sourced from `SNOWFLAKE_USE_BROWSER_AUTH` environment variable.
962
1121
  :param pulumi.Input[str] client_ip: IP address for network checks. Can also be sourced from the `SNOWFLAKE_CLIENT_IP` environment variable.
963
- :param pulumi.Input[bool] 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
1122
+ :param pulumi.Input[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
964
1123
  be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
965
- :param pulumi.Input[bool] 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
1124
+ :param pulumi.Input[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
966
1125
  sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
967
- :param pulumi.Input[int] client_timeout: The timeout in seconds for the client to complete the authentication. Default is 900 seconds. Can also be sourced from
968
- the `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
969
- :param pulumi.Input[bool] disable_query_context_cache: Should HTAP query context cache be disabled. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
1126
+ :param pulumi.Input[int] client_timeout: The timeout in seconds for the client to complete the authentication. Can also be sourced from the
1127
+ `SNOWFLAKE_CLIENT_TIMEOUT` environment variable.
1128
+ :param pulumi.Input[str] disable_console_login: Indicates whether console login should be disabled in the driver. Can also be sourced from the
1129
+ `SNOWFLAKE_DISABLE_CONSOLE_LOGIN` environment variable.
1130
+ :param pulumi.Input[bool] disable_query_context_cache: Disables HTAP query context cache in the driver. Can also be sourced from the `SNOWFLAKE_DISABLE_QUERY_CONTEXT_CACHE`
970
1131
  environment variable.
971
- :param pulumi.Input[bool] disable_telemetry: Indicates whether to disable telemetry. Can also be sourced from the `SNOWFLAKE_DISABLE_TELEMETRY` environment variable.
972
- :param pulumi.Input[int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Default is 120 seconds. Can also be
973
- sourced from the `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
974
- :param pulumi.Input[str] host: Supports passing in a custom host value to the snowflake go driver for use with privatelink. Can also be sourced from
975
- the `SNOWFLAKE_HOST` environment variable.
1132
+ :param pulumi.Input[bool] disable_telemetry: Disables telemetry in the driver. Can also be sourced from the `DISABLE_TELEMETRY` environment variable.
1133
+ :param pulumi.Input[str] driver_tracing: Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` |
1134
+ `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
1135
+ :param pulumi.Input[int] external_browser_timeout: The timeout in seconds for the external browser to complete the authentication. Can also be sourced from the
1136
+ `SNOWFLAKE_EXTERNAL_BROWSER_TIMEOUT` environment variable.
1137
+ :param pulumi.Input[str] host: Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the
1138
+ `SNOWFLAKE_HOST` environment variable.
1139
+ :param pulumi.Input[str] include_retry_reason: Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment
1140
+ variable.
976
1141
  :param pulumi.Input[bool] insecure_mode: If true, bypass the Online Certificate Status Protocol (OCSP) certificate revocation check. IMPORTANT: Change the
977
1142
  default value for testing or emergency situations only. Can also be sourced from the `SNOWFLAKE_INSECURE_MODE`
978
1143
  environment variable.
979
- :param pulumi.Input[int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Default is 10 seconds. Can also be sourced
980
- from the `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
1144
+ :param pulumi.Input[int] jwt_client_timeout: The timeout in seconds for the JWT client to complete the authentication. Can also be sourced from the
1145
+ `SNOWFLAKE_JWT_CLIENT_TIMEOUT` environment variable.
981
1146
  :param pulumi.Input[int] jwt_expire_timeout: JWT expire after timeout in seconds. Can also be sourced from the `SNOWFLAKE_JWT_EXPIRE_TIMEOUT` environment variable.
982
1147
  :param pulumi.Input[bool] keep_session_alive: Enables the session to persist even after the connection is closed. Can also be sourced from the
983
1148
  `SNOWFLAKE_KEEP_SESSION_ALIVE` environment variable.
984
- :param pulumi.Input[int] login_timeout: Login retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
1149
+ :param pulumi.Input[int] login_timeout: Login retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
985
1150
  `SNOWFLAKE_LOGIN_TIMEOUT` environment variable.
1151
+ :param pulumi.Input[int] max_retry_count: Specifies how many times non-periodic HTTP request can be retried by the driver. Can also be sourced from the
1152
+ `SNOWFLAKE_MAX_RETRY_COUNT` environment variable.
986
1153
  :param pulumi.Input[str] oauth_access_token: Token for use with OAuth. Generating the token is left to other tools. Cannot be used with `browser_auth`,
987
1154
  `private_key_path`, `oauth_refresh_token` or `password`. Can also be sourced from `SNOWFLAKE_OAUTH_ACCESS_TOKEN`
988
1155
  environment variable.
@@ -996,45 +1163,53 @@ class Provider(pulumi.ProviderResource):
996
1163
  `oauth_client_id`, `oauth_client_secret`, `oauth_endpoint`, `oauth_redirect_url`. Cannot be used with `browser_auth`,
997
1164
  `private_key_path`, `oauth_access_token` or `password`. Can also be sourced from `SNOWFLAKE_OAUTH_REFRESH_TOKEN`
998
1165
  environment variable.
999
- :param pulumi.Input[bool] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
1166
+ :param pulumi.Input[str] ocsp_fail_open: True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
1000
1167
  sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
1001
- :param pulumi.Input[str] okta_url: The URL of the Okta server. e.g. https://example.okta.com. Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment
1002
- variable.
1003
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters)
1168
+ :param pulumi.Input[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
1169
+ in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the
1170
+ `SNOWFLAKE_OKTA_URL` environment variable.
1171
+ :param pulumi.Input[str] organization_name: Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the
1172
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required
1173
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
1174
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Sets other connection (i.e. session) parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters).
1175
+ This field can not be set with environmental variables.
1004
1176
  :param pulumi.Input[str] passcode: Specifies the passcode provided by Duo when using multi-factor authentication (MFA) for login. Can also be sourced from
1005
1177
  the `SNOWFLAKE_PASSCODE` environment variable.
1006
- :param pulumi.Input[bool] passcode_in_password: False by default. Set to true if the MFA passcode is embedded in the login password. Appends the MFA passcode to the end
1007
- of the password. Can also be sourced from the `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
1008
- :param pulumi.Input[str] password: Password for username+password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
1178
+ :param pulumi.Input[bool] passcode_in_password: False by default. Set to true if the MFA passcode is embedded to the configured password. Can also be sourced from the
1179
+ `SNOWFLAKE_PASSCODE_IN_PASSWORD` environment variable.
1180
+ :param pulumi.Input[str] password: Password for user + password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
1009
1181
  the `SNOWFLAKE_PASSWORD` environment variable.
1010
- :param pulumi.Input[int] port: Support custom port values to snowflake go driver for use with privatelink. Can also be sourced from the
1182
+ :param pulumi.Input[int] port: Specifies a custom port value used by the driver for privatelink connections. Can also be sourced from the
1011
1183
  `SNOWFLAKE_PORT` environment variable.
1012
1184
  :param pulumi.Input[str] private_key: Private Key for username+private-key auth. Cannot be used with `browser_auth` or `password`. Can also be sourced from
1013
- `SNOWFLAKE_PRIVATE_KEY` environment variable.
1185
+ the `SNOWFLAKE_PRIVATE_KEY` environment variable.
1014
1186
  :param pulumi.Input[str] private_key_passphrase: Supports the encryption ciphers aes-128-cbc, aes-128-gcm, aes-192-cbc, aes-192-gcm, aes-256-cbc, aes-256-gcm, and
1015
- des-ede3-cbc. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
1187
+ des-ede3-cbc. Can also be sourced from the `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
1016
1188
  :param pulumi.Input[str] private_key_path: Path to a private key for using keypair authentication. Cannot be used with `browser_auth`, `oauth_access_token` or
1017
1189
  `password`. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PATH` environment variable.
1018
1190
  :param pulumi.Input[str] profile: Sets the profile to read from ~/.snowflake/config file. Can also be sourced from the `SNOWFLAKE_PROFILE` environment
1019
1191
  variable.
1020
- :param pulumi.Input[str] protocol: Either http or https, defaults to https. Can also be sourced from the `SNOWFLAKE_PROTOCOL` environment variable.
1192
+ :param pulumi.Input[str] protocol: A protocol used in the connection. Valid options are: `http` | `https`. Can also be sourced from the
1193
+ `SNOWFLAKE_PROTOCOL` environment variable.
1021
1194
  :param pulumi.Input[str] region: Snowflake region, such as "eu-central-1", with this parameter. However, since this parameter is deprecated, it is best
1022
1195
  to specify the region as part of the account parameter. For details, see the description of the account parameter.
1023
1196
  [Snowflake region](https://docs.snowflake.com/en/user-guide/intro-regions.html) to use. Required if using the [legacy
1024
1197
  format for the `account`
1025
1198
  identifier](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#format-2-legacy-account-locator-in-a-region)
1026
1199
  in the form of `<cloud_region_id>.<cloud>`. Can also be sourced from the `SNOWFLAKE_REGION` environment variable.
1027
- :param pulumi.Input[int] request_timeout: request retry timeout EXCLUDING network roundtrip and read out http response. Can also be sourced from the
1200
+ :param pulumi.Input[int] request_timeout: request retry timeout in seconds EXCLUDING network roundtrip and read out http response. Can also be sourced from the
1028
1201
  `SNOWFLAKE_REQUEST_TIMEOUT` environment variable.
1029
1202
  :param pulumi.Input[str] role: Specifies the role to use by default for accessing Snowflake objects in the client session. Can also be sourced from the
1030
- `SNOWFLAKE_ROLE` environment variable. .
1203
+ `SNOWFLAKE_ROLE` environment variable.
1031
1204
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] session_params: Sets session parameters. [Parameters](https://docs.snowflake.com/en/sql-reference/parameters)
1205
+ :param pulumi.Input[str] tmp_directory_path: Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from
1206
+ the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
1032
1207
  :param pulumi.Input[str] token: Token to use for OAuth and other forms of token based auth. Can also be sourced from the `SNOWFLAKE_TOKEN` environment
1033
1208
  variable.
1034
- :param pulumi.Input[str] user: Username. Can also be sourced from the `SNOWFLAKE_USER` environment variable. Required unless using `profile`.
1035
- :param pulumi.Input[str] username: Username for username+password authentication. Can also be sourced from the `SNOWFLAKE_USERNAME` environment variable.
1036
- Required unless using `profile`.
1037
- :param pulumi.Input[bool] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
1209
+ :param pulumi.Input[str] user: Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
1210
+ :param pulumi.Input[str] username: Username for user + password authentication. Required unless using `profile`. Can also be sourced from the
1211
+ `SNOWFLAKE_USERNAME` environment variable.
1212
+ :param pulumi.Input[str] validate_default_parameters: True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
1038
1213
  connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
1039
1214
  :param pulumi.Input[str] warehouse: Specifies the virtual warehouse to use by default for queries, loading, etc. in the client session. Can also be sourced
1040
1215
  from the `SNOWFLAKE_WAREHOUSE` environment variable.
@@ -1067,29 +1242,35 @@ class Provider(pulumi.ProviderResource):
1067
1242
  resource_name: str,
1068
1243
  opts: Optional[pulumi.ResourceOptions] = None,
1069
1244
  account: Optional[pulumi.Input[str]] = None,
1245
+ account_name: Optional[pulumi.Input[str]] = None,
1070
1246
  authenticator: Optional[pulumi.Input[str]] = None,
1071
1247
  browser_auth: Optional[pulumi.Input[bool]] = None,
1072
1248
  client_ip: Optional[pulumi.Input[str]] = None,
1073
- client_request_mfa_token: Optional[pulumi.Input[bool]] = None,
1074
- client_store_temporary_credential: Optional[pulumi.Input[bool]] = None,
1249
+ client_request_mfa_token: Optional[pulumi.Input[str]] = None,
1250
+ client_store_temporary_credential: Optional[pulumi.Input[str]] = None,
1075
1251
  client_timeout: Optional[pulumi.Input[int]] = None,
1252
+ disable_console_login: Optional[pulumi.Input[str]] = None,
1076
1253
  disable_query_context_cache: Optional[pulumi.Input[bool]] = None,
1077
1254
  disable_telemetry: Optional[pulumi.Input[bool]] = None,
1255
+ driver_tracing: Optional[pulumi.Input[str]] = None,
1078
1256
  external_browser_timeout: Optional[pulumi.Input[int]] = None,
1079
1257
  host: Optional[pulumi.Input[str]] = None,
1258
+ include_retry_reason: Optional[pulumi.Input[str]] = None,
1080
1259
  insecure_mode: Optional[pulumi.Input[bool]] = None,
1081
1260
  jwt_client_timeout: Optional[pulumi.Input[int]] = None,
1082
1261
  jwt_expire_timeout: Optional[pulumi.Input[int]] = None,
1083
1262
  keep_session_alive: Optional[pulumi.Input[bool]] = None,
1084
1263
  login_timeout: Optional[pulumi.Input[int]] = None,
1264
+ max_retry_count: Optional[pulumi.Input[int]] = None,
1085
1265
  oauth_access_token: Optional[pulumi.Input[str]] = None,
1086
1266
  oauth_client_id: Optional[pulumi.Input[str]] = None,
1087
1267
  oauth_client_secret: Optional[pulumi.Input[str]] = None,
1088
1268
  oauth_endpoint: Optional[pulumi.Input[str]] = None,
1089
1269
  oauth_redirect_url: Optional[pulumi.Input[str]] = None,
1090
1270
  oauth_refresh_token: Optional[pulumi.Input[str]] = None,
1091
- ocsp_fail_open: Optional[pulumi.Input[bool]] = None,
1271
+ ocsp_fail_open: Optional[pulumi.Input[str]] = None,
1092
1272
  okta_url: Optional[pulumi.Input[str]] = None,
1273
+ organization_name: Optional[pulumi.Input[str]] = None,
1093
1274
  params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1094
1275
  passcode: Optional[pulumi.Input[str]] = None,
1095
1276
  passcode_in_password: Optional[pulumi.Input[bool]] = None,
@@ -1104,11 +1285,12 @@ class Provider(pulumi.ProviderResource):
1104
1285
  request_timeout: Optional[pulumi.Input[int]] = None,
1105
1286
  role: Optional[pulumi.Input[str]] = None,
1106
1287
  session_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1288
+ tmp_directory_path: Optional[pulumi.Input[str]] = None,
1107
1289
  token: Optional[pulumi.Input[str]] = None,
1108
1290
  token_accessor: Optional[pulumi.Input[Union['ProviderTokenAccessorArgs', 'ProviderTokenAccessorArgsDict']]] = None,
1109
1291
  user: Optional[pulumi.Input[str]] = None,
1110
1292
  username: Optional[pulumi.Input[str]] = None,
1111
- validate_default_parameters: Optional[pulumi.Input[bool]] = None,
1293
+ validate_default_parameters: Optional[pulumi.Input[str]] = None,
1112
1294
  warehouse: Optional[pulumi.Input[str]] = None,
1113
1295
  __props__=None):
1114
1296
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -1122,25 +1304,30 @@ class Provider(pulumi.ProviderResource):
1122
1304
  if account is None:
1123
1305
  account = _utilities.get_env('SNOWFLAKE_ACCOUNT')
1124
1306
  __props__.__dict__["account"] = account
1307
+ __props__.__dict__["account_name"] = account_name
1125
1308
  __props__.__dict__["authenticator"] = authenticator
1126
1309
  if browser_auth is None:
1127
1310
  browser_auth = _utilities.get_env_bool('SNOWFLAKE_USE_BROWSER_AUTH')
1128
1311
  __props__.__dict__["browser_auth"] = pulumi.Output.from_input(browser_auth).apply(pulumi.runtime.to_json) if browser_auth is not None else None
1129
1312
  __props__.__dict__["client_ip"] = client_ip
1130
- __props__.__dict__["client_request_mfa_token"] = pulumi.Output.from_input(client_request_mfa_token).apply(pulumi.runtime.to_json) if client_request_mfa_token is not None else None
1131
- __props__.__dict__["client_store_temporary_credential"] = pulumi.Output.from_input(client_store_temporary_credential).apply(pulumi.runtime.to_json) if client_store_temporary_credential is not None else None
1313
+ __props__.__dict__["client_request_mfa_token"] = client_request_mfa_token
1314
+ __props__.__dict__["client_store_temporary_credential"] = client_store_temporary_credential
1132
1315
  __props__.__dict__["client_timeout"] = pulumi.Output.from_input(client_timeout).apply(pulumi.runtime.to_json) if client_timeout is not None else None
1316
+ __props__.__dict__["disable_console_login"] = disable_console_login
1133
1317
  __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
1134
1318
  __props__.__dict__["disable_telemetry"] = pulumi.Output.from_input(disable_telemetry).apply(pulumi.runtime.to_json) if disable_telemetry is not None else None
1319
+ __props__.__dict__["driver_tracing"] = driver_tracing
1135
1320
  __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
1136
1321
  if host is None:
1137
1322
  host = _utilities.get_env('SNOWFLAKE_HOST')
1138
1323
  __props__.__dict__["host"] = host
1324
+ __props__.__dict__["include_retry_reason"] = include_retry_reason
1139
1325
  __props__.__dict__["insecure_mode"] = pulumi.Output.from_input(insecure_mode).apply(pulumi.runtime.to_json) if insecure_mode is not None else None
1140
1326
  __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
1141
1327
  __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
1142
1328
  __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
1143
1329
  __props__.__dict__["login_timeout"] = pulumi.Output.from_input(login_timeout).apply(pulumi.runtime.to_json) if login_timeout is not None else None
1330
+ __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
1144
1331
  if oauth_access_token is None:
1145
1332
  oauth_access_token = _utilities.get_env('SNOWFLAKE_OAUTH_ACCESS_TOKEN')
1146
1333
  __props__.__dict__["oauth_access_token"] = None if oauth_access_token is None else pulumi.Output.secret(oauth_access_token)
@@ -1159,8 +1346,9 @@ class Provider(pulumi.ProviderResource):
1159
1346
  if oauth_refresh_token is None:
1160
1347
  oauth_refresh_token = _utilities.get_env('SNOWFLAKE_OAUTH_REFRESH_TOKEN')
1161
1348
  __props__.__dict__["oauth_refresh_token"] = None if oauth_refresh_token is None else pulumi.Output.secret(oauth_refresh_token)
1162
- __props__.__dict__["ocsp_fail_open"] = pulumi.Output.from_input(ocsp_fail_open).apply(pulumi.runtime.to_json) if ocsp_fail_open is not None else None
1349
+ __props__.__dict__["ocsp_fail_open"] = ocsp_fail_open
1163
1350
  __props__.__dict__["okta_url"] = okta_url
1351
+ __props__.__dict__["organization_name"] = organization_name
1164
1352
  __props__.__dict__["params"] = pulumi.Output.from_input(params).apply(pulumi.runtime.to_json) if params is not None else None
1165
1353
  __props__.__dict__["passcode"] = passcode
1166
1354
  __props__.__dict__["passcode_in_password"] = pulumi.Output.from_input(passcode_in_password).apply(pulumi.runtime.to_json) if passcode_in_password is not None else None
@@ -1189,13 +1377,14 @@ class Provider(pulumi.ProviderResource):
1189
1377
  role = _utilities.get_env('SNOWFLAKE_ROLE')
1190
1378
  __props__.__dict__["role"] = role
1191
1379
  __props__.__dict__["session_params"] = pulumi.Output.from_input(session_params).apply(pulumi.runtime.to_json) if session_params is not None else None
1380
+ __props__.__dict__["tmp_directory_path"] = tmp_directory_path
1192
1381
  __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token)
1193
1382
  __props__.__dict__["token_accessor"] = pulumi.Output.from_input(token_accessor).apply(pulumi.runtime.to_json) if token_accessor is not None else None
1194
1383
  __props__.__dict__["user"] = user
1195
1384
  if username is None:
1196
1385
  username = _utilities.get_env('SNOWFLAKE_USER')
1197
1386
  __props__.__dict__["username"] = username
1198
- __props__.__dict__["validate_default_parameters"] = pulumi.Output.from_input(validate_default_parameters).apply(pulumi.runtime.to_json) if validate_default_parameters is not None else None
1387
+ __props__.__dict__["validate_default_parameters"] = validate_default_parameters
1199
1388
  if warehouse is None:
1200
1389
  warehouse = _utilities.get_env('SNOWFLAKE_WAREHOUSE')
1201
1390
  __props__.__dict__["warehouse"] = warehouse
@@ -1209,22 +1398,36 @@ class Provider(pulumi.ProviderResource):
1209
1398
 
1210
1399
  @property
1211
1400
  @pulumi.getter
1401
+ @_utilities.deprecated("""Use `account_name` and `organization_name` instead of `account`""")
1212
1402
  def account(self) -> pulumi.Output[Optional[str]]:
1213
1403
  """
1214
- Specifies your Snowflake account identifier assigned, by Snowflake. For information about account identifiers, see the
1215
- [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Can also be sourced
1216
- from the `SNOWFLAKE_ACCOUNT` environment variable. Required unless using `profile`.
1404
+ Use `account_name` and `organization_name` instead. Specifies your Snowflake account identifier assigned, by Snowflake.
1405
+ The [account
1406
+ locator](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-account-locator-in-a-region) format
1407
+ is not supported. For information about account identifiers, see the [Snowflake
1408
+ documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html). Required unless using `profile`.
1409
+ Can also be sourced from the `SNOWFLAKE_ACCOUNT` environment variable.
1217
1410
  """
1218
1411
  return pulumi.get(self, "account")
1219
1412
 
1413
+ @property
1414
+ @pulumi.getter(name="accountName")
1415
+ def account_name(self) -> pulumi.Output[Optional[str]]:
1416
+ """
1417
+ Specifies your Snowflake account name assigned by Snowflake. For information about account identifiers, see the
1418
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#account-name). Required
1419
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ACCOUNT_NAME` environment variable.
1420
+ """
1421
+ return pulumi.get(self, "account_name")
1422
+
1220
1423
  @property
1221
1424
  @pulumi.getter
1222
1425
  def authenticator(self) -> pulumi.Output[Optional[str]]:
1223
1426
  """
1224
1427
  Specifies the [authentication type](https://pkg.go.dev/github.com/snowflakedb/gosnowflake#AuthType) to use when
1225
- connecting to Snowflake. Valid values include: Snowflake, OAuth, ExternalBrowser, Okta, JWT, TokenAccessor,
1226
- UsernamePasswordMFA. Can also be sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable. It has to be set
1227
- explicitly to JWT for private key authentication.
1428
+ connecting to Snowflake. Valid options are: `SNOWFLAKE` | `OAUTH` | `EXTERNALBROWSER` | `OKTA` | `JWT` | `SNOWFLAKE_JWT`
1429
+ | `TOKENACCESSOR` | `USERNAMEPASSWORDMFA`. Value `JWT` is deprecated and will be removed in future releases. Can also be
1430
+ sourced from the `SNOWFLAKE_AUTHENTICATOR` environment variable.
1228
1431
  """
1229
1432
  return pulumi.get(self, "authenticator")
1230
1433
 
@@ -1236,15 +1439,60 @@ class Provider(pulumi.ProviderResource):
1236
1439
  """
1237
1440
  return pulumi.get(self, "client_ip")
1238
1441
 
1442
+ @property
1443
+ @pulumi.getter(name="clientRequestMfaToken")
1444
+ def client_request_mfa_token(self) -> pulumi.Output[Optional[str]]:
1445
+ """
1446
+ When true the MFA token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also
1447
+ be sourced from the `SNOWFLAKE_CLIENT_REQUEST_MFA_TOKEN` environment variable.
1448
+ """
1449
+ return pulumi.get(self, "client_request_mfa_token")
1450
+
1451
+ @property
1452
+ @pulumi.getter(name="clientStoreTemporaryCredential")
1453
+ def client_store_temporary_credential(self) -> pulumi.Output[Optional[str]]:
1454
+ """
1455
+ When true the ID token is cached in the credential manager. True by default in Windows/OSX. False for Linux. Can also be
1456
+ sourced from the `SNOWFLAKE_CLIENT_STORE_TEMPORARY_CREDENTIAL` environment variable.
1457
+ """
1458
+ return pulumi.get(self, "client_store_temporary_credential")
1459
+
1460
+ @property
1461
+ @pulumi.getter(name="disableConsoleLogin")
1462
+ def disable_console_login(self) -> pulumi.Output[Optional[str]]:
1463
+ """
1464
+ Indicates whether console login should be disabled in the driver. Can also be sourced from the
1465
+ `SNOWFLAKE_DISABLE_CONSOLE_LOGIN` environment variable.
1466
+ """
1467
+ return pulumi.get(self, "disable_console_login")
1468
+
1469
+ @property
1470
+ @pulumi.getter(name="driverTracing")
1471
+ def driver_tracing(self) -> pulumi.Output[Optional[str]]:
1472
+ """
1473
+ Specifies the logging level to be used by the driver. Valid options are: `trace` | `debug` | `info` | `print` |
1474
+ `warning` | `error` | `fatal` | `panic`. Can also be sourced from the `SNOWFLAKE_DRIVER_TRACING` environment variable.
1475
+ """
1476
+ return pulumi.get(self, "driver_tracing")
1477
+
1239
1478
  @property
1240
1479
  @pulumi.getter
1241
1480
  def host(self) -> pulumi.Output[Optional[str]]:
1242
1481
  """
1243
- Supports passing in a custom host value to the snowflake go driver for use with privatelink. Can also be sourced from
1244
- the `SNOWFLAKE_HOST` environment variable.
1482
+ Specifies a custom host value used by the driver for privatelink connections. Can also be sourced from the
1483
+ `SNOWFLAKE_HOST` environment variable.
1245
1484
  """
1246
1485
  return pulumi.get(self, "host")
1247
1486
 
1487
+ @property
1488
+ @pulumi.getter(name="includeRetryReason")
1489
+ def include_retry_reason(self) -> pulumi.Output[Optional[str]]:
1490
+ """
1491
+ Should retried request contain retry reason. Can also be sourced from the `SNOWFLAKE_INCLUDE_RETRY_REASON` environment
1492
+ variable.
1493
+ """
1494
+ return pulumi.get(self, "include_retry_reason")
1495
+
1248
1496
  @property
1249
1497
  @pulumi.getter(name="oauthAccessToken")
1250
1498
  @_utilities.deprecated("""Use `token` instead""")
@@ -1306,15 +1554,35 @@ class Provider(pulumi.ProviderResource):
1306
1554
  """
1307
1555
  return pulumi.get(self, "oauth_refresh_token")
1308
1556
 
1557
+ @property
1558
+ @pulumi.getter(name="ocspFailOpen")
1559
+ def ocsp_fail_open(self) -> pulumi.Output[Optional[str]]:
1560
+ """
1561
+ True represents OCSP fail open mode. False represents OCSP fail closed mode. Fail open true by default. Can also be
1562
+ sourced from the `SNOWFLAKE_OCSP_FAIL_OPEN` environment variable.
1563
+ """
1564
+ return pulumi.get(self, "ocsp_fail_open")
1565
+
1309
1566
  @property
1310
1567
  @pulumi.getter(name="oktaUrl")
1311
1568
  def okta_url(self) -> pulumi.Output[Optional[str]]:
1312
1569
  """
1313
- The URL of the Okta server. e.g. https://example.okta.com. Can also be sourced from the `SNOWFLAKE_OKTA_URL` environment
1314
- variable.
1570
+ 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
1571
+ in Snowflake [docs](https://docs.snowflake.com/en/user-guide/oauth-okta). Can also be sourced from the
1572
+ `SNOWFLAKE_OKTA_URL` environment variable.
1315
1573
  """
1316
1574
  return pulumi.get(self, "okta_url")
1317
1575
 
1576
+ @property
1577
+ @pulumi.getter(name="organizationName")
1578
+ def organization_name(self) -> pulumi.Output[Optional[str]]:
1579
+ """
1580
+ Specifies your Snowflake organization name assigned by Snowflake. For information about account identifiers, see the
1581
+ [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#organization-name). Required
1582
+ unless using `profile`. Can also be sourced from the `SNOWFLAKE_ORGANIZATION_NAME` environment variable.
1583
+ """
1584
+ return pulumi.get(self, "organization_name")
1585
+
1318
1586
  @property
1319
1587
  @pulumi.getter
1320
1588
  def passcode(self) -> pulumi.Output[Optional[str]]:
@@ -1328,7 +1596,7 @@ class Provider(pulumi.ProviderResource):
1328
1596
  @pulumi.getter
1329
1597
  def password(self) -> pulumi.Output[Optional[str]]:
1330
1598
  """
1331
- Password for username+password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
1599
+ Password for user + password auth. Cannot be used with `browser_auth` or `private_key_path`. Can also be sourced from
1332
1600
  the `SNOWFLAKE_PASSWORD` environment variable.
1333
1601
  """
1334
1602
  return pulumi.get(self, "password")
@@ -1338,7 +1606,7 @@ class Provider(pulumi.ProviderResource):
1338
1606
  def private_key(self) -> pulumi.Output[Optional[str]]:
1339
1607
  """
1340
1608
  Private Key for username+private-key auth. Cannot be used with `browser_auth` or `password`. Can also be sourced from
1341
- `SNOWFLAKE_PRIVATE_KEY` environment variable.
1609
+ the `SNOWFLAKE_PRIVATE_KEY` environment variable.
1342
1610
  """
1343
1611
  return pulumi.get(self, "private_key")
1344
1612
 
@@ -1347,7 +1615,7 @@ class Provider(pulumi.ProviderResource):
1347
1615
  def private_key_passphrase(self) -> pulumi.Output[Optional[str]]:
1348
1616
  """
1349
1617
  Supports the encryption ciphers aes-128-cbc, aes-128-gcm, aes-192-cbc, aes-192-gcm, aes-256-cbc, aes-256-gcm, and
1350
- des-ede3-cbc. Can also be sourced from `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
1618
+ des-ede3-cbc. Can also be sourced from the `SNOWFLAKE_PRIVATE_KEY_PASSPHRASE` environment variable.
1351
1619
  """
1352
1620
  return pulumi.get(self, "private_key_passphrase")
1353
1621
 
@@ -1374,7 +1642,8 @@ class Provider(pulumi.ProviderResource):
1374
1642
  @pulumi.getter
1375
1643
  def protocol(self) -> pulumi.Output[Optional[str]]:
1376
1644
  """
1377
- Either http or https, defaults to https. Can also be sourced from the `SNOWFLAKE_PROTOCOL` environment variable.
1645
+ A protocol used in the connection. Valid options are: `http` | `https`. Can also be sourced from the
1646
+ `SNOWFLAKE_PROTOCOL` environment variable.
1378
1647
  """
1379
1648
  return pulumi.get(self, "protocol")
1380
1649
 
@@ -1397,10 +1666,19 @@ class Provider(pulumi.ProviderResource):
1397
1666
  def role(self) -> pulumi.Output[Optional[str]]:
1398
1667
  """
1399
1668
  Specifies the role to use by default for accessing Snowflake objects in the client session. Can also be sourced from the
1400
- `SNOWFLAKE_ROLE` environment variable. .
1669
+ `SNOWFLAKE_ROLE` environment variable.
1401
1670
  """
1402
1671
  return pulumi.get(self, "role")
1403
1672
 
1673
+ @property
1674
+ @pulumi.getter(name="tmpDirectoryPath")
1675
+ def tmp_directory_path(self) -> pulumi.Output[Optional[str]]:
1676
+ """
1677
+ Sets temporary directory used by the driver for operations like encrypting, compressing etc. Can also be sourced from
1678
+ the `SNOWFLAKE_TMP_DIRECTORY_PATH` environment variable.
1679
+ """
1680
+ return pulumi.get(self, "tmp_directory_path")
1681
+
1404
1682
  @property
1405
1683
  @pulumi.getter
1406
1684
  def token(self) -> pulumi.Output[Optional[str]]:
@@ -1414,7 +1692,7 @@ class Provider(pulumi.ProviderResource):
1414
1692
  @pulumi.getter
1415
1693
  def user(self) -> pulumi.Output[Optional[str]]:
1416
1694
  """
1417
- Username. Can also be sourced from the `SNOWFLAKE_USER` environment variable. Required unless using `profile`.
1695
+ Username. Required unless using `profile`. Can also be sourced from the `SNOWFLAKE_USER` environment variable.
1418
1696
  """
1419
1697
  return pulumi.get(self, "user")
1420
1698
 
@@ -1423,11 +1701,20 @@ class Provider(pulumi.ProviderResource):
1423
1701
  @_utilities.deprecated("""Use `user` instead of `username`""")
1424
1702
  def username(self) -> pulumi.Output[Optional[str]]:
1425
1703
  """
1426
- Username for username+password authentication. Can also be sourced from the `SNOWFLAKE_USERNAME` environment variable.
1427
- Required unless using `profile`.
1704
+ Username for user + password authentication. Required unless using `profile`. Can also be sourced from the
1705
+ `SNOWFLAKE_USERNAME` environment variable.
1428
1706
  """
1429
1707
  return pulumi.get(self, "username")
1430
1708
 
1709
+ @property
1710
+ @pulumi.getter(name="validateDefaultParameters")
1711
+ def validate_default_parameters(self) -> pulumi.Output[Optional[str]]:
1712
+ """
1713
+ True by default. If false, disables the validation checks for Database, Schema, Warehouse and Role at the time a
1714
+ connection is established. Can also be sourced from the `SNOWFLAKE_VALIDATE_DEFAULT_PARAMETERS` environment variable.
1715
+ """
1716
+ return pulumi.get(self, "validate_default_parameters")
1717
+
1431
1718
  @property
1432
1719
  @pulumi.getter
1433
1720
  def warehouse(self) -> pulumi.Output[Optional[str]]: