pulumi-snowflake 0.58.0__py3-none-any.whl → 0.58.0a1722527984__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 (92) hide show
  1. pulumi_snowflake/_inputs.py +125 -5857
  2. pulumi_snowflake/account.py +50 -28
  3. pulumi_snowflake/account_parameter.py +28 -0
  4. pulumi_snowflake/account_password_policy_attachment.py +30 -2
  5. pulumi_snowflake/account_role.py +32 -51
  6. pulumi_snowflake/alert.py +45 -33
  7. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +19 -39
  8. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +19 -39
  9. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +19 -39
  10. pulumi_snowflake/api_integration.py +54 -28
  11. pulumi_snowflake/cortex_search_service.py +0 -28
  12. pulumi_snowflake/database.py +148 -97
  13. pulumi_snowflake/database_old.py +77 -5
  14. pulumi_snowflake/database_role.py +42 -76
  15. pulumi_snowflake/dynamic_table.py +43 -33
  16. pulumi_snowflake/email_notification_integration.py +26 -28
  17. pulumi_snowflake/external_function.py +62 -38
  18. pulumi_snowflake/external_oauth_integration.py +21 -41
  19. pulumi_snowflake/external_table.py +58 -38
  20. pulumi_snowflake/failover_group.py +82 -38
  21. pulumi_snowflake/file_format.py +26 -28
  22. pulumi_snowflake/function.py +9 -33
  23. pulumi_snowflake/get_cortex_search_services.py +16 -16
  24. pulumi_snowflake/get_database_roles.py +38 -61
  25. pulumi_snowflake/get_databases.py +6 -6
  26. pulumi_snowflake/get_dynamic_tables.py +12 -12
  27. pulumi_snowflake/get_grants.py +138 -138
  28. pulumi_snowflake/get_network_policies.py +2 -2
  29. pulumi_snowflake/get_roles.py +2 -2
  30. pulumi_snowflake/get_schemas.py +8 -12
  31. pulumi_snowflake/get_security_integrations.py +2 -2
  32. pulumi_snowflake/get_streamlits.py +10 -10
  33. pulumi_snowflake/get_users.py +33 -96
  34. pulumi_snowflake/get_views.py +53 -92
  35. pulumi_snowflake/get_warehouses.py +2 -2
  36. pulumi_snowflake/grant_account_role.py +4 -0
  37. pulumi_snowflake/grant_application_role.py +4 -0
  38. pulumi_snowflake/grant_database_role.py +4 -0
  39. pulumi_snowflake/grant_ownership.py +5 -5
  40. pulumi_snowflake/grant_privileges_to_account_role.py +15 -15
  41. pulumi_snowflake/grant_privileges_to_database_role.py +12 -16
  42. pulumi_snowflake/grant_privileges_to_share.py +0 -47
  43. pulumi_snowflake/managed_account.py +4 -28
  44. pulumi_snowflake/masking_policy.py +89 -33
  45. pulumi_snowflake/materialized_view.py +39 -33
  46. pulumi_snowflake/network_policy.py +49 -47
  47. pulumi_snowflake/network_policy_attachment.py +30 -0
  48. pulumi_snowflake/network_rule.py +66 -28
  49. pulumi_snowflake/notification_integration.py +34 -28
  50. pulumi_snowflake/oauth_integration.py +34 -0
  51. pulumi_snowflake/oauth_integration_for_custom_clients.py +105 -39
  52. pulumi_snowflake/oauth_integration_for_partner_applications.py +19 -39
  53. pulumi_snowflake/object_parameter.py +103 -5
  54. pulumi_snowflake/outputs.py +4207 -12013
  55. pulumi_snowflake/password_policy.py +28 -28
  56. pulumi_snowflake/pipe.py +4 -28
  57. pulumi_snowflake/procedure.py +9 -33
  58. pulumi_snowflake/provider.py +16 -16
  59. pulumi_snowflake/pulumi-plugin.json +1 -1
  60. pulumi_snowflake/resource_monitor.py +48 -28
  61. pulumi_snowflake/role.py +32 -51
  62. pulumi_snowflake/row_access_policy.py +34 -28
  63. pulumi_snowflake/saml2_integration.py +19 -39
  64. pulumi_snowflake/saml_integration.py +34 -0
  65. pulumi_snowflake/schema.py +28 -52
  66. pulumi_snowflake/scim_integration.py +19 -39
  67. pulumi_snowflake/secondary_database.py +19 -35
  68. pulumi_snowflake/sequence.py +36 -4
  69. pulumi_snowflake/session_parameter.py +32 -0
  70. pulumi_snowflake/share.py +28 -28
  71. pulumi_snowflake/shared_database.py +15 -35
  72. pulumi_snowflake/stage.py +33 -33
  73. pulumi_snowflake/storage_integration.py +4 -28
  74. pulumi_snowflake/stream.py +4 -28
  75. pulumi_snowflake/streamlit.py +19 -39
  76. pulumi_snowflake/table.py +47 -43
  77. pulumi_snowflake/table_column_masking_policy_application.py +14 -2
  78. pulumi_snowflake/table_constraint.py +157 -5
  79. pulumi_snowflake/tag.py +40 -28
  80. pulumi_snowflake/tag_association.py +125 -5
  81. pulumi_snowflake/tag_masking_policy_association.py +4 -0
  82. pulumi_snowflake/task.py +92 -28
  83. pulumi_snowflake/unsafe_execute.py +20 -2
  84. pulumi_snowflake/user.py +373 -3346
  85. pulumi_snowflake/user_password_policy_attachment.py +36 -0
  86. pulumi_snowflake/view.py +185 -465
  87. pulumi_snowflake/warehouse.py +43 -39
  88. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722527984.dist-info}/METADATA +1 -1
  89. pulumi_snowflake-0.58.0a1722527984.dist-info/RECORD +129 -0
  90. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722527984.dist-info}/WHEEL +1 -1
  91. pulumi_snowflake-0.58.0.dist-info/RECORD +0 -129
  92. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722527984.dist-info}/top_level.txt +0 -0
