pulumi-snowflake 0.50.2a1709892015__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 +52854 -1662
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -214
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -44
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -28
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -43
  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 +35 -50
  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 -209
  20. pulumi_snowflake/database_role.py +81 -40
  21. pulumi_snowflake/dynamic_table.py +44 -47
  22. pulumi_snowflake/email_notification_integration.py +35 -26
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
  24. pulumi_snowflake/external_function.py +54 -71
  25. pulumi_snowflake/external_oauth_integration.py +593 -538
  26. pulumi_snowflake/external_table.py +67 -86
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +59 -96
  29. pulumi_snowflake/file_format.py +33 -24
  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 -5
  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 -9
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -5
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -43
  45. pulumi_snowflake/get_databases.py +91 -69
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -5
  48. pulumi_snowflake/get_external_tables.py +28 -5
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -5
  51. pulumi_snowflake/get_functions.py +28 -5
  52. pulumi_snowflake/get_grants.py +207 -80
  53. pulumi_snowflake/get_masking_policies.py +91 -47
  54. pulumi_snowflake/get_materialized_views.py +28 -5
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -11
  57. pulumi_snowflake/get_pipes.py +28 -5
  58. pulumi_snowflake/get_procedures.py +28 -5
  59. pulumi_snowflake/get_resource_monitors.py +37 -20
  60. pulumi_snowflake/get_row_access_policies.py +91 -47
  61. pulumi_snowflake/get_schemas.py +145 -37
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -5
  65. pulumi_snowflake/get_shares.py +18 -5
  66. pulumi_snowflake/get_stages.py +28 -5
  67. pulumi_snowflake/get_storage_integrations.py +16 -5
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -50
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +121 -6
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -5
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -50
  77. pulumi_snowflake/get_users.py +116 -40
  78. pulumi_snowflake/get_views.py +114 -50
  79. pulumi_snowflake/get_warehouses.py +79 -22
  80. pulumi_snowflake/grant_account_role.py +28 -61
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -108
  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 -223
  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 +42 -9
  89. pulumi_snowflake/masking_policy.py +213 -306
  90. pulumi_snowflake/materialized_view.py +62 -67
  91. pulumi_snowflake/network_policy.py +217 -57
  92. pulumi_snowflake/network_policy_attachment.py +7 -32
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +51 -82
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
  97. pulumi_snowflake/object_parameter.py +12 -99
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -0
  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 -323
  110. pulumi_snowflake/row_access_policy.py +200 -145
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
  112. pulumi_snowflake/schema.py +949 -174
  113. pulumi_snowflake/scim_integration.py +286 -105
  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 -30
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +35 -26
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -80
  125. pulumi_snowflake/storage_integration.py +48 -2
  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 -93
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -168
  134. pulumi_snowflake/tag.py +142 -70
  135. pulumi_snowflake/tag_association.py +40 -211
  136. pulumi_snowflake/task.py +3048 -414
  137. pulumi_snowflake/user.py +3351 -380
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +7 -6
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -211
  142. pulumi_snowflake/warehouse.py +184 -164
  143. {pulumi_snowflake-0.50.2a1709892015.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.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -339
  147. pulumi_snowflake/database_grant.py +0 -491
  148. pulumi_snowflake/external_table_grant.py +0 -686
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -631
  151. pulumi_snowflake/function.py +0 -868
  152. pulumi_snowflake/function_grant.py +0 -741
  153. pulumi_snowflake/get_role.py +0 -117
  154. pulumi_snowflake/get_roles.py +0 -116
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -667
  156. pulumi_snowflake/integration_grant.py +0 -436
  157. pulumi_snowflake/masking_policy_grant.py +0 -538
  158. pulumi_snowflake/materialized_view_grant.py +0 -685
  159. pulumi_snowflake/pipe_grant.py +0 -583
  160. pulumi_snowflake/procedure.py +0 -883
  161. pulumi_snowflake/procedure_grant.py +0 -741
  162. pulumi_snowflake/resource_monitor_grant.py +0 -383
  163. pulumi_snowflake/role.py +0 -269
  164. pulumi_snowflake/role_grants.py +0 -348
  165. pulumi_snowflake/role_ownership_grant.py +0 -334
  166. pulumi_snowflake/row_access_policy_grant.py +0 -536
  167. pulumi_snowflake/schema_grant.py +0 -643
  168. pulumi_snowflake/sequence_grant.py +0 -631
  169. pulumi_snowflake/session_parameter.py +0 -328
  170. pulumi_snowflake/stage_grant.py +0 -631
  171. pulumi_snowflake/stream.py +0 -610
  172. pulumi_snowflake/stream_grant.py +0 -631
  173. pulumi_snowflake/table_grant.py +0 -673
  174. pulumi_snowflake/tag_grant.py +0 -528
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -631
  177. pulumi_snowflake/user_grant.py +0 -390
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -701
  180. pulumi_snowflake/warehouse_grant.py +0 -436
  181. pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.2a1709892015.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,29 +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
- ```python
498
- import pulumi
499
- import pulumi_snowflake as snowflake
500
-
501
- example_stage = snowflake.Stage("exampleStage",
502
- url="s3://com.example.bucket/prefix",
503
- database="EXAMPLE_DB",
504
- schema="EXAMPLE_SCHEMA",
505
- credentials=f"AWS_KEY_ID='{var['example_aws_key_id']}' AWS_SECRET_KEY='{var['example_aws_secret_key']}'")
506
- grant_example_stage = snowflake.StageGrant("grantExampleStage",
507
- database_name=example_stage.database,
508
- schema_name=example_stage.schema,
509
- roles=["LOADER"],
510
- privilege="OWNERSHIP",
511
- stage_name=example_stage.name)
512
- ```
513
-
514
528
  ## Import
515
529
 
516
530
  format is database name | schema name | stage name
@@ -521,17 +535,19 @@ class Stage(pulumi.CustomResource):
521
535
 
522
536
  :param str resource_name: The name of the resource.
523
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: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
524
539
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
525
540
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
526
541
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
527
- :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.
528
543
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
529
544
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
530
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
531
- :param pulumi.Input[str] name: Tag name, e.g. department.
532
- :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.
533
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.
534
- :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.
535
551
  :param pulumi.Input[str] url: Specifies the URL for the stage.
536
552
  """
537
553
  ...
@@ -541,25 +557,6 @@ class Stage(pulumi.CustomResource):
541
557
  args: StageArgs,
542
558
  opts: Optional[pulumi.ResourceOptions] = None):
543
559
  """
544
- ## Example Usage
545
-
546
- ```python
547
- import pulumi
548
- import pulumi_snowflake as snowflake
549
-
550
- example_stage = snowflake.Stage("exampleStage",
551
- url="s3://com.example.bucket/prefix",
552
- database="EXAMPLE_DB",
553
- schema="EXAMPLE_SCHEMA",
554
- credentials=f"AWS_KEY_ID='{var['example_aws_key_id']}' AWS_SECRET_KEY='{var['example_aws_secret_key']}'")
555
- grant_example_stage = snowflake.StageGrant("grantExampleStage",
556
- database_name=example_stage.database,
557
- schema_name=example_stage.schema,
558
- roles=["LOADER"],
559
- privilege="OWNERSHIP",
560
- stage_name=example_stage.name)
561
- ```
562
-
563
560
  ## Import
564
561
 
565
562
  format is database name | schema name | stage name
@@ -595,7 +592,7 @@ class Stage(pulumi.CustomResource):
595
592
  schema: Optional[pulumi.Input[str]] = None,
596
593
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
597
594
  storage_integration: Optional[pulumi.Input[str]] = None,
598
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]]] = None,
595
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]]] = None,
599
596
  url: Optional[pulumi.Input[str]] = None,
