pulumi-snowflake 0.50.3a1710160126__py3-none-any.whl → 1.2.0a1736835738__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52857 -1665
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -218
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -48
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -32
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -47
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +33 -52
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -213
  20. pulumi_snowflake/database_role.py +81 -44
  21. pulumi_snowflake/dynamic_table.py +42 -49
  22. pulumi_snowflake/email_notification_integration.py +33 -28
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -39
  24. pulumi_snowflake/external_function.py +54 -75
  25. pulumi_snowflake/external_oauth_integration.py +593 -542
  26. pulumi_snowflake/external_table.py +67 -90
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +57 -98
  29. pulumi_snowflake/file_format.py +33 -28
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -9
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -13
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -9
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -47
  45. pulumi_snowflake/get_databases.py +91 -73
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -9
  48. pulumi_snowflake/get_external_tables.py +28 -9
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -9
  51. pulumi_snowflake/get_functions.py +28 -9
  52. pulumi_snowflake/get_grants.py +207 -84
  53. pulumi_snowflake/get_masking_policies.py +91 -51
  54. pulumi_snowflake/get_materialized_views.py +28 -9
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -15
  57. pulumi_snowflake/get_pipes.py +28 -9
  58. pulumi_snowflake/get_procedures.py +28 -9
  59. pulumi_snowflake/get_resource_monitors.py +37 -24
  60. pulumi_snowflake/get_row_access_policies.py +91 -51
  61. pulumi_snowflake/get_schemas.py +145 -41
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -9
  65. pulumi_snowflake/get_shares.py +18 -9
  66. pulumi_snowflake/get_stages.py +28 -9
  67. pulumi_snowflake/get_storage_integrations.py +16 -9
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -54
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -9
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +120 -5
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -9
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -54
  77. pulumi_snowflake/get_users.py +116 -44
  78. pulumi_snowflake/get_views.py +114 -54
  79. pulumi_snowflake/get_warehouses.py +79 -26
  80. pulumi_snowflake/grant_account_role.py +28 -75
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -94
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -383
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +40 -11
  89. pulumi_snowflake/masking_policy.py +213 -310
  90. pulumi_snowflake/materialized_view.py +62 -71
  91. pulumi_snowflake/network_policy.py +217 -61
  92. pulumi_snowflake/network_policy_attachment.py +5 -34
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +49 -84
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -192
  97. pulumi_snowflake/object_parameter.py +10 -101
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -4
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -327
  110. pulumi_snowflake/row_access_policy.py +200 -149
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -299
  112. pulumi_snowflake/schema.py +949 -178
  113. pulumi_snowflake/scim_integration.py +286 -109
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -34
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +33 -28
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -84
  125. pulumi_snowflake/storage_integration.py +46 -4
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -97
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -172
  134. pulumi_snowflake/tag.py +142 -74
  135. pulumi_snowflake/tag_association.py +40 -215
  136. pulumi_snowflake/task.py +3048 -418
  137. pulumi_snowflake/user.py +3351 -384
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +5 -4
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -215
  142. pulumi_snowflake/warehouse.py +184 -168
  143. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -343
  147. pulumi_snowflake/database_grant.py +0 -495
  148. pulumi_snowflake/external_table_grant.py +0 -690
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -635
  151. pulumi_snowflake/function.py +0 -872
  152. pulumi_snowflake/function_grant.py +0 -745
  153. pulumi_snowflake/get_role.py +0 -121
  154. pulumi_snowflake/get_roles.py +0 -120
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -825
  156. pulumi_snowflake/integration_grant.py +0 -440
  157. pulumi_snowflake/masking_policy_grant.py +0 -542
  158. pulumi_snowflake/materialized_view_grant.py +0 -689
  159. pulumi_snowflake/pipe_grant.py +0 -587
  160. pulumi_snowflake/procedure.py +0 -887
  161. pulumi_snowflake/procedure_grant.py +0 -745
  162. pulumi_snowflake/resource_monitor_grant.py +0 -387
  163. pulumi_snowflake/role.py +0 -273
  164. pulumi_snowflake/role_grants.py +0 -352
  165. pulumi_snowflake/role_ownership_grant.py +0 -338
  166. pulumi_snowflake/row_access_policy_grant.py +0 -540
  167. pulumi_snowflake/schema_grant.py +0 -647
  168. pulumi_snowflake/sequence_grant.py +0 -635
  169. pulumi_snowflake/session_parameter.py +0 -332
  170. pulumi_snowflake/stage_grant.py +0 -635
  171. pulumi_snowflake/stream.py +0 -614
  172. pulumi_snowflake/stream_grant.py +0 -635
  173. pulumi_snowflake/table_grant.py +0 -677
  174. pulumi_snowflake/tag_grant.py +0 -532
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -635
  177. pulumi_snowflake/user_grant.py +0 -394
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -705
  180. pulumi_snowflake/warehouse_grant.py +0 -440
  181. pulumi_snowflake-0.50.3a1710160126.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