@@ -20,7 +20,6 @@ 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,
24
23
  enable_console_output: Optional[pulumi.Input[bool]] = None,
25
24
  external_volume: Optional[pulumi.Input[str]] = None,
26
25
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -43,13 +42,12 @@ class DatabaseArgs:
43
42
  :param pulumi.Input[str] comment: Specifies a comment for the database.
44
43
  :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).
45
44
  :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.
47
45
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
48
46
  :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).
49
47
  :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.
50
48
  :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).
51
49
  :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).
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: `|`, `.`, `(`, `)`, `"`
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.
53
51
  :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).
54
52
  :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).
55
53
  :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.
@@ -69,8 +67,6 @@ class DatabaseArgs:
69
67
  pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
70
68
  if default_ddl_collation is not None:
71
69
  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)
74
70
  if enable_console_output is not None:
75
71
  pulumi.set(__self__, "enable_console_output", enable_console_output)
76
72
  if external_volume is not None:
@@ -152,18 +148,6 @@ class DatabaseArgs:
152
148
  def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
153
149
  pulumi.set(self, "default_ddl_collation", value)
154
150
 
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
-
167
151
  @property
168
152
  @pulumi.getter(name="enableConsoleOutput")
169
153
  def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
@@ -228,7 +212,7 @@ class DatabaseArgs:
228
212
  @pulumi.getter
229
213
  def name(self) -> Optional[pulumi.Input[str]]:
230
214
  """
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: `|`, `.`, `(`, `)`, `"`
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.
232
216
  """
233
217
  return pulumi.get(self, "name")
234
218
 
@@ -364,10 +348,8 @@ class _DatabaseState:
364
348
  comment: Optional[pulumi.Input[str]] = None,