600
597
  __props__=None):
601
598
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -624,6 +621,7 @@ class Stage(pulumi.CustomResource):
624
621
  __props__.__dict__["storage_integration"] = storage_integration
625
622
  __props__.__dict__["tags"] = tags
626
623
  __props__.__dict__["url"] = url
624
+ __props__.__dict__["fully_qualified_name"] = None
627
625
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
628
626
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
629
627
  super(Stage, __self__).__init__(
@@ -644,11 +642,12 @@ class Stage(pulumi.CustomResource):
644
642
  directory: Optional[pulumi.Input[str]] = None,
645
643
  encryption: Optional[pulumi.Input[str]] = None,
646
644
  file_format: Optional[pulumi.Input[str]] = None,
645
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
647
646
  name: Optional[pulumi.Input[str]] = None,
648
647
  schema: Optional[pulumi.Input[str]] = None,
649
648
  snowflake_iam_user: Optional[pulumi.Input[str]] = None,
650
649
  storage_integration: Optional[pulumi.Input[str]] = None,
651
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StageTagArgs']]]]] = None,
650
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StageTagArgs', 'StageTagArgsDict']]]]] = None,
652
651
  url: Optional[pulumi.Input[str]] = None) -> 'Stage':
653
652
  """
654
653
  Get an existing Stage resource's state with the given name, id, and optional extra
@@ -657,17 +656,20 @@ class Stage(pulumi.CustomResource):
657
656
  :param str resource_name: The unique name of the resulting resource.
658
657
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
659
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: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
660
660
  :param pulumi.Input[str] comment: Specifies a comment for the stage.
661
661
  :param pulumi.Input[str] copy_options: Specifies the copy options for the stage.
662
662
  :param pulumi.Input[str] credentials: Specifies the credentials for the stage.
663
- :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.
664
664
  :param pulumi.Input[str] directory: Specifies the directory settings for the stage.
665
665
  :param pulumi.Input[str] encryption: Specifies the encryption settings for the stage.
666
- :param pulumi.Input[str] file_format: Specifies the file format for the stage.
667
- :param pulumi.Input[str] name: Tag name, e.g. department.
668
- :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.
669
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.
670
- :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.
671
673
  :param pulumi.Input[str] url: Specifies the URL for the stage.
672
674
  """
673
675
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -682,6 +684,7 @@ class Stage(pulumi.CustomResource):
682
684
  __props__.__dict__["directory"] = directory
683
685
  __props__.__dict__["encryption"] = encryption
684
686
  __props__.__dict__["file_format"] = file_format
687
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
685
688
  __props__.__dict__["name"] = name
686
689
  __props__.__dict__["schema"] = schema
687
690
  __props__.__dict__["snowflake_iam_user"] = snowflake_iam_user
@@ -693,6 +696,9 @@ class Stage(pulumi.CustomResource):
693
696
  @property
694
697
  @pulumi.getter(name="awsExternalId")
695
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: <snowflakeAccount>*SFCRole=<snowflakeRoleId>*<randomId>
701
+ """
696
702
  return pulumi.get(self, "aws_external_id")
697
703
 
698
704
  @property
@@ -723,7 +729,7 @@ class Stage(pulumi.CustomResource):
723
729
  @pulumi.getter
724
730
  def database(self) -> pulumi.Output[str]:
725
731
  """
726
- Name of the database that the tag was created in.
732
+ The database in which to create the stage.
727
733
  """
728
734
  return pulumi.get(self, "database")
729
735
 
@@ -747,15 +753,23 @@ class Stage(pulumi.CustomResource):
747
753
  @pulumi.getter(name="fileFormat")
748
754
  def file_format(self) -> pulumi.Output[Optional[str]]:
749
755
  """
750
- 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.
751
757
  """
752
758
  return pulumi.get(self, "file_format")
753
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
+
754
768
  @property
755
769
  @pulumi.getter
756
770
  def name(self) -> pulumi.Output[str]:
757
771
  """
758
- 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.
759
773
  """
760
774
  return pulumi.get(self, "name")
761
775
 
@@ -763,13 +777,16 @@ class Stage(pulumi.CustomResource):
763
777
  @pulumi.getter
764
778
  def schema(self) -> pulumi.Output[str]:
765
779
  """
766
- Name of the schema that the tag was created in.
780
+ The schema in which to create the stage.
767
781
  """
768
782
  return pulumi.get(self, "schema")
769
783
 
770
784
  @property
771
785
  @pulumi.getter(name="snowflakeIamUser")
772
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
+ """
773
790
  return pulumi.get(self, "snowflake_iam_user")
774
791
 
775
792
  @property
@@ -782,13 +799,11 @@ class Stage(pulumi.CustomResource):
782
799
 
783
800
  @property
784
801
  @pulumi.getter
802
+ @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
785
803
  def tags(self) -> pulumi.Output[Optional[Sequence['outputs.StageTag']]]:
786
804
  """
787
805
  Definitions of a tag to associate with the resource.
788
806
  """
789
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
790
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
791
-
792
807
  return pulumi.get(self, "tags")
793
808
 
794
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
@@ -405,7 +434,7 @@ class StorageIntegration(pulumi.CustomResource):
405
434
  ## Import
406
435
 
407
436
  ```sh
408
- $ pulumi import snowflake:index/storageIntegration:StorageIntegration example name
437
+ $ pulumi import snowflake:index/storageIntegration:StorageIntegration example name
409
438
  ```
410
439
 
411
440
  :param str resource_name: The name of the resource.
@@ -413,6 +442,7 @@ class StorageIntegration(pulumi.CustomResource):
413
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.
414
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.
415
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`
416
446
  """
417
447
  ...
418
448
  @overload
@@ -424,7 +454,7 @@ class StorageIntegration(pulumi.CustomResource):
424
454
  ## Import
425
455
 
426
456
  ```sh
427
- $ pulumi import snowflake:index/storageIntegration:StorageIntegration example name
457
+ $ pulumi import snowflake:index/storageIntegration:StorageIntegration example name
428
458
  ```
429
459
 
430
460
  :param str resource_name: The name of the resource.
@@ -478,6 +508,7 @@ class StorageIntegration(pulumi.CustomResource):
478
508
  __props__.__dict__["azure_consent_url"] = None
479
509
  __props__.__dict__["azure_multi_tenant_app_name"] = None
480
510
  __props__.__dict__["created_on"] = None
511
+ __props__.__dict__["fully_qualified_name"] = None
481
512
  __props__.__dict__["storage_aws_external_id"] = None
482
513
  __props__.__dict__["storage_aws_iam_user_arn"] = None
483
514
  __props__.__dict__["storage_gcp_service_account"] = None
@@ -497,6 +528,7 @@ class StorageIntegration(pulumi.CustomResource):
497
528
  comment: Optional[pulumi.Input[str]] = None,
498
529
  created_on: Optional[pulumi.Input[str]] = None,
499
530
  enabled: Optional[pulumi.Input[bool]] = None,
531
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
500
532
  name: Optional[pulumi.Input[str]] = None,
501
533
  storage_allowed_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
502
534
  storage_aws_external_id: Optional[pulumi.Input[str]] = None,
@@ -517,12 +549,14 @@ class StorageIntegration(pulumi.CustomResource):
517
549
  :param pulumi.Input[str] azure_consent_url: The consent URL that is used to create an Azure Snowflake service principle inside your tenant.
518
550
  :param pulumi.Input[str] azure_multi_tenant_app_name: This is the name of the Snowflake client application created for your account.
519
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).
520
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.
521
554
  :param pulumi.Input[str] storage_aws_external_id: The external ID that Snowflake will use when assuming the AWS role.
522
555
  :param pulumi.Input[str] storage_aws_iam_user_arn: The Snowflake user that will attempt to assume the AWS role.
523
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.
524
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.
525
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`
526
560
  """
527
561
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
528
562
 
@@ -534,6 +568,7 @@ class StorageIntegration(pulumi.CustomResource):
534
568
  __props__.__dict__["comment"] = comment
535
569
  __props__.__dict__["created_on"] = created_on
536
570
  __props__.__dict__["enabled"] = enabled
571
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
537
572
  __props__.__dict__["name"] = name
538
573
  __props__.__dict__["storage_allowed_locations"] = storage_allowed_locations
539
574
  __props__.__dict__["storage_aws_external_id"] = storage_aws_external_id
@@ -585,6 +620,14 @@ class StorageIntegration(pulumi.CustomResource):
585
620
  def enabled(self) -> pulumi.Output[Optional[bool]]:
586
621
  return pulumi.get(self, "enabled")
587
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
+
588
631
  @property
589
632
  @pulumi.getter
590
633
  def name(self) -> pulumi.Output[str]:
@@ -646,6 +689,9 @@ class StorageIntegration(pulumi.CustomResource):
646
689
  @property
647
690
  @pulumi.getter(name="storageProvider")
648
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
+ """
649
695
  return pulumi.get(self, "storage_provider")
650
696
 
651
697
  @property