pulumi-snowflake 0.57.1a1722856643__py3-none-any.whl → 0.58.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. pulumi_snowflake/_inputs.py +5859 -127
  2. pulumi_snowflake/account.py +28 -50
  3. pulumi_snowflake/account_parameter.py +0 -28
  4. pulumi_snowflake/account_password_policy_attachment.py +2 -30
  5. pulumi_snowflake/account_role.py +51 -32
  6. pulumi_snowflake/alert.py +33 -45
  7. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +39 -19
  8. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +39 -19
  9. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +39 -19
  10. pulumi_snowflake/api_integration.py +28 -54
  11. pulumi_snowflake/cortex_search_service.py +28 -0
  12. pulumi_snowflake/database.py +97 -148
  13. pulumi_snowflake/database_old.py +5 -77
  14. pulumi_snowflake/database_role.py +76 -42
  15. pulumi_snowflake/dynamic_table.py +33 -43
  16. pulumi_snowflake/email_notification_integration.py +28 -26
  17. pulumi_snowflake/external_function.py +38 -62
  18. pulumi_snowflake/external_oauth_integration.py +41 -21
  19. pulumi_snowflake/external_table.py +38 -58
  20. pulumi_snowflake/failover_group.py +38 -82
  21. pulumi_snowflake/file_format.py +28 -26
  22. pulumi_snowflake/function.py +33 -9
  23. pulumi_snowflake/get_cortex_search_services.py +16 -16
  24. pulumi_snowflake/get_database_roles.py +61 -38
  25. pulumi_snowflake/get_databases.py +4 -4
  26. pulumi_snowflake/get_dynamic_tables.py +12 -12
  27. pulumi_snowflake/get_grants.py +138 -138
  28. pulumi_snowflake/get_schemas.py +8 -8
  29. pulumi_snowflake/get_streamlits.py +8 -8
  30. pulumi_snowflake/get_users.py +96 -33
  31. pulumi_snowflake/get_views.py +92 -53
  32. pulumi_snowflake/grant_account_role.py +0 -4
  33. pulumi_snowflake/grant_application_role.py +0 -4
  34. pulumi_snowflake/grant_database_role.py +0 -4
  35. pulumi_snowflake/grant_ownership.py +5 -5
  36. pulumi_snowflake/grant_privileges_to_account_role.py +15 -15
  37. pulumi_snowflake/grant_privileges_to_database_role.py +16 -12
  38. pulumi_snowflake/grant_privileges_to_share.py +47 -0
  39. pulumi_snowflake/managed_account.py +28 -4
  40. pulumi_snowflake/masking_policy.py +33 -89
  41. pulumi_snowflake/materialized_view.py +33 -39
  42. pulumi_snowflake/network_policy.py +47 -49
  43. pulumi_snowflake/network_policy_attachment.py +0 -30
  44. pulumi_snowflake/network_rule.py +28 -66
  45. pulumi_snowflake/notification_integration.py +28 -34
  46. pulumi_snowflake/oauth_integration.py +0 -34
  47. pulumi_snowflake/oauth_integration_for_custom_clients.py +39 -105
  48. pulumi_snowflake/oauth_integration_for_partner_applications.py +39 -19
  49. pulumi_snowflake/object_parameter.py +5 -103
  50. pulumi_snowflake/outputs.py +11648 -3842
  51. pulumi_snowflake/password_policy.py +28 -28
  52. pulumi_snowflake/pipe.py +28 -4
  53. pulumi_snowflake/procedure.py +33 -9
  54. pulumi_snowflake/provider.py +16 -16
  55. pulumi_snowflake/pulumi-plugin.json +1 -1
  56. pulumi_snowflake/resource_monitor.py +28 -48
  57. pulumi_snowflake/role.py +51 -32
  58. pulumi_snowflake/row_access_policy.py +28 -34
  59. pulumi_snowflake/saml2_integration.py +39 -19
  60. pulumi_snowflake/saml_integration.py +0 -34
  61. pulumi_snowflake/schema.py +45 -25
  62. pulumi_snowflake/scim_integration.py +39 -19
  63. pulumi_snowflake/secondary_database.py +35 -19
  64. pulumi_snowflake/sequence.py +4 -36
  65. pulumi_snowflake/session_parameter.py +0 -32
  66. pulumi_snowflake/share.py +28 -28
  67. pulumi_snowflake/shared_database.py +35 -15
  68. pulumi_snowflake/stage.py +33 -33
  69. pulumi_snowflake/storage_integration.py +28 -4
  70. pulumi_snowflake/stream.py +28 -4
  71. pulumi_snowflake/streamlit.py +39 -19
  72. pulumi_snowflake/table.py +43 -47
  73. pulumi_snowflake/table_column_masking_policy_application.py +2 -14
  74. pulumi_snowflake/table_constraint.py +5 -157
  75. pulumi_snowflake/tag.py +28 -40
  76. pulumi_snowflake/tag_association.py +5 -125
  77. pulumi_snowflake/tag_masking_policy_association.py +0 -4
  78. pulumi_snowflake/task.py +28 -92
  79. pulumi_snowflake/unsafe_execute.py +2 -20
  80. pulumi_snowflake/user.py +3341 -368
  81. pulumi_snowflake/user_password_policy_attachment.py +0 -36
  82. pulumi_snowflake/view.py +465 -185
  83. pulumi_snowflake/warehouse.py +39 -43
  84. {pulumi_snowflake-0.57.1a1722856643.dist-info → pulumi_snowflake-0.58.0.dist-info}/METADATA +1 -1
  85. pulumi_snowflake-0.58.0.dist-info/RECORD +129 -0
  86. {pulumi_snowflake-0.57.1a1722856643.dist-info → pulumi_snowflake-0.58.0.dist-info}/WHEEL +1 -1
  87. pulumi_snowflake-0.57.1a1722856643.dist-info/RECORD +0 -129
  88. {pulumi_snowflake-0.57.1a1722856643.dist-info → pulumi_snowflake-0.58.0.dist-info}/top_level.txt +0 -0