365
349
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
366
350
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
367
- drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
368
351
  enable_console_output: Optional[pulumi.Input[bool]] = None,
369
352
  external_volume: Optional[pulumi.Input[str]] = None,
370
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
371
353
  is_transient: Optional[pulumi.Input[bool]] = None,
372
354
  log_level: Optional[pulumi.Input[str]] = None,
373
355
  max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
@@ -388,14 +370,12 @@ class _DatabaseState:
388
370
  :param pulumi.Input[str] comment: Specifies a comment for the database.
389
371
  :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).
390
372
  :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.
392
373
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
393
374
  :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).
395
375
  :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.
396
376
  :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).
397
377
  :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).
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: `|`, `.`, `(`, `)`, `"`
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.
399
379
  :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).
400
380
  :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).
401
381
  :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.
@@ -415,14 +395,10 @@ class _DatabaseState:
415
395
  pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
416
396
  if default_ddl_collation is not None:
417
397
  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)
420
398
  if enable_console_output is not None:
421
399
  pulumi.set(__self__, "enable_console_output", enable_console_output)
422
400
  if external_volume is not None:
423
401
  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)
426
402
  if is_transient is not None:
427
403
  pulumi.set(__self__, "is_transient", is_transient)
428
404
  if log_level is not None:
@@ -500,18 +476,6 @@ class _DatabaseState:
500
476
  def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
501
477
  pulumi.set(self, "default_ddl_collation", value)
502
478
 
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
-
515
479
  @property
516
480
  @pulumi.getter(name="enableConsoleOutput")
517
481
  def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
@@ -536,18 +500,6 @@ class _DatabaseState:
536
500
  def external_volume(self, value: Optional[pulumi.Input[str]]):
537
501
  pulumi.set(self, "external_volume", value)
538
502
 
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
-
551
503
  @property
552
504
  @pulumi.getter(name="isTransient")
553
505
  def is_transient(self) -> Optional[pulumi.Input[bool]]:
@@ -588,7 +540,7 @@ class _DatabaseState:
588
540
  @pulumi.getter
589
541
  def name(self) -> Optional[pulumi.Input[str]]:
590
542
  """
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: `|`, `.`, `(`, `)`, `"`
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.
592
544
  """
593
545
  return pulumi.get(self, "name")
594
546
 
@@ -726,7 +678,6 @@ class Database(pulumi.CustomResource):
726
678
  comment: Optional[pulumi.Input[str]] = None,
727
679
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
728
680
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
729
- drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
730
681
  enable_console_output: Optional[pulumi.Input[bool]] = None,
731
682
  external_volume: Optional[pulumi.Input[str]] = None,
732
683
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -735,7 +686,7 @@ class Database(pulumi.CustomResource):
735
686
  name: Optional[pulumi.Input[str]] = None,
736
687
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
737
688
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
738
- replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
689
+ replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
739
690
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
740
691
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
741
692
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -745,11 +696,74 @@ class Database(pulumi.CustomResource):
745
696
  user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
746
697
  __props__=None):
747
698
  """
748
- ## Import
749
-
750
- ```sh
751
- $ pulumi import snowflake:index/database:Database example 'database_name'
752
- ```
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
+ }
753
767
 
754
768
  :param str resource_name: The name of the resource.
755
769
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -757,16 +771,15 @@ class Database(pulumi.CustomResource):
757
771
  :param pulumi.Input[str] comment: Specifies a comment for the database.
758
772
  :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).
759
773
  :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.
761
774
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
762
775
  :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).
763
776
  :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.
764
777
  :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).
765
778
  :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).
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: `|`, `.`, `(`, `)`, `"`
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.
767
780
  :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).
768
781
  :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).
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.
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.
770
783
  :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).
771
784
  :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).
772
785
  :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).
@@ -782,11 +795,74 @@ class Database(pulumi.CustomResource):
782
795
  args: Optional[DatabaseArgs] = None,
783
796
  opts: Optional[pulumi.ResourceOptions] = None):
784
797
  """