pulumi_snowflake/stage.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -32,15 +37,17 @@ class StageArgs:
32
37
  url: Optional[pulumi.Input[str]] = None):
33
38
  """
34
39
  The set of arguments for constructing a Stage resource.
35
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
36
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
40
+ :param pulumi.Input[str] database: The database in which to create the stage.
41
+ :param pulumi.Input[str] schema: The schema in which to create the stage.
42
+ :param pulumi.Input[str] aws_external_id: A unique ID assigned to the specific stage. The ID has the following format: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
37
43
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
38
44
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
39
45
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
40
46
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
41
47
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
42
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
43
- :param pulumi.Input[str] name: Tag name, e.g. department.
48
+ :param pulumi.Input[str] file_format: Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
49
+ :param pulumi.Input[str] name: Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
50
+ :param pulumi.Input[str] snowflake_iam_user: An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
44
51
  :param pulumi.Input[str] storage_integration: Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
45
52
  :param pulumi.Input[Sequence[pulumi.Input['StageTagArgs']]] tags: Definitions of a tag to associate with the resource.
46
53
  :param pulumi.Input[str] url: Specifies the URL for the stage.
@@ -79,7 +86,7 @@ class StageArgs:
79
86
  @pulumi.getter
80
87
  def database(self) -> pulumi.Input[str]:
81
88
  """
82
- Name of the database that the tag was created in.
89
+ The database in which to create the stage.
83
90
  """
84
91
  return pulumi.get(self, "database")
85
92
 
@@ -91,7 +98,7 @@ class StageArgs:
91
98
  @pulumi.getter
92
99
  def schema(self) -> pulumi.Input[str]:
93
100
  """
94
- Name of the schema that the tag was created in.
101
+ The schema in which to create the stage.
95
102
  """
96
103
  return pulumi.get(self, "schema")
97
104
 
@@ -102,6 +109,9 @@ class StageArgs:
102
109
  @property
103
110
  @pulumi.getter(name="awsExternalId")
104
111
  def aws_external_id(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ A unique ID assigned to the specific stage. The ID has the following format: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
114
+ """
105
115
  return pulumi.get(self, "aws_external_id")
106
116
 
107
117
  @aws_external_id.setter
@@ -172,7 +182,7 @@ class StageArgs:
172
182
  @pulumi.getter(name="fileFormat")
173
183
  def file_format(self) -> Optional[pulumi.Input[str]]:
174
184
  """
175
- Specifies the file format for the stage.
185
+ Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
176
186
  """
177
187
  return pulumi.get(self, "file_format")
178
188
 
@@ -184,7 +194,7 @@ class StageArgs:
184
194
  @pulumi.getter
185
195
  def name(self) -> Optional[pulumi.Input[str]]:
186
196
  """
187
- Tag name, e.g. department.
197
+ Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
188
198
  """
189
199
  return pulumi.get(self, "name")
190
200
 
@@ -195,6 +205,9 @@ class StageArgs:
195
205
  @property
196
206
  @pulumi.getter(name="snowflakeIamUser")