@@ -20,6 +20,7 @@ class DatabaseArgs:
20
20
  comment: Optional[pulumi.Input[str]] = None,
21
21
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
22
22
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
23
+ drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
23
24
  enable_console_output: Optional[pulumi.Input[bool]] = None,
24
25
  external_volume: Optional[pulumi.Input[str]] = None,
25
26
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -42,12 +43,13 @@ class DatabaseArgs:
42
43
  :param pulumi.Input[str] comment: Specifies a comment for the database.
43
44
  :param pulumi.Input[int] data_retention_time_in_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
44
45
  :param pulumi.Input[str] default_ddl_collation: Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
46
+ :param pulumi.Input[bool] drop_public_schema_on_creation: Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
45
47
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
46
48
  :param pulumi.Input[str] external_volume: The database parameter that specifies the default external volume to use for Iceberg tables. For more information, see [EXTERNAL_VOLUME](https://docs.snowflake.com/en/sql-reference/parameters#external-volume).
47
49
  :param pulumi.Input[bool] is_transient: Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
48
50
  :param pulumi.Input[str] log_level: Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
49
51
  :param pulumi.Input[int] max_data_extension_time_in_days: Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
50
- :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
52
+ :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
51
53
  :param pulumi.Input[bool] quoted_identifiers_ignore_case: If true, the case of quoted identifiers is ignored. For more information, see [QUOTED*IDENTIFIERS*IGNORE_CASE](https://docs.snowflake.com/en/sql-reference/parameters#quoted-identifiers-ignore-case).
52
54
  :param pulumi.Input[bool] replace_invalid_characters: Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog. For more information, see [REPLACE*INVALID*CHARACTERS](https://docs.snowflake.com/en/sql-reference/parameters#replace-invalid-characters).
53
55
  :param pulumi.Input['DatabaseReplicationArgs'] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
@@ -67,6 +69,8 @@ class DatabaseArgs:
67
69
  pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
68
70
  if default_ddl_collation is not None:
69
71
  pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
72
+ if drop_public_schema_on_creation is not None:
73
+ pulumi.set(__self__, "drop_public_schema_on_creation", drop_public_schema_on_creation)
70
74
  if enable_console_output is not None:
71
75
  pulumi.set(__self__, "enable_console_output", enable_console_output)
72
76
  if external_volume is not None:
@@ -148,6 +152,18 @@ class DatabaseArgs:
148
152
  def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
149
153
  pulumi.set(self, "default_ddl_collation", value)
150
154
 
155
+ @property
156
+ @pulumi.getter(name="dropPublicSchemaOnCreation")
157
+ def drop_public_schema_on_creation(self) -> Optional[pulumi.Input[bool]]:
158
+ """
159
+ Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
160
+ """
161
+ return pulumi.get(self, "drop_public_schema_on_creation")
162
+
163
+ @drop_public_schema_on_creation.setter
164
+ def drop_public_schema_on_creation(self, value: Optional[pulumi.Input[bool]]):
165
+ pulumi.set(self, "drop_public_schema_on_creation", value)
166
+
151
167
  @property
152
168
  @pulumi.getter(name="enableConsoleOutput")
153
169
  def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
@@ -212,7 +228,7 @@ class DatabaseArgs:
212
228
  @pulumi.getter
213
229
  def name(self) -> Optional[pulumi.Input[str]]:
214
230
  """
215
- Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
231
+ Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
216
232
  """
217
233
  return pulumi.get(self, "name")
218
234
 
@@ -348,8 +364,10 @@ class _DatabaseState:
348
364
  comment: Optional[pulumi.Input[str]] = None,
349
365
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
350
366
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
367
+ drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
351
368
  enable_console_output: Optional[pulumi.Input[bool]] = None,
352
369
  external_volume: Optional[pulumi.Input[str]] = None,
370
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
353
371
  is_transient: Optional[pulumi.Input[bool]] = None,
354
372
  log_level: Optional[pulumi.Input[str]] = None,
355
373
  max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
@@ -370,12 +388,14 @@ class _DatabaseState:
370
388
  :param pulumi.Input[str] comment: Specifies a comment for the database.
371
389
  :param pulumi.Input[int] data_retention_time_in_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
372
390
  :param pulumi.Input[str] default_ddl_collation: Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
391
+ :param pulumi.Input[bool] drop_public_schema_on_creation: Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
373
392
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
374
393
  :param pulumi.Input[str] external_volume: The database parameter that specifies the default external volume to use for Iceberg tables. For more information, see [EXTERNAL_VOLUME](https://docs.snowflake.com/en/sql-reference/parameters#external-volume).
394
+ :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).
375
395
  :param pulumi.Input[bool] is_transient: Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
376
396
  :param pulumi.Input[str] log_level: Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
377
397
  :param pulumi.Input[int] max_data_extension_time_in_days: Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
378
- :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
398
+ :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
379
399
  :param pulumi.Input[bool] quoted_identifiers_ignore_case: If true, the case of quoted identifiers is ignored. For more information, see [QUOTED*IDENTIFIERS*IGNORE_CASE](https://docs.snowflake.com/en/sql-reference/parameters#quoted-identifiers-ignore-case).
380
400
  :param pulumi.Input[bool] replace_invalid_characters: Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog. For more information, see [REPLACE*INVALID*CHARACTERS](https://docs.snowflake.com/en/sql-reference/parameters#replace-invalid-characters).
381
401
  :param pulumi.Input['DatabaseReplicationArgs'] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
@@ -395,10 +415,14 @@ class _DatabaseState:
395
415
  pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
396
416
  if default_ddl_collation is not None:
397
417
  pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
418
+ if drop_public_schema_on_creation is not None:
419
+ pulumi.set(__self__, "drop_public_schema_on_creation", drop_public_schema_on_creation)
398
420
  if enable_console_output is not None:
399
421
  pulumi.set(__self__, "enable_console_output", enable_console_output)
400
422
  if external_volume is not None:
401
423
  pulumi.set(__self__, "external_volume", external_volume)
424
+ if fully_qualified_name is not None:
425
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
402
426
  if is_transient is not None:
403
427
  pulumi.set(__self__, "is_transient", is_transient)
404
428
  if log_level is not None:
@@ -476,6 +500,18 @@ class _DatabaseState:
476
500
  def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
477
501
  pulumi.set(self, "default_ddl_collation", value)
478
502
 
503
+ @property
504
+ @pulumi.getter(name="dropPublicSchemaOnCreation")
505
+ def drop_public_schema_on_creation(self) -> Optional[pulumi.Input[bool]]:
506
+ """
507
+ Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
508
+ """
509
+ return pulumi.get(self, "drop_public_schema_on_creation")
510
+
511
+ @drop_public_schema_on_creation.setter
512
+ def drop_public_schema_on_creation(self, value: Optional[pulumi.Input[bool]]):
513
+ pulumi.set(self, "drop_public_schema_on_creation", value)
514
+
479
515
  @property
480
516
  @pulumi.getter(name="enableConsoleOutput")
481
517
  def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
@@ -500,6 +536,18 @@ class _DatabaseState:
500
536
  def external_volume(self, value: Optional[pulumi.Input[str]]):
501
537
  pulumi.set(self, "external_volume", value)
502
538
 
539
+ @property
540
+ @pulumi.getter(name="fullyQualifiedName")
541
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
542
+ """
543
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
544
+ """
545
+ return pulumi.get(self, "fully_qualified_name")
546
+
547
+ @fully_qualified_name.setter
548
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
549
+ pulumi.set(self, "fully_qualified_name", value)
550
+
503
551
  @property
504
552
  @pulumi.getter(name="isTransient")
505
553
  def is_transient(self) -> Optional[pulumi.Input[bool]]:
@@ -540,7 +588,7 @@ class _DatabaseState:
540
588
  @pulumi.getter
541
589
  def name(self) -> Optional[pulumi.Input[str]]:
542
590
  """
543
- Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
591
+ Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
544
592
  """
545
593
  return pulumi.get(self, "name")
546
594
 
@@ -678,6 +726,7 @@ class Database(pulumi.CustomResource):
678
726
  comment: Optional[pulumi.Input[str]] = None,
679
727
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
680
728
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
729
+ drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
681
730
  enable_console_output: Optional[pulumi.Input[bool]] = None,
682
731
  external_volume: Optional[pulumi.Input[str]] = None,
683
732
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -686,7 +735,7 @@ class Database(pulumi.CustomResource):
686
735
  name: Optional[pulumi.Input[str]] = None,
687
736
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
688
737
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
689
- replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
738
+ replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
690
739
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
691
740
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
692
741
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -696,74 +745,11 @@ class Database(pulumi.CustomResource):
696
745
  user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
697
746
  __props__=None):
698
747
  """
699
- !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
700
-
701
- Represents a standard database. If replication configuration is specified, the database is promoted to serve as a primary database for replication.
702
-
703
- ## Minimal
704
-
705
- resource "Database" "primary" {
706
- name = "database_name"
707
- }
708
-
709
- ## Complete (with every optional set)
710
-
711
- resource "Database" "primary" {
712
- name = "database_name"
713
- is_transient = false
714
- comment = "my standard database"
715
-
716
- data_retention_time_in_days = 10
717
- data_retention_time_in_days_save = 10
718
- max_data_extension_time_in_days = 20
719
- external_volume = "<external_volume_name>"
720
- catalog = "<catalog_name>"
721
- replace_invalid_characters = false
722
- default_ddl_collation = "en_US"
723
- storage_serialization_policy = "COMPATIBLE"
724
- log_level = "INFO"
725
- trace_level = "ALWAYS"
726
- suspend_task_after_num_failures = 10
727
- task_auto_retry_attempts = 10
728
- user_task_managed_initial_warehouse_size = "LARGE"
729
- user_task_timeout_ms = 3600000
730
- user_task_minimum_trigger_interval_in_seconds = 120
731
- quoted_identifiers_ignore_case = false
732
- enable_console_output = false
733
-
734
- replication {
735
- enable_to_account {
736
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
737
- with_failover = true
738
- }
739
- ignore_edition_check = true
740
- }
741
- }
742
-
743
- ## Replication with for_each
744
-
745
- locals {
746
- replication_configs = [
747
- {
748
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
749
- with_failover = true
750
- },
751
- {
752
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
753
- with_failover = true
754
- },
755
- ]
756
- }
757
-
758
- resource "Database" "primary" {
759
- name = "database_name"
760
- for_each = local.replication_configs
761
-
762
- replication {
763
- enable_to_account = each.value
764
- ignore_edition_check = true
765
- }
766
- }
748
+ ## Import
749
+
750
+ ```sh
751
+ $ pulumi import snowflake:index/database:Database example 'database_name'
752
+ ```
767
753
 
768
754
  :param str resource_name: The name of the resource.
769
755
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -771,15 +757,16 @@ class Database(pulumi.CustomResource):
771
757
  :param pulumi.Input[str] comment: Specifies a comment for the database.
772
758
  :param pulumi.Input[int] data_retention_time_in_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
773
759
  :param pulumi.Input[str] default_ddl_collation: Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
760
+ :param pulumi.Input[bool] drop_public_schema_on_creation: Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
774
761
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
775
762
  :param pulumi.Input[str] external_volume: The database parameter that specifies the default external volume to use for Iceberg tables. For more information, see [EXTERNAL_VOLUME](https://docs.snowflake.com/en/sql-reference/parameters#external-volume).
776
763
  :param pulumi.Input[bool] is_transient: Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
777
764
  :param pulumi.Input[str] log_level: Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
778
765
  :param pulumi.Input[int] max_data_extension_time_in_days: Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
779
- :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
766
+ :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
780
767
  :param pulumi.Input[bool] quoted_identifiers_ignore_case: If true, the case of quoted identifiers is ignored. For more information, see [QUOTED*IDENTIFIERS*IGNORE_CASE](https://docs.snowflake.com/en/sql-reference/parameters#quoted-identifiers-ignore-case).
781
768
  :param pulumi.Input[bool] replace_invalid_characters: Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog. For more information, see [REPLACE*INVALID*CHARACTERS](https://docs.snowflake.com/en/sql-reference/parameters#replace-invalid-characters).
782
- :param pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
769
+ :param pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
783
770
  :param pulumi.Input[str] storage_serialization_policy: The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake. For more information, see [STORAGE*SERIALIZATION*POLICY](https://docs.snowflake.com/en/sql-reference/parameters#storage-serialization-policy).
784
771
  :param pulumi.Input[int] suspend_task_after_num_failures: How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending. For more information, see [SUSPEND*TASK*AFTER*NUM*FAILURES](https://docs.snowflake.com/en/sql-reference/parameters#suspend-task-after-num-failures).
785
772
  :param pulumi.Input[int] task_auto_retry_attempts: Maximum automatic retries allowed for a user task. For more information, see [TASK*AUTO*RETRY_ATTEMPTS](https://docs.snowflake.com/en/sql-reference/parameters#task-auto-retry-attempts).
@@ -795,74 +782,11 @@ class Database(pulumi.CustomResource):
795
782
  args: Optional[DatabaseArgs] = None,
796
783
  opts: Optional[pulumi.ResourceOptions] = None):
797
784
  """
798
- !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
799
-
800
- Represents a standard database. If replication configuration is specified, the database is promoted to serve as a primary database for replication.
801
-
802
- ## Minimal
803
-
804
- resource "Database" "primary" {
805
- name = "database_name"
806
- }
807
-
808
- ## Complete (with every optional set)
809
-
810
- resource "Database" "primary" {
811
- name = "database_name"
812
- is_transient = false
813
- comment = "my standard database"
814
-
815
- data_retention_time_in_days = 10
816
- data_retention_time_in_days_save = 10
817
- max_data_extension_time_in_days = 20
818
- external_volume = "<external_volume_name>"
819
- catalog = "<catalog_name>"
820
- replace_invalid_characters = false
821
- default_ddl_collation = "en_US"
822
- storage_serialization_policy = "COMPATIBLE"
823
- log_level = "INFO"
824
- trace_level = "ALWAYS"
825
- suspend_task_after_num_failures = 10
826
- task_auto_retry_attempts = 10
827
- user_task_managed_initial_warehouse_size = "LARGE"
828
- user_task_timeout_ms = 3600000
829
- user_task_minimum_trigger_interval_in_seconds = 120
830
- quoted_identifiers_ignore_case = false
831
- enable_console_output = false
832
-
833
- replication {
834
- enable_to_account {
835
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
836
- with_failover = true
837
- }
838
- ignore_edition_check = true
839
- }
840
- }
841
-
842
- ## Replication with for_each
843
-
844
- locals {
845
- replication_configs = [
846
- {
847
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
848
- with_failover = true
849
- },
850
- {
851
- account_identifier = "<secondary_account_organization_name>.<secondary_account_name>"
852
- with_failover = true
853
- },
854
- ]
855
- }
856
-
857
- resource "Database" "primary" {
858
- name = "database_name"
859
- for_each = local.replication_configs
860
-
861
- replication {
862
- enable_to_account = each.value
863
- ignore_edition_check = true
864
- }
865
- }
785
+ ## Import
786
+
787
+ ```sh
788
+ $ pulumi import snowflake:index/database:Database example 'database_name'
789
+ ```
866
790
 
867
791
  :param str resource_name: The name of the resource.
868
792
  :param DatabaseArgs args: The arguments to use to populate this resource's properties.
@@ -883,6 +807,7 @@ class Database(pulumi.CustomResource):
883
807
  comment: Optional[pulumi.Input[str]] = None,
884
808
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
885
809
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
810
+ drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
886
811
  enable_console_output: Optional[pulumi.Input[bool]] = None,
887
812
  external_volume: Optional[pulumi.Input[str]] = None,
888
813
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -891,7 +816,7 @@ class Database(pulumi.CustomResource):
891
816
  name: Optional[pulumi.Input[str]] = None,
892
817
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
893
818
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
894
- replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
819
+ replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
895
820
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
896
821
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
897
822
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -912,6 +837,7 @@ class Database(pulumi.CustomResource):
912
837
  __props__.__dict__["comment"] = comment
913
838
  __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
914
839
  __props__.__dict__["default_ddl_collation"] = default_ddl_collation
840
+ __props__.__dict__["drop_public_schema_on_creation"] = drop_public_schema_on_creation
915
841
  __props__.__dict__["enable_console_output"] = enable_console_output
916
842
  __props__.__dict__["external_volume"] = external_volume
917
843
  __props__.__dict__["is_transient"] = is_transient
@@ -928,6 +854,7 @@ class Database(pulumi.CustomResource):
928
854
  __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
929
855
  __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
930
856
  __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
857
+ __props__.__dict__["fully_qualified_name"] = None
931
858
  super(Database, __self__).__init__(
932
859
  'snowflake:index/database:Database',
933
860
  resource_name,
@@ -942,15 +869,17 @@ class Database(pulumi.CustomResource):
942
869
  comment: Optional[pulumi.Input[str]] = None,
943
870
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
944
871
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
872
+ drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
945
873
  enable_console_output: Optional[pulumi.Input[bool]] = None,
946
874
  external_volume: Optional[pulumi.Input[str]] = None,
875
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
947
876
  is_transient: Optional[pulumi.Input[bool]] = None,
948
877
  log_level: Optional[pulumi.Input[str]] = None,
949
878
  max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
950
879
  name: Optional[pulumi.Input[str]] = None,
951
880
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
952
881
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
953
- replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
882
+ replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
954
883
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
955
884
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
956
885
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -969,15 +898,17 @@ class Database(pulumi.CustomResource):
969
898
  :param pulumi.Input[str] comment: Specifies a comment for the database.
970
899
  :param pulumi.Input[int] data_retention_time_in_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the database, as well as specifying the default Time Travel retention time for all schemas created in the database. For more details, see [Understanding & Using Time Travel](https://docs.snowflake.com/en/user-guide/data-time-travel).
971
900
  :param pulumi.Input[str] default_ddl_collation: Specifies a default collation specification for all schemas and tables added to the database. It can be overridden on schema or table level. For more information, see [collation specification](https://docs.snowflake.com/en/sql-reference/collation#label-collation-specification).
901
+ :param pulumi.Input[bool] drop_public_schema_on_creation: Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
972
902
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
973
903
  :param pulumi.Input[str] external_volume: The database parameter that specifies the default external volume to use for Iceberg tables. For more information, see [EXTERNAL_VOLUME](https://docs.snowflake.com/en/sql-reference/parameters#external-volume).
904
+ :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).
974
905
  :param pulumi.Input[bool] is_transient: Specifies the database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
975
906
  :param pulumi.Input[str] log_level: Specifies the severity level of messages that should be ingested and made available in the active event table. Valid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF]. Messages at the specified level (and at more severe levels) are ingested. For more information, see [LOG_LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-log-level).
976
907
  :param pulumi.Input[int] max_data_extension_time_in_days: Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period for tables in the database to prevent streams on the tables from becoming stale. For a detailed description of this parameter, see [MAX*DATA*EXTENSION*TIME*IN_DAYS](https://docs.snowflake.com/en/sql-reference/parameters.html#label-max-data-extension-time-in-days).
977
- :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
908
+ :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
978
909
  :param pulumi.Input[bool] quoted_identifiers_ignore_case: If true, the case of quoted identifiers is ignored. For more information, see [QUOTED*IDENTIFIERS*IGNORE_CASE](https://docs.snowflake.com/en/sql-reference/parameters#quoted-identifiers-ignore-case).
979
910
  :param pulumi.Input[bool] replace_invalid_characters: Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog. For more information, see [REPLACE*INVALID*CHARACTERS](https://docs.snowflake.com/en/sql-reference/parameters#replace-invalid-characters).
980
- :param pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
911
+ :param pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']] replication: Configures replication for a given database. When specified, this database will be promoted to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
981
912
  :param pulumi.Input[str] storage_serialization_policy: The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake. For more information, see [STORAGE*SERIALIZATION*POLICY](https://docs.snowflake.com/en/sql-reference/parameters#storage-serialization-policy).
982
913
  :param pulumi.Input[int] suspend_task_after_num_failures: How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending. For more information, see [SUSPEND*TASK*AFTER*NUM*FAILURES](https://docs.snowflake.com/en/sql-reference/parameters#suspend-task-after-num-failures).
983
914
  :param pulumi.Input[int] task_auto_retry_attempts: Maximum automatic retries allowed for a user task. For more information, see [TASK*AUTO*RETRY_ATTEMPTS](https://docs.snowflake.com/en/sql-reference/parameters#task-auto-retry-attempts).
@@ -994,8 +925,10 @@ class Database(pulumi.CustomResource):
994
925
  __props__.__dict__["comment"] = comment
995
926
  __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
996
927
  __props__.__dict__["default_ddl_collation"] = default_ddl_collation
928
+ __props__.__dict__["drop_public_schema_on_creation"] = drop_public_schema_on_creation
997
929
  __props__.__dict__["enable_console_output"] = enable_console_output
998
930
  __props__.__dict__["external_volume"] = external_volume
931
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
999
932
  __props__.__dict__["is_transient"] = is_transient
1000
933
  __props__.__dict__["log_level"] = log_level
1001
934
  __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
@@ -1044,6 +977,14 @@ class Database(pulumi.CustomResource):
1044
977
  """
1045
978
  return pulumi.get(self, "default_ddl_collation")
1046
979
 
980
+ @property
981
+ @pulumi.getter(name="dropPublicSchemaOnCreation")
982
+ def drop_public_schema_on_creation(self) -> pulumi.Output[Optional[bool]]:
983
+ """
984
+ Specifies whether to drop public schema on creation or not. Modifying the parameter after database is already created won't have any effect.
985
+ """
986
+ return pulumi.get(self, "drop_public_schema_on_creation")
987
+
1047
988
  @property
1048
989
  @pulumi.getter(name="enableConsoleOutput")
1049
990
  def enable_console_output(self) -> pulumi.Output[bool]:
@@ -1060,6 +1001,14 @@ class Database(pulumi.CustomResource):
1060
1001
  """
1061
1002
  return pulumi.get(self, "external_volume")
1062
1003
 
1004
+ @property
1005
+ @pulumi.getter(name="fullyQualifiedName")
1006
+ def fully_qualified_name(self) -> pulumi.Output[str]:
1007
+ """
1008
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
1009
+ """
1010
+ return pulumi.get(self, "fully_qualified_name")
1011
+
1063
1012
  @property
1064
1013
  @pulumi.getter(name="isTransient")
1065
1014
  def is_transient(self) -> pulumi.Output[Optional[bool]]:
@@ -1088,7 +1037,7 @@ class Database(pulumi.CustomResource):
1088
1037
  @pulumi.getter
1089
1038
  def name(self) -> pulumi.Output[str]:
1090
1039
  """
1091
- Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database.
1040
+ Specifies the identifier for the database; must be unique for your account. As a best practice for [Database Replication and Failover](https://docs.snowflake.com/en/user-guide/db-replication-intro), it is recommended to give each secondary database the same name as its primary database. This practice supports referencing fully-qualified objects (i.e. '\\n\\n.\\n\\n.\\n\\n') by other objects in the same database, such as querying a fully-qualified table name in a view. If a secondary database has a different name from the primary database, then these object references would break in the secondary database. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
1092
1041
  """
1093
1042
  return pulumi.get(self, "name")
1094
1043
 
@@ -297,45 +297,9 @@ class DatabaseOld(pulumi.CustomResource):
297
297
  from_share: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
298
298
  is_transient: Optional[pulumi.Input[bool]] = None,
299
299
  name: Optional[pulumi.Input[str]] = None,
300
- replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = None,
300
+ replication_configuration: Optional[pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None,
301
301
  __props__=None):
302
302
  """
303
- > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use Database or SharedDatabase or SecondaryDatabase instead. <deprecation>
304
-
305
- ## Example Usage
306
-
307
- ```python
308
- import pulumi
309
- import pulumi_snowflake as snowflake
310
-
311
- simple = snowflake.DatabaseOld("simple",
312
- name="testing",
313
- comment="test comment",
314
- data_retention_time_in_days=3)
315
- with_replication = snowflake.DatabaseOld("with_replication",
316
- name="testing_2",
317
- comment="test comment 2",
318
- replication_configuration=snowflake.DatabaseOldReplicationConfigurationArgs(
319
- accounts=[
320
- "test_account1",
321
- "test_account_2",
322
- ],
323
- ignore_edition_check=True,
324
- ))
325
- from_replica = snowflake.DatabaseOld("from_replica",
326
- name="testing_3",
327
- comment="test comment",
328
- data_retention_time_in_days=3,
329
- from_replica="\\"org1\\".\\"account1\\".\\"primary_db_name\\"")
330
- from_share = snowflake.DatabaseOld("from_share",
331
- name="testing_4",
332
- comment="test comment",
333
- from_share={
334
- "provider": "account1_locator",
335
- "share": "share1",
336
- })
337
- ```
338
-
339
303
  ## Import
340
304
 
341
305
  ```sh
@@ -351,7 +315,7 @@ class DatabaseOld(pulumi.CustomResource):
351
315
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] from_share: Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
352
316
  :param pulumi.Input[bool] is_transient: Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
353
317
  :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account.
354
- :param pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']] replication_configuration: When set, specifies the configurations for database replication.
318
+ :param pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']] replication_configuration: When set, specifies the configurations for database replication.
355
319
  """
356
320
  ...
357
321
  @overload
@@ -360,42 +324,6 @@ class DatabaseOld(pulumi.CustomResource):
360
324
  args: Optional[DatabaseOldArgs] = None,
361
325
  opts: Optional[pulumi.ResourceOptions] = None):
362
326
  """
363
- > **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use Database or SharedDatabase or SecondaryDatabase instead. <deprecation>
364
-
365
- ## Example Usage
366
-
367
- ```python
368
- import pulumi
369
- import pulumi_snowflake as snowflake
370
-
371
- simple = snowflake.DatabaseOld("simple",
372
- name="testing",
373
- comment="test comment",
374
- data_retention_time_in_days=3)
375
- with_replication = snowflake.DatabaseOld("with_replication",
376
- name="testing_2",
377
- comment="test comment 2",
378
- replication_configuration=snowflake.DatabaseOldReplicationConfigurationArgs(
379
- accounts=[
380
- "test_account1",
381
- "test_account_2",
382
- ],
383
- ignore_edition_check=True,
384
- ))
385
- from_replica = snowflake.DatabaseOld("from_replica",
386
- name="testing_3",
387
- comment="test comment",
388
- data_retention_time_in_days=3,
389
- from_replica="\\"org1\\".\\"account1\\".\\"primary_db_name\\"")
390
- from_share = snowflake.DatabaseOld("from_share",
391
- name="testing_4",
392
- comment="test comment",
393
- from_share={
394
- "provider": "account1_locator",
395
- "share": "share1",
396
- })
397
- ```
398
-
399
327
  ## Import
400
328
 
401
329
  ```sh
@@ -424,7 +352,7 @@ class DatabaseOld(pulumi.CustomResource):
424
352
  from_share: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
425
353
  is_transient: Optional[pulumi.Input[bool]] = None,
426
354
  name: Optional[pulumi.Input[str]] = None,
427
- replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = None,
355
+ replication_configuration: Optional[pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None,
428
356
  __props__=None):
429
357
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
430
358
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -459,7 +387,7 @@ class DatabaseOld(pulumi.CustomResource):
459
387
  from_share: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
460
388
  is_transient: Optional[pulumi.Input[bool]] = None,
461
389
  name: Optional[pulumi.Input[str]] = None,
462
- replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = None) -> 'DatabaseOld':
390
+ replication_configuration: Optional[pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None) -> 'DatabaseOld':
463
391
  """
464
392
  Get an existing DatabaseOld resource's state with the given name, id, and optional extra
465
393
  properties used to qualify the lookup.
@@ -474,7 +402,7 @@ class DatabaseOld(pulumi.CustomResource):
474
402
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] from_share: Specify a provider and a share in this map to create a database from a share. As of version 0.87.0, the provider field is the account locator.
475
403
  :param pulumi.Input[bool] is_transient: Specifies a database as transient. Transient databases do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; however, this means they are also not protected by Fail-safe in the event of a data loss.
476
404
  :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account.
477
- :param pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']] replication_configuration: When set, specifies the configurations for database replication.
405
+ :param pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']] replication_configuration: When set, specifies the configurations for database replication.
478
406
  """
479
407
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
480
408