785
- ## Import
786
-
787
- ```sh
788
- $ pulumi import snowflake:index/database:Database example 'database_name'
789
- ```
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
+ }
790
866
 
791
867
  :param str resource_name: The name of the resource.
792
868
  :param DatabaseArgs args: The arguments to use to populate this resource's properties.
@@ -807,7 +883,6 @@ class Database(pulumi.CustomResource):
807
883
  comment: Optional[pulumi.Input[str]] = None,
808
884
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
809
885
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
810
- drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
811
886
  enable_console_output: Optional[pulumi.Input[bool]] = None,
812
887
  external_volume: Optional[pulumi.Input[str]] = None,
813
888
  is_transient: Optional[pulumi.Input[bool]] = None,
@@ -816,7 +891,7 @@ class Database(pulumi.CustomResource):
816
891
  name: Optional[pulumi.Input[str]] = None,
817
892
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
818
893
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
819
- replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
894
+ replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
820
895
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
821
896
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
822
897
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -837,7 +912,6 @@ class Database(pulumi.CustomResource):
837
912
  __props__.__dict__["comment"] = comment
838
913
  __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
839
914
  __props__.__dict__["default_ddl_collation"] = default_ddl_collation
840
- __props__.__dict__["drop_public_schema_on_creation"] = drop_public_schema_on_creation
841
915
  __props__.__dict__["enable_console_output"] = enable_console_output
842
916
  __props__.__dict__["external_volume"] = external_volume
843
917
  __props__.__dict__["is_transient"] = is_transient
@@ -854,7 +928,6 @@ class Database(pulumi.CustomResource):
854
928
  __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
855
929
  __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
856
930
  __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
857
- __props__.__dict__["fully_qualified_name"] = None
858
931
  super(Database, __self__).__init__(
859
932
  'snowflake:index/database:Database',
860
933
  resource_name,
@@ -869,17 +942,15 @@ class Database(pulumi.CustomResource):
869
942
  comment: Optional[pulumi.Input[str]] = None,
870
943
  data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
871
944
  default_ddl_collation: Optional[pulumi.Input[str]] = None,
872
- drop_public_schema_on_creation: Optional[pulumi.Input[bool]] = None,
873
945
  enable_console_output: Optional[pulumi.Input[bool]] = None,
874
946
  external_volume: Optional[pulumi.Input[str]] = None,
875
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
876
947
  is_transient: Optional[pulumi.Input[bool]] = None,
877
948
  log_level: Optional[pulumi.Input[str]] = None,
878
949
  max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
879
950
  name: Optional[pulumi.Input[str]] = None,
880
951
  quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
881
952
  replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
882
- replication: Optional[pulumi.Input[Union['DatabaseReplicationArgs', 'DatabaseReplicationArgsDict']]] = None,
953
+ replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
883
954
  storage_serialization_policy: Optional[pulumi.Input[str]] = None,
884
955
  suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
885
956
  task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
@@ -898,17 +969,15 @@ class Database(pulumi.CustomResource):
898
969
  :param pulumi.Input[str] comment: Specifies a comment for the database.
899
970
  :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).
900
971
  :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.
902
972
  :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
903
973
  :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).
905
974
  :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.
906
975
  :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).
907
976
  :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).
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: `|`, `.`, `(`, `)`, `"`
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.
909
978
  :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).
910
979
  :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).
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.
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.
912
981
  :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).
913
982
  :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).
914
983
  :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).
@@ -925,10 +994,8 @@ class Database(pulumi.CustomResource):
925
994
  __props__.__dict__["comment"] = comment
926
995
  __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
927
996
  __props__.__dict__["default_ddl_collation"] = default_ddl_collation
928
- __props__.__dict__["drop_public_schema_on_creation"] = drop_public_schema_on_creation
929
997
  __props__.__dict__["enable_console_output"] = enable_console_output
930
998
  __props__.__dict__["external_volume"] = external_volume
931
- __props__.__dict__["fully_qualified_name"] = fully_qualified_name
932
999
  __props__.__dict__["is_transient"] = is_transient
933
1000
  __props__.__dict__["log_level"] = log_level
934
1001
  __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
@@ -977,14 +1044,6 @@ class Database(pulumi.CustomResource):
977
1044
  """
978
1045
  return pulumi.get(self, "default_ddl_collation")
979
1046
 
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
-
988
1047
  @property
989
1048
  @pulumi.getter(name="enableConsoleOutput")
990
1049
  def enable_console_output(self) -> pulumi.Output[bool]:
@@ -1001,14 +1060,6 @@ class Database(pulumi.CustomResource):
1001
1060
  """
1002
1061
  return pulumi.get(self, "external_volume")
1003
1062
 
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
-
1012
1063
  @property
1013
1064
  @pulumi.getter(name="isTransient")
1014
1065
  def is_transient(self) -> pulumi.Output[Optional[bool]]:
@@ -1037,7 +1088,7 @@ class Database(pulumi.CustomResource):
1037
1088
  @pulumi.getter
1038
1089
  def name(self) -> pulumi.Output[str]:
1039
1090
  """
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: `|`, `.`, `(`, `)`, `"`
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.
1041
1092
  """
1042
1093
  return pulumi.get(self, "name")
1043
1094
 
@@ -297,9 +297,45 @@ 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[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None,
300
+ replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = 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
+
303
339
  ## Import
304
340
 
305
341
  ```sh
@@ -315,7 +351,7 @@ class DatabaseOld(pulumi.CustomResource):
315
351
  :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.
316
352
  :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.
317
353
  :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account.
318
- :param pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']] replication_configuration: When set, specifies the configurations for database replication.
354
+ :param pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']] replication_configuration: When set, specifies the configurations for database replication.
319
355
  """
320
356
  ...
321
357
  @overload
@@ -324,6 +360,42 @@ class DatabaseOld(pulumi.CustomResource):
324
360
  args: Optional[DatabaseOldArgs] = None,
325
361
  opts: Optional[pulumi.ResourceOptions] = None):
326
362
  """
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
+
327
399
  ## Import
328
400
 
329
401
  ```sh
@@ -352,7 +424,7 @@ class DatabaseOld(pulumi.CustomResource):
352
424
  from_share: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
353
425
  is_transient: Optional[pulumi.Input[bool]] = None,
354
426
  name: Optional[pulumi.Input[str]] = None,
355
- replication_configuration: Optional[pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None,
427
+ replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = None,
356
428
  __props__=None):
357
429
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
358
430
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -387,7 +459,7 @@ class DatabaseOld(pulumi.CustomResource):
387
459
  from_share: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
388
460
  is_transient: Optional[pulumi.Input[bool]] = None,
389
461
  name: Optional[pulumi.Input[str]] = None,
390
- replication_configuration: Optional[pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']]] = None) -> 'DatabaseOld':
462
+ replication_configuration: Optional[pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']]] = None) -> 'DatabaseOld':
391
463
  """
392
464
  Get an existing DatabaseOld resource's state with the given name, id, and optional extra
393
465
  properties used to qualify the lookup.
@@ -402,7 +474,7 @@ class DatabaseOld(pulumi.CustomResource):
402
474
  :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.
403
475
  :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.
404
476
  :param pulumi.Input[str] name: Specifies the identifier for the database; must be unique for your account.
405
- :param pulumi.Input[Union['DatabaseOldReplicationConfigurationArgs', 'DatabaseOldReplicationConfigurationArgsDict']] replication_configuration: When set, specifies the configurations for database replication.
477
+ :param pulumi.Input[pulumi.InputType['DatabaseOldReplicationConfigurationArgs']] replication_configuration: When set, specifies the configurations for database replication.
406
478
  """
407
479
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
408
480