197
207
  def snowflake_iam_user(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
210
+ """
198
211
  return pulumi.get(self, "snowflake_iam_user")
199
212
 
200
213
  @snowflake_iam_user.setter
@@ -215,13 +228,11 @@ class StageArgs:
215
228
 
216
229
  @property
217
230
  @pulumi.getter
231
+ @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
218
232
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StageTagArgs']]]]:
219
233
  """
220
234
  Definitions of a tag to associate with the resource.
221
235
  """
222
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
223
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
224
-
225
236
  return pulumi.get(self, "tags")
226
237
 
227
238
  @tags.setter
@@ -252,6 +263,7 @@ class _StageState:
252
263
  directory: Optional[pulumi.Input[str]] = None,
253
264
  encryption: Optional[pulumi.Input[str]] = None,
254
265
  file_format: Optional[pulumi.Input[str]] = None,
266
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
255
267
  name: Optional[pulumi.Input[str]] = None,
256
268
  schema: Optional[pulumi.Input[str]] = None,
257
269
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
@@ -260,15 +272,18 @@ class _StageState:
260
272
  url: Optional[pulumi.Input[str]] = None):
261
273
  """
262
274
  Input properties used for looking up and filtering Stage resources.
275
+ :param pulumi.Input[str] aws_external_id: A unique ID assigned to the specific stage. The ID has the following format: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
263
276
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
264
277
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
265
278
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
266
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
279
+ :param pulumi.Input[str] database: The database in which to create the stage.
267
280
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
268
281
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
269
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
270
- :param pulumi.Input[str] name: Tag name, e.g. department.
271
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
282
+ :param pulumi.Input[str] file_format: Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
283
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
284
+ :param pulumi.Input[str] name: Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
285
+ :param pulumi.Input[str] schema: The schema in which to create the stage.
286
+ :param pulumi.Input[str] snowflake_iam_user: An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
272
287
  :param pulumi.Input[str] storage_integration: Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
273
288
  :param pulumi.Input[Sequence[pulumi.Input['StageTagArgs']]] tags: Definitions of a tag to associate with the resource.
274
289
  :param pulumi.Input[str] url: Specifies the URL for the stage.
@@ -289,6 +304,8 @@ class _StageState:
289
304
  pulumi.set(__self__, "encryption", encryption)
290
305
  if file_format is not None:
291
306
  pulumi.set(__self__, "file_format", file_format)
307
+ if fully_qualified_name is not None:
308
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
292
309
  if name is not None:
293
310
  pulumi.set(__self__, "name", name)
294
311
  if schema is not None:
@@ -308,6 +325,9 @@ class _StageState:
308
325
  @property
309
326
  @pulumi.getter(name="awsExternalId")
310
327
  def aws_external_id(self) -> Optional[pulumi.Input[str]]:
328
+ """
329
+ A unique ID assigned to the specific stage. The ID has the following format: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
330
+ """
311
331
  return pulumi.get(self, "aws_external_id")
312
332
 
313
333
  @aws_external_id.setter
@@ -354,7 +374,7 @@ class _StageState:
354
374
  @pulumi.getter
355
375
  def database(self) -> Optional[pulumi.Input[str]]:
356
376
  """
357
- Name of the database that the tag was created in.
377
+ The database in which to create the stage.
358
378
  """
359
379
  return pulumi.get(self, "database")
360
380
 
@@ -390,7 +410,7 @@ class _StageState:
390
410
  @pulumi.getter(name="fileFormat")
391
411
  def file_format(self) -> Optional[pulumi.Input[str]]:
392
412
  """
393
- Specifies the file format for the stage.
413
+ Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
394
414
  """
395
415
  return pulumi.get(self, "file_format")
396
416
 
@@ -398,11 +418,23 @@ class _StageState:
398
418
  def file_format(self, value: Optional[pulumi.Input[str]]):
399
419
  pulumi.set(self, "file_format", value)
400
420
 
421
+ @property
422
+ @pulumi.getter(name="fullyQualifiedName")
423
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
424
+ """
425
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
426
+ """
427
+ return pulumi.get(self, "fully_qualified_name")
428
+
429
+ @fully_qualified_name.setter
430
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
431
+ pulumi.set(self, "fully_qualified_name", value)
432
+
401
433
  @property
402
434
  @pulumi.getter
403
435
  def name(self) -> Optional[pulumi.Input[str]]:
404
436
  """
405
- Tag name, e.g. department.
437
+ Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
406
438
  """
407
439
  return pulumi.get(self, "name")
408
440
 
@@ -414,7 +446,7 @@ class _StageState:
414
446
  @pulumi.getter
415
447
  def schema(self) -> Optional[pulumi.Input[str]]:
416
448
  """
417
- Name of the schema that the tag was created in.
449
+ The schema in which to create the stage.
418
450
  """
419
451
  return pulumi.get(self, "schema")
420
452
 
@@ -425,6 +457,9 @@ class _StageState:
425
457
  @property
426
458
  @pulumi.getter(name="snowflakeIamUser")
427
459
  def snowflake_iam_user(self) -> Optional[pulumi.Input[str]]:
460
+ """
461
+ An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
462
+ """
428
463
  return pulumi.get(self, "snowflake_iam_user")
429
464
 
430
465
  @snowflake_iam_user.setter
@@ -445,13 +480,11 @@ class _StageState:
445
480
 
446
481
  @property
447
482
  @pulumi.getter
483
+ @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
448
484
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StageTagArgs']]]]:
449
485
  """
450
486
  Definitions of a tag to associate with the resource.
451
487
  """
452
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
453
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
454
-
455
488
  return pulumi.get(self, "tags")
456
489
 
457
490
  @tags.setter
@@ -488,31 +521,10 @@ class Stage(pulumi.CustomResource):
488
521
  schema: Optional[pulumi.Input[str]] = None,
489
522
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
490
523
  storage_integration: Optional[pulumi.Input[str]] = None,
491
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]]] = None,
524
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]]] = None,
492
525
  url: Optional[pulumi.Input[str]] = None,
493
526
  __props__=None):
494
527
  """
495
- ## Example Usage
496
-
497
- <!--Start PulumiCodeChooser -->
498
- ```python
499
- import pulumi
500
- import pulumi_snowflake as snowflake
501
-
502
- example_stage = snowflake.Stage("exampleStage",
503
- url="s3://com.example.bucket/prefix",
504
- database="EXAMPLE_DB",
505
- schema="EXAMPLE_SCHEMA",
506
- credentials=f"AWS_KEY_ID='{var['example_aws_key_id']}' AWS_SECRET_KEY='{var['example_aws_secret_key']}'")
507
- grant_example_stage = snowflake.StageGrant("grantExampleStage",
508
- database_name=example_stage.database,
509
- schema_name=example_stage.schema,
510
- roles=["LOADER"],
511
- privilege="OWNERSHIP",
512
- stage_name=example_stage.name)
513
- ```
514
- <!--End PulumiCodeChooser -->
515
-
516
528
  ## Import
517
529
 
518
530
  format is database name | schema name | stage name
@@ -523,17 +535,19 @@ class Stage(pulumi.CustomResource):
523
535
 
524
536
  :param str resource_name: The name of the resource.
525
537
  :param pulumi.ResourceOptions opts: Options for the resource.
538
+ :param pulumi.Input[str] aws_external_id: A unique ID assigned to the specific stage. The ID has the following format: &lt;snowflakeAccount&gt;*SFCRole=&lt;snowflakeRoleId&gt;*&lt;randomId&gt;
526
539
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
527
540
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
528
541
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
529
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
542
+ :param pulumi.Input[str] database: The database in which to create the stage.
530
543
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
531
544
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
532
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
533
- :param pulumi.Input[str] name: Tag name, e.g. department.
534
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
545
+ :param pulumi.Input[str] file_format: Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
546
+ :param pulumi.Input[str] name: Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
547
+ :param pulumi.Input[str] schema: The schema in which to create the stage.
548
+ :param pulumi.Input[str] snowflake_iam_user: An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
535
549
  :param pulumi.Input[str] storage_integration: Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
536
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]] tags: Definitions of a tag to associate with the resource.
550
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]] tags: Definitions of a tag to associate with the resource.
537
551
  :param pulumi.Input[str] url: Specifies the URL for the stage.
538
552
  """
539
553
  ...
@@ -543,27 +557,6 @@ class Stage(pulumi.CustomResource):
543
557
  args: StageArgs,
544
558
  opts: Optional[pulumi.ResourceOptions] = None):
545
559
  """
546
- ## Example Usage
547
-
548
- <!--Start PulumiCodeChooser -->
549
- ```python
550
- import pulumi
551
- import pulumi_snowflake as snowflake
552
-
553
- example_stage = snowflake.Stage("exampleStage",
554
- url="s3://com.example.bucket/prefix",
555
- database="EXAMPLE_DB",
556
- schema="EXAMPLE_SCHEMA",
557
- credentials=f"AWS_KEY_ID='{var['example_aws_key_id']}' AWS_SECRET_KEY='{var['example_aws_secret_key']}'")
558
- grant_example_stage = snowflake.StageGrant("grantExampleStage",
559
- database_name=example_stage.database,
560
- schema_name=example_stage.schema,
561
- roles=["LOADER"],
562
- privilege="OWNERSHIP",
563
- stage_name=example_stage.name)
564
- ```
565
- <!--End PulumiCodeChooser -->
566
-
567
560
  ## Import
568
561
 
569
562
  format is database name | schema name | stage name
@@ -599,7 +592,7 @@ class Stage(pulumi.CustomResource):
599
592
  schema: Optional[pulumi.Input[str]] = None,
600
593
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
601
594
  storage_integration: Optional[pulumi.Input[str]] = None,
602
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]]] = None,
595
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]]] = None,
603
596
  url: Optional[pulumi.Input[str]] = None,
604
597
  __props__=None):
605
598
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -628,6 +621,7 @@ class Stage(pulumi.CustomResource):
628
621
  __props__.__dict__["storage_integration"] = storage_integration
629
622
  __props__.__dict__["tags"] = tags
630
623
  __props__.__dict__["url"] = url
624
+ __props__.__dict__["fully_qualified_name"] = None
631
625
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
632
626
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
633
627
  super(Stage, __self__).__init__(
@@ -648,11 +642,12 @@ class Stage(pulumi.CustomResource):
648
642
  directory: Optional[pulumi.Input[str]] = None,
649
643
  encryption: Optional[pulumi.Input[str]] = None,
650
644
  file_format: Optional[pulumi.Input[str]] = None,
645
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
651
646
  name: Optional[pulumi.Input[str]] = None,
652
647
  schema: Optional[pulumi.Input[str]] = None,
653
648
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
654
649
  storage_integration: Optional[pulumi.Input[str]] = None,
655
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]]] = None,
650
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]]] = None,
656
651
  url: Optional[pulumi.Input[str]] = None) -> 'Stage':
657
652
  """
658
653
  Get an existing Stage resource's state with the given name, id, and optional extra
@@ -661,17 +656,20 @@ class Stage(pulumi.CustomResource):
661
656
  :param str resource_name: The unique name of the resulting resource.
662
657
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
663
658
  :param pulumi.ResourceOptions opts: Options for the resource.
659
+ :param pulumi.Input[str] aws_external_id: A unique ID assigned to the specific stage. The ID has the following format: &lt;snowflakeAccount&gt;*SFCRole=&lt;snowflakeRoleId&gt;*&lt;randomId&gt;
664
660
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
665
661
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
666
662
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
667
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
663
+ :param pulumi.Input[str] database: The database in which to create the stage.
668
664
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
669
665
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
670
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
671
- :param pulumi.Input[str] name: Tag name, e.g. department.
672
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
666
+ :param pulumi.Input[str] file_format: Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
667
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
668
+ :param pulumi.Input[str] name: Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
669
+ :param pulumi.Input[str] schema: The schema in which to create the stage.
670
+ :param pulumi.Input[str] snowflake_iam_user: An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
673
671
  :param pulumi.Input[str] storage_integration: Specifies the name of the storage integration used to delegate authentication responsibility for external cloud storage to a Snowflake identity and access management (IAM) entity.
674
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]] tags: Definitions of a tag to associate with the resource.
672
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]] tags: Definitions of a tag to associate with the resource.
675
673
  :param pulumi.Input[str] url: Specifies the URL for the stage.
676
674
  """
677
675
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -686,6 +684,7 @@ class Stage(pulumi.CustomResource):
686
684
  __props__.__dict__["directory"] = directory
687
685
  __props__.__dict__["encryption"] = encryption
688
686
  __props__.__dict__["file_format"] = file_format
687
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
689
688
  __props__.__dict__["name"] = name
690
689
  __props__.__dict__["schema"] = schema
691
690
  __props__.__dict__["snowflake_iam_user"] = snowflake_iam_user
@@ -697,6 +696,9 @@ class Stage(pulumi.CustomResource):
697
696
  @property
698
697
  @pulumi.getter(name="awsExternalId")
699
698
  def aws_external_id(self) -> pulumi.Output[str]:
699
+ """
700
+ A unique ID assigned to the specific stage. The ID has the following format: &lt;snowflakeAccount&gt;*SFCRole=&lt;snowflakeRoleId&gt;*&lt;randomId&gt;
701
+ """
700
702
  return pulumi.get(self, "aws_external_id")
701
703
 
702
704
  @property
@@ -727,7 +729,7 @@ class Stage(pulumi.CustomResource):
727
729
  @pulumi.getter
728
730
  def database(self) -> pulumi.Output[str]:
729
731
  """
730
- Name of the database that the tag was created in.
732
+ The database in which to create the stage.
731
733
  """
732
734
  return pulumi.get(self, "database")
733
735
 
@@ -751,15 +753,23 @@ class Stage(pulumi.CustomResource):
751
753
  @pulumi.getter(name="fileFormat")
752
754
  def file_format(self) -> pulumi.Output[Optional[str]]:
753
755
  """
754
- Specifies the file format for the stage.
756
+ Specifies the file format for the stage. Specifying the default Snowflake value (e.g. TYPE = CSV) will currently result in a permadiff (check #2679). For now, omit the default values; it will be fixed in the upcoming provider versions.
755
757
  """
756
758
  return pulumi.get(self, "file_format")
757
759
 
760
+ @property
761
+ @pulumi.getter(name="fullyQualifiedName")
762
+ def fully_qualified_name(self) -> pulumi.Output[str]:
763
+ """
764
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
765
+ """
766
+ return pulumi.get(self, "fully_qualified_name")
767
+
758
768
  @property
759
769
  @pulumi.getter
760
770
  def name(self) -> pulumi.Output[str]:
761
771
  """
762
- Tag name, e.g. department.
772
+ Specifies the identifier for the stage; must be unique for the database and schema in which the stage is created.
763
773
  """
764
774
  return pulumi.get(self, "name")
765
775
 
@@ -767,13 +777,16 @@ class Stage(pulumi.CustomResource):
767
777
  @pulumi.getter
768
778
  def schema(self) -> pulumi.Output[str]:
769
779
  """
770
- Name of the schema that the tag was created in.
780
+ The schema in which to create the stage.
771
781
  """
772
782
  return pulumi.get(self, "schema")
773
783
 
774
784
  @property
775
785
  @pulumi.getter(name="snowflakeIamUser")
776
786
  def snowflake_iam_user(self) -> pulumi.Output[str]:
787
+ """
788
+ An AWS IAM user created for your Snowflake account. This user is the same for every external S3 stage created in your account.
789
+ """
777
790
  return pulumi.get(self, "snowflake_iam_user")
778
791
 
779
792
  @property
@@ -786,13 +799,11 @@ class Stage(pulumi.CustomResource):
786
799
 
787
800
  @property
788
801
  @pulumi.getter
802
+ @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
789
803
  def tags(self) -> pulumi.Output[Optional[Sequence['outputs.StageTag']]]:
790
804
  """
791
805
  Definitions of a tag to associate with the resource.
792
806
  """
793
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
794
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
795
-
796
807
  return pulumi.get(self, "tags")
797
808
 
798
809
  @property
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['StorageIntegrationArgs', 'StorageIntegration']
@@ -27,6 +32,7 @@ class StorageIntegrationArgs:
27
32
  """
28
33
  The set of arguments for constructing a StorageIntegration resource.
29
34
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_allowed_locations: Explicitly limits external stages that use the integration to reference one or more storage locations.
35
+ :param pulumi.Input[str] storage_provider: Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
30
36
  :param pulumi.Input[str] storage_aws_object_acl: "bucket-owner-full-control" Enables support for AWS access control lists (ACLs) to grant the bucket owner full control.
31
37
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_blocked_locations: Explicitly prohibits external stages that use the integration from referencing one or more storage locations.
32
38
  """
@@ -64,6 +70,9 @@ class StorageIntegrationArgs:
64
70
  @property
65
71
  @pulumi.getter(name="storageProvider")
66
72
  def storage_provider(self) -> pulumi.Input[str]:
73
+ """
74
+ Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
75
+ """
67
76
  return pulumi.get(self, "storage_provider")
68
77
 
69
78
  @storage_provider.setter
@@ -158,6 +167,7 @@ class _StorageIntegrationState:
158
167
  comment: Optional[pulumi.Input[str]] = None,
159
168
  created_on: Optional[pulumi.Input[str]] = None,
160
169
  enabled: Optional[pulumi.Input[bool]] = None,
170
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
161
171
  name: Optional[pulumi.Input[str]] = None,
162
172
  storage_allowed_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
163
173
  storage_aws_external_id: Optional[pulumi.Input[str]] = None,
@@ -173,12 +183,14 @@ class _StorageIntegrationState:
173
183
  :param pulumi.Input[str] azure_consent_url: The consent URL that is used to create an Azure Snowflake service principle inside your tenant.
174
184
  :param pulumi.Input[str] azure_multi_tenant_app_name: This is the name of the Snowflake client application created for your account.
175
185
  :param pulumi.Input[str] created_on: Date and time when the storage integration was created.
186
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
176
187
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_allowed_locations: Explicitly limits external stages that use the integration to reference one or more storage locations.
177
188
  :param pulumi.Input[str] storage_aws_external_id: The external ID that Snowflake will use when assuming the AWS role.
178
189
  :param pulumi.Input[str] storage_aws_iam_user_arn: The Snowflake user that will attempt to assume the AWS role.
179
190
  :param pulumi.Input[str] storage_aws_object_acl: "bucket-owner-full-control" Enables support for AWS access control lists (ACLs) to grant the bucket owner full control.
180
191
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_blocked_locations: Explicitly prohibits external stages that use the integration from referencing one or more storage locations.
181
192
  :param pulumi.Input[str] storage_gcp_service_account: This is the name of the Snowflake Google Service Account created for your account.
193
+ :param pulumi.Input[str] storage_provider: Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
182
194
  """
183
195
  if azure_consent_url is not None:
184
196
  pulumi.set(__self__, "azure_consent_url", azure_consent_url)
@@ -192,6 +204,8 @@ class _StorageIntegrationState:
192
204
  pulumi.set(__self__, "created_on", created_on)
193
205
  if enabled is not None:
194
206
  pulumi.set(__self__, "enabled", enabled)
207
+ if fully_qualified_name is not None:
208
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
195
209
  if name is not None:
196
210
  pulumi.set(__self__, "name", name)
197
211
  if storage_allowed_locations is not None:
@@ -276,6 +290,18 @@ class _StorageIntegrationState:
276
290
  def enabled(self, value: Optional[pulumi.Input[bool]]):
277
291
  pulumi.set(self, "enabled", value)
278
292
 
293
+ @property
294
+ @pulumi.getter(name="fullyQualifiedName")
295
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
298
+ """
299
+ return pulumi.get(self, "fully_qualified_name")
300
+
301
+ @fully_qualified_name.setter
302
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "fully_qualified_name", value)
304
+
279
305
  @property
280
306
  @pulumi.getter
281
307
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -369,6 +395,9 @@ class _StorageIntegrationState:
369
395
  @property
370
396
  @pulumi.getter(name="storageProvider")
371
397
  def storage_provider(self) -> Optional[pulumi.Input[str]]:
398
+ """
399
+ Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
400
+ """
372
401
  return pulumi.get(self, "storage_provider")
373
402
 
374
403
  @storage_provider.setter
@@ -402,8 +431,6 @@ class StorageIntegration(pulumi.CustomResource):
402
431
  type: Optional[pulumi.Input[str]] = None,
403
432
  __props__=None):
404
433
  """
405
- ## Example Usage
406
-
407
434
  ## Import
408
435
 
409
436
  ```sh
@@ -415,6 +442,7 @@ class StorageIntegration(pulumi.CustomResource):
415
442
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_allowed_locations: Explicitly limits external stages that use the integration to reference one or more storage locations.
416
443
  :param pulumi.Input[str] storage_aws_object_acl: "bucket-owner-full-control" Enables support for AWS access control lists (ACLs) to grant the bucket owner full control.
417
444
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_blocked_locations: Explicitly prohibits external stages that use the integration from referencing one or more storage locations.
445
+ :param pulumi.Input[str] storage_provider: Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
418
446
  """
419
447
  ...
420
448
  @overload
@@ -423,8 +451,6 @@ class StorageIntegration(pulumi.CustomResource):
423
451
  args: StorageIntegrationArgs,
424
452
  opts: Optional[pulumi.ResourceOptions] = None):
425
453
  """
426
- ## Example Usage
427
-
428
454
  ## Import
429
455
 
430
456
  ```sh
@@ -482,6 +508,7 @@ class StorageIntegration(pulumi.CustomResource):
482
508
  __props__.__dict__["azure_consent_url"] = None
483
509
  __props__.__dict__["azure_multi_tenant_app_name"] = None
484
510
  __props__.__dict__["created_on"] = None
511
+ __props__.__dict__["fully_qualified_name"] = None
485
512
  __props__.__dict__["storage_aws_external_id"] = None
486
513
  __props__.__dict__["storage_aws_iam_user_arn"] = None
487
514
  __props__.__dict__["storage_gcp_service_account"] = None
@@ -501,6 +528,7 @@ class StorageIntegration(pulumi.CustomResource):
501
528
  comment: Optional[pulumi.Input[str]] = None,
502
529
  created_on: Optional[pulumi.Input[str]] = None,
503
530
  enabled: Optional[pulumi.Input[bool]] = None,
531
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
504
532
  name: Optional[pulumi.Input[str]] = None,
505
533
  storage_allowed_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
506
534
  storage_aws_external_id: Optional[pulumi.Input[str]] = None,
@@ -521,12 +549,14 @@ class StorageIntegration(pulumi.CustomResource):
521
549
  :param pulumi.Input[str] azure_consent_url: The consent URL that is used to create an Azure Snowflake service principle inside your tenant.
522
550
  :param pulumi.Input[str] azure_multi_tenant_app_name: This is the name of the Snowflake client application created for your account.
523
551
  :param pulumi.Input[str] created_on: Date and time when the storage integration was created.
552
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
524
553
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_allowed_locations: Explicitly limits external stages that use the integration to reference one or more storage locations.
525
554
  :param pulumi.Input[str] storage_aws_external_id: The external ID that Snowflake will use when assuming the AWS role.
526
555
  :param pulumi.Input[str] storage_aws_iam_user_arn: The Snowflake user that will attempt to assume the AWS role.
527
556
  :param pulumi.Input[str] storage_aws_object_acl: "bucket-owner-full-control" Enables support for AWS access control lists (ACLs) to grant the bucket owner full control.
528
557
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_blocked_locations: Explicitly prohibits external stages that use the integration from referencing one or more storage locations.
529
558
  :param pulumi.Input[str] storage_gcp_service_account: This is the name of the Snowflake Google Service Account created for your account.
559
+ :param pulumi.Input[str] storage_provider: Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
530
560
  """
531
561
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
532
562
 
@@ -538,6 +568,7 @@ class StorageIntegration(pulumi.CustomResource):
538
568
  __props__.__dict__["comment"] = comment
539
569
  __props__.__dict__["created_on"] = created_on
540
570
  __props__.__dict__["enabled"] = enabled
571
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
541
572
  __props__.__dict__["name"] = name
542
573
  __props__.__dict__["storage_allowed_locations"] = storage_allowed_locations
543
574
  __props__.__dict__["storage_aws_external_id"] = storage_aws_external_id
@@ -589,6 +620,14 @@ class StorageIntegration(pulumi.CustomResource):
589
620
  def enabled(self) -> pulumi.Output[Optional[bool]]:
590
621
  return pulumi.get(self, "enabled")
591
622
 
623
+ @property
624
+ @pulumi.getter(name="fullyQualifiedName")
625
+ def fully_qualified_name(self) -> pulumi.Output[str]:
626
+ """
627
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
628
+ """
629
+ return pulumi.get(self, "fully_qualified_name")
630
+
592
631
  @property
593
632
  @pulumi.getter
594
633
  def name(self) -> pulumi.Output[str]:
@@ -650,6 +689,9 @@ class StorageIntegration(pulumi.CustomResource):
650
689
  @property
651
690
  @pulumi.getter(name="storageProvider")
652
691
  def storage_provider(self) -> pulumi.Output[str]:
692
+ """
693
+ Specifies the storage provider for the integration. Valid options are: `S3` | `S3GOV` | `S3CHINA` | `GCS` | `AZURE`
694
+ """
653
695
  return pulumi.get(self, "storage_provider")
654
696
 
655
697
  @property