pulumi-snowflake 0.50.2a1709892015__py3-none-any.whl → 1.2.0a1736835738__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52854 -1662
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -214
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -44
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -28
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -43
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +35 -50
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -209
  20. pulumi_snowflake/database_role.py +81 -40
  21. pulumi_snowflake/dynamic_table.py +44 -47
  22. pulumi_snowflake/email_notification_integration.py +35 -26
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -139
  24. pulumi_snowflake/external_function.py +54 -71
  25. pulumi_snowflake/external_oauth_integration.py +593 -538
  26. pulumi_snowflake/external_table.py +67 -86
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +59 -96
  29. pulumi_snowflake/file_format.py +33 -24
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -5
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -9
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -5
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -43
  45. pulumi_snowflake/get_databases.py +91 -69
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -5
  48. pulumi_snowflake/get_external_tables.py +28 -5
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -5
  51. pulumi_snowflake/get_functions.py +28 -5
  52. pulumi_snowflake/get_grants.py +207 -80
  53. pulumi_snowflake/get_masking_policies.py +91 -47
  54. pulumi_snowflake/get_materialized_views.py +28 -5
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -11
  57. pulumi_snowflake/get_pipes.py +28 -5
  58. pulumi_snowflake/get_procedures.py +28 -5
  59. pulumi_snowflake/get_resource_monitors.py +37 -20
  60. pulumi_snowflake/get_row_access_policies.py +91 -47
  61. pulumi_snowflake/get_schemas.py +145 -37
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -5
  65. pulumi_snowflake/get_shares.py +18 -5
  66. pulumi_snowflake/get_stages.py +28 -5
  67. pulumi_snowflake/get_storage_integrations.py +16 -5
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -50
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -5
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +121 -6
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -5
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -50
  77. pulumi_snowflake/get_users.py +116 -40
  78. pulumi_snowflake/get_views.py +114 -50
  79. pulumi_snowflake/get_warehouses.py +79 -22
  80. pulumi_snowflake/grant_account_role.py +28 -61
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -108
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -223
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +42 -9
  89. pulumi_snowflake/masking_policy.py +213 -306
  90. pulumi_snowflake/materialized_view.py +62 -67
  91. pulumi_snowflake/network_policy.py +217 -57
  92. pulumi_snowflake/network_policy_attachment.py +7 -32
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +51 -82
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -188
  97. pulumi_snowflake/object_parameter.py +12 -99
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -0
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -323
  110. pulumi_snowflake/row_access_policy.py +200 -145
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -295
  112. pulumi_snowflake/schema.py +949 -174
  113. pulumi_snowflake/scim_integration.py +286 -105
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -30
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +35 -26
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -80
  125. pulumi_snowflake/storage_integration.py +48 -2
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -93
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -168
  134. pulumi_snowflake/tag.py +142 -70
  135. pulumi_snowflake/tag_association.py +40 -211
  136. pulumi_snowflake/task.py +3048 -414
  137. pulumi_snowflake/user.py +3351 -380
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +7 -6
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -211
  142. pulumi_snowflake/warehouse.py +184 -164
  143. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -339
  147. pulumi_snowflake/database_grant.py +0 -491
  148. pulumi_snowflake/external_table_grant.py +0 -686
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -631
  151. pulumi_snowflake/function.py +0 -868
  152. pulumi_snowflake/function_grant.py +0 -741
  153. pulumi_snowflake/get_role.py +0 -117
  154. pulumi_snowflake/get_roles.py +0 -116
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -667
  156. pulumi_snowflake/integration_grant.py +0 -436
  157. pulumi_snowflake/masking_policy_grant.py +0 -538
  158. pulumi_snowflake/materialized_view_grant.py +0 -685
  159. pulumi_snowflake/pipe_grant.py +0 -583
  160. pulumi_snowflake/procedure.py +0 -883
  161. pulumi_snowflake/procedure_grant.py +0 -741
  162. pulumi_snowflake/resource_monitor_grant.py +0 -383
  163. pulumi_snowflake/role.py +0 -269
  164. pulumi_snowflake/role_grants.py +0 -348
  165. pulumi_snowflake/role_ownership_grant.py +0 -334
  166. pulumi_snowflake/row_access_policy_grant.py +0 -536
  167. pulumi_snowflake/schema_grant.py +0 -643
  168. pulumi_snowflake/sequence_grant.py +0 -631
  169. pulumi_snowflake/session_parameter.py +0 -328
  170. pulumi_snowflake/stage_grant.py +0 -631
  171. pulumi_snowflake/stream.py +0 -610
  172. pulumi_snowflake/stream_grant.py +0 -631
  173. pulumi_snowflake/table_grant.py +0 -673
  174. pulumi_snowflake/tag_grant.py +0 -528
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -631
  177. pulumi_snowflake/user_grant.py +0 -390
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -701
  180. pulumi_snowflake/warehouse_grant.py +0 -436
  181. pulumi_snowflake-0.50.2a1709892015.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.2a1709892015.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1080 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['SecondaryDatabaseArgs', 'SecondaryDatabase']
18
+
19
+ @pulumi.input_type
20
+ class SecondaryDatabaseArgs:
21
+ def __init__(__self__, *,
22
+ as_replica_of: pulumi.Input[str],
23
+ catalog: Optional[pulumi.Input[str]] = None,
24
+ comment: Optional[pulumi.Input[str]] = None,
25
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
26
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
27
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
28
+ external_volume: Optional[pulumi.Input[str]] = None,
29
+ is_transient: Optional[pulumi.Input[bool]] = None,
30
+ log_level: Optional[pulumi.Input[str]] = None,
31
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
32
+ name: Optional[pulumi.Input[str]] = None,
33
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
34
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
35
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
36
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
37
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
38
+ trace_level: Optional[pulumi.Input[str]] = None,
39
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
40
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
41
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None):
42
+ """
43
+ The set of arguments for constructing a SecondaryDatabase resource.
44
+ :param pulumi.Input[str] as_replica_of: A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
45
+ :param pulumi.Input[str] catalog: The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
46
+ :param pulumi.Input[str] comment: Specifies a comment for the database.
47
+ :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).
48
+ :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).
49
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
50
+ :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).
51
+ :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.
52
+ :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).
53
+ :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).
54
+ :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: `|`, `.`, `"`.
55
+ :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).
56
+ :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).
57
+ :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).
58
+ :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).
59
+ :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).
60
+ :param pulumi.Input[str] trace_level: Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
61
+ :param pulumi.Input[str] user_task_managed_initial_warehouse_size: The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
62
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
63
+ :param pulumi.Input[int] user_task_timeout_ms: User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
64
+ """
65
+ pulumi.set(__self__, "as_replica_of", as_replica_of)
66
+ if catalog is not None:
67
+ pulumi.set(__self__, "catalog", catalog)
68
+ if comment is not None:
69
+ pulumi.set(__self__, "comment", comment)
70
+ if data_retention_time_in_days is not None:
71
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
72
+ if default_ddl_collation is not None:
73
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
74
+ if enable_console_output is not None:
75
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
76
+ if external_volume is not None:
77
+ pulumi.set(__self__, "external_volume", external_volume)
78
+ if is_transient is not None:
79
+ pulumi.set(__self__, "is_transient", is_transient)
80
+ if log_level is not None:
81
+ pulumi.set(__self__, "log_level", log_level)
82
+ if max_data_extension_time_in_days is not None:
83
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
84
+ if name is not None:
85
+ pulumi.set(__self__, "name", name)
86
+ if quoted_identifiers_ignore_case is not None:
87
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
88
+ if replace_invalid_characters is not None:
89
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
90
+ if storage_serialization_policy is not None:
91
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
92
+ if suspend_task_after_num_failures is not None:
93
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
94
+ if task_auto_retry_attempts is not None:
95
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
96
+ if trace_level is not None:
97
+ pulumi.set(__self__, "trace_level", trace_level)
98
+ if user_task_managed_initial_warehouse_size is not None:
99
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
100
+ if user_task_minimum_trigger_interval_in_seconds is not None:
101
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
102
+ if user_task_timeout_ms is not None:
103
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
104
+
105
+ @property
106
+ @pulumi.getter(name="asReplicaOf")
107
+ def as_replica_of(self) -> pulumi.Input[str]:
108
+ """
109
+ A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
110
+ """
111
+ return pulumi.get(self, "as_replica_of")
112
+
113
+ @as_replica_of.setter
114
+ def as_replica_of(self, value: pulumi.Input[str]):
115
+ pulumi.set(self, "as_replica_of", value)
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def catalog(self) -> Optional[pulumi.Input[str]]:
120
+ """
121
+ The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
122
+ """
123
+ return pulumi.get(self, "catalog")
124
+
125
+ @catalog.setter
126
+ def catalog(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "catalog", value)
128
+
129
+ @property
130
+ @pulumi.getter
131
+ def comment(self) -> Optional[pulumi.Input[str]]:
132
+ """
133
+ Specifies a comment for the database.
134
+ """
135
+ return pulumi.get(self, "comment")
136
+
137
+ @comment.setter
138
+ def comment(self, value: Optional[pulumi.Input[str]]):
139
+ pulumi.set(self, "comment", value)
140
+
141
+ @property
142
+ @pulumi.getter(name="dataRetentionTimeInDays")
143
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
144
+ """
145
+ 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).
146
+ """
147
+ return pulumi.get(self, "data_retention_time_in_days")
148
+
149
+ @data_retention_time_in_days.setter
150
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
151
+ pulumi.set(self, "data_retention_time_in_days", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="defaultDdlCollation")
155
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
156
+ """
157
+ 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).
158
+ """
159
+ return pulumi.get(self, "default_ddl_collation")
160
+
161
+ @default_ddl_collation.setter
162
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
163
+ pulumi.set(self, "default_ddl_collation", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="enableConsoleOutput")
167
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
168
+ """
169
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
170
+ """
171
+ return pulumi.get(self, "enable_console_output")
172
+
173
+ @enable_console_output.setter
174
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
175
+ pulumi.set(self, "enable_console_output", value)
176
+
177
+ @property
178
+ @pulumi.getter(name="externalVolume")
179
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
180
+ """
181
+ 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).
182
+ """
183
+ return pulumi.get(self, "external_volume")
184
+
185
+ @external_volume.setter
186
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
187
+ pulumi.set(self, "external_volume", value)
188
+
189
+ @property
190
+ @pulumi.getter(name="isTransient")
191
+ def is_transient(self) -> Optional[pulumi.Input[bool]]:
192
+ """
193
+ 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.
194
+ """
195
+ return pulumi.get(self, "is_transient")
196
+
197
+ @is_transient.setter
198
+ def is_transient(self, value: Optional[pulumi.Input[bool]]):
199
+ pulumi.set(self, "is_transient", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="logLevel")
203
+ def log_level(self) -> Optional[pulumi.Input[str]]:
204
+ """
205
+ 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).
206
+ """
207
+ return pulumi.get(self, "log_level")
208
+
209
+ @log_level.setter
210
+ def log_level(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "log_level", value)
212
+
213
+ @property
214
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
215
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
216
+ """
217
+ 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).
218
+ """
219
+ return pulumi.get(self, "max_data_extension_time_in_days")
220
+
221
+ @max_data_extension_time_in_days.setter
222
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
223
+ pulumi.set(self, "max_data_extension_time_in_days", value)
224
+
225
+ @property
226
+ @pulumi.getter
227
+ def name(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ 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: `|`, `.`, `"`.
230
+ """
231
+ return pulumi.get(self, "name")
232
+
233
+ @name.setter
234
+ def name(self, value: Optional[pulumi.Input[str]]):
235
+ pulumi.set(self, "name", value)
236
+
237
+ @property
238
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
239
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
240
+ """
241
+ 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).
242
+ """
243
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
244
+
245
+ @quoted_identifiers_ignore_case.setter
246
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
247
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
248
+
249
+ @property
250
+ @pulumi.getter(name="replaceInvalidCharacters")
251
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
252
+ """
253
+ 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).
254
+ """
255
+ return pulumi.get(self, "replace_invalid_characters")
256
+
257
+ @replace_invalid_characters.setter
258
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
259
+ pulumi.set(self, "replace_invalid_characters", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="storageSerializationPolicy")
263
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
264
+ """
265
+ 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).
266
+ """
267
+ return pulumi.get(self, "storage_serialization_policy")
268
+
269
+ @storage_serialization_policy.setter
270
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
271
+ pulumi.set(self, "storage_serialization_policy", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
275
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
276
+ """
277
+ 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).
278
+ """
279
+ return pulumi.get(self, "suspend_task_after_num_failures")
280
+
281
+ @suspend_task_after_num_failures.setter
282
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
283
+ pulumi.set(self, "suspend_task_after_num_failures", value)
284
+
285
+ @property
286
+ @pulumi.getter(name="taskAutoRetryAttempts")
287
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
288
+ """
289
+ 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).
290
+ """
291
+ return pulumi.get(self, "task_auto_retry_attempts")
292
+
293
+ @task_auto_retry_attempts.setter
294
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
295
+ pulumi.set(self, "task_auto_retry_attempts", value)
296
+
297
+ @property
298
+ @pulumi.getter(name="traceLevel")
299
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
300
+ """
301
+ Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
302
+ """
303
+ return pulumi.get(self, "trace_level")
304
+
305
+ @trace_level.setter
306
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "trace_level", value)
308
+
309
+ @property
310
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
311
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
312
+ """
313
+ The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
314
+ """
315
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
316
+
317
+ @user_task_managed_initial_warehouse_size.setter
318
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
319
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
320
+
321
+ @property
322
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
323
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
324
+ """
325
+ Minimum amount of time between Triggered Task executions in seconds.
326
+ """
327
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
328
+
329
+ @user_task_minimum_trigger_interval_in_seconds.setter
330
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
331
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
332
+
333
+ @property
334
+ @pulumi.getter(name="userTaskTimeoutMs")
335
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
336
+ """
337
+ User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
338
+ """
339
+ return pulumi.get(self, "user_task_timeout_ms")
340
+
341
+ @user_task_timeout_ms.setter
342
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
343
+ pulumi.set(self, "user_task_timeout_ms", value)
344
+
345
+
346
+ @pulumi.input_type
347
+ class _SecondaryDatabaseState:
348
+ def __init__(__self__, *,
349
+ as_replica_of: Optional[pulumi.Input[str]] = None,
350
+ catalog: Optional[pulumi.Input[str]] = None,
351
+ comment: Optional[pulumi.Input[str]] = None,
352
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
353
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
354
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
355
+ external_volume: Optional[pulumi.Input[str]] = None,
356
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
357
+ is_transient: Optional[pulumi.Input[bool]] = None,
358
+ log_level: Optional[pulumi.Input[str]] = None,
359
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
360
+ name: Optional[pulumi.Input[str]] = None,
361
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
362
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
363
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
364
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
365
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
366
+ trace_level: Optional[pulumi.Input[str]] = None,
367
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
368
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
369
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None):
370
+ """
371
+ Input properties used for looking up and filtering SecondaryDatabase resources.
372
+ :param pulumi.Input[str] as_replica_of: A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
373
+ :param pulumi.Input[str] catalog: The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
374
+ :param pulumi.Input[str] comment: Specifies a comment for the database.
375
+ :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).
376
+ :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).
377
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
378
+ :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).
379
+ :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).
380
+ :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.
381
+ :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).
382
+ :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).
383
+ :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: `|`, `.`, `"`.
384
+ :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).
385
+ :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).
386
+ :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).
387
+ :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).
388
+ :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).
389
+ :param pulumi.Input[str] trace_level: Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
390
+ :param pulumi.Input[str] user_task_managed_initial_warehouse_size: The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
391
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
392
+ :param pulumi.Input[int] user_task_timeout_ms: User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
393
+ """
394
+ if as_replica_of is not None:
395
+ pulumi.set(__self__, "as_replica_of", as_replica_of)
396
+ if catalog is not None:
397
+ pulumi.set(__self__, "catalog", catalog)
398
+ if comment is not None:
399
+ pulumi.set(__self__, "comment", comment)
400
+ if data_retention_time_in_days is not None:
401
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
402
+ if default_ddl_collation is not None:
403
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
404
+ if enable_console_output is not None:
405
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
406
+ if external_volume is not None:
407
+ pulumi.set(__self__, "external_volume", external_volume)
408
+ if fully_qualified_name is not None:
409
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
410
+ if is_transient is not None:
411
+ pulumi.set(__self__, "is_transient", is_transient)
412
+ if log_level is not None:
413
+ pulumi.set(__self__, "log_level", log_level)
414
+ if max_data_extension_time_in_days is not None:
415
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
416
+ if name is not None:
417
+ pulumi.set(__self__, "name", name)
418
+ if quoted_identifiers_ignore_case is not None:
419
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
420
+ if replace_invalid_characters is not None:
421
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
422
+ if storage_serialization_policy is not None:
423
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
424
+ if suspend_task_after_num_failures is not None:
425
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
426
+ if task_auto_retry_attempts is not None:
427
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
428
+ if trace_level is not None:
429
+ pulumi.set(__self__, "trace_level", trace_level)
430
+ if user_task_managed_initial_warehouse_size is not None:
431
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
432
+ if user_task_minimum_trigger_interval_in_seconds is not None:
433
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
434
+ if user_task_timeout_ms is not None:
435
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
436
+
437
+ @property
438
+ @pulumi.getter(name="asReplicaOf")
439
+ def as_replica_of(self) -> Optional[pulumi.Input[str]]:
440
+ """
441
+ A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
442
+ """
443
+ return pulumi.get(self, "as_replica_of")
444
+
445
+ @as_replica_of.setter
446
+ def as_replica_of(self, value: Optional[pulumi.Input[str]]):
447
+ pulumi.set(self, "as_replica_of", value)
448
+
449
+ @property
450
+ @pulumi.getter
451
+ def catalog(self) -> Optional[pulumi.Input[str]]:
452
+ """
453
+ The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
454
+ """
455
+ return pulumi.get(self, "catalog")
456
+
457
+ @catalog.setter
458
+ def catalog(self, value: Optional[pulumi.Input[str]]):
459
+ pulumi.set(self, "catalog", value)
460
+
461
+ @property
462
+ @pulumi.getter
463
+ def comment(self) -> Optional[pulumi.Input[str]]:
464
+ """
465
+ Specifies a comment for the database.
466
+ """
467
+ return pulumi.get(self, "comment")
468
+
469
+ @comment.setter
470
+ def comment(self, value: Optional[pulumi.Input[str]]):
471
+ pulumi.set(self, "comment", value)
472
+
473
+ @property
474
+ @pulumi.getter(name="dataRetentionTimeInDays")
475
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
476
+ """
477
+ 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).
478
+ """
479
+ return pulumi.get(self, "data_retention_time_in_days")
480
+
481
+ @data_retention_time_in_days.setter
482
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
483
+ pulumi.set(self, "data_retention_time_in_days", value)
484
+
485
+ @property
486
+ @pulumi.getter(name="defaultDdlCollation")
487
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
488
+ """
489
+ 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).
490
+ """
491
+ return pulumi.get(self, "default_ddl_collation")
492
+
493
+ @default_ddl_collation.setter
494
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
495
+ pulumi.set(self, "default_ddl_collation", value)
496
+
497
+ @property
498
+ @pulumi.getter(name="enableConsoleOutput")
499
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
500
+ """
501
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
502
+ """
503
+ return pulumi.get(self, "enable_console_output")
504
+
505
+ @enable_console_output.setter
506
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
507
+ pulumi.set(self, "enable_console_output", value)
508
+
509
+ @property
510
+ @pulumi.getter(name="externalVolume")
511
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
512
+ """
513
+ 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).
514
+ """
515
+ return pulumi.get(self, "external_volume")
516
+
517
+ @external_volume.setter
518
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
519
+ pulumi.set(self, "external_volume", value)
520
+
521
+ @property
522
+ @pulumi.getter(name="fullyQualifiedName")
523
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
524
+ """
525
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
526
+ """
527
+ return pulumi.get(self, "fully_qualified_name")
528
+
529
+ @fully_qualified_name.setter
530
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
531
+ pulumi.set(self, "fully_qualified_name", value)
532
+
533
+ @property
534
+ @pulumi.getter(name="isTransient")
535
+ def is_transient(self) -> Optional[pulumi.Input[bool]]:
536
+ """
537
+ 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.
538
+ """
539
+ return pulumi.get(self, "is_transient")
540
+
541
+ @is_transient.setter
542
+ def is_transient(self, value: Optional[pulumi.Input[bool]]):
543
+ pulumi.set(self, "is_transient", value)
544
+
545
+ @property
546
+ @pulumi.getter(name="logLevel")
547
+ def log_level(self) -> Optional[pulumi.Input[str]]:
548
+ """
549
+ 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).
550
+ """
551
+ return pulumi.get(self, "log_level")
552
+
553
+ @log_level.setter
554
+ def log_level(self, value: Optional[pulumi.Input[str]]):
555
+ pulumi.set(self, "log_level", value)
556
+
557
+ @property
558
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
559
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
560
+ """
561
+ 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).
562
+ """
563
+ return pulumi.get(self, "max_data_extension_time_in_days")
564
+
565
+ @max_data_extension_time_in_days.setter
566
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
567
+ pulumi.set(self, "max_data_extension_time_in_days", value)
568
+
569
+ @property
570
+ @pulumi.getter
571
+ def name(self) -> Optional[pulumi.Input[str]]:
572
+ """
573
+ 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: `|`, `.`, `"`.
574
+ """
575
+ return pulumi.get(self, "name")
576
+
577
+ @name.setter
578
+ def name(self, value: Optional[pulumi.Input[str]]):
579
+ pulumi.set(self, "name", value)
580
+
581
+ @property
582
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
583
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
584
+ """
585
+ 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).
586
+ """
587
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
588
+
589
+ @quoted_identifiers_ignore_case.setter
590
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
591
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
592
+
593
+ @property
594
+ @pulumi.getter(name="replaceInvalidCharacters")
595
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
596
+ """
597
+ 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).
598
+ """
599
+ return pulumi.get(self, "replace_invalid_characters")
600
+
601
+ @replace_invalid_characters.setter
602
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
603
+ pulumi.set(self, "replace_invalid_characters", value)
604
+
605
+ @property
606
+ @pulumi.getter(name="storageSerializationPolicy")
607
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
608
+ """
609
+ 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).
610
+ """
611
+ return pulumi.get(self, "storage_serialization_policy")
612
+
613
+ @storage_serialization_policy.setter
614
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
615
+ pulumi.set(self, "storage_serialization_policy", value)
616
+
617
+ @property
618
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
619
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
620
+ """
621
+ 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).
622
+ """
623
+ return pulumi.get(self, "suspend_task_after_num_failures")
624
+
625
+ @suspend_task_after_num_failures.setter
626
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
627
+ pulumi.set(self, "suspend_task_after_num_failures", value)
628
+
629
+ @property
630
+ @pulumi.getter(name="taskAutoRetryAttempts")
631
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
632
+ """
633
+ 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).
634
+ """
635
+ return pulumi.get(self, "task_auto_retry_attempts")
636
+
637
+ @task_auto_retry_attempts.setter
638
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
639
+ pulumi.set(self, "task_auto_retry_attempts", value)
640
+
641
+ @property
642
+ @pulumi.getter(name="traceLevel")
643
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
644
+ """
645
+ Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
646
+ """
647
+ return pulumi.get(self, "trace_level")
648
+
649
+ @trace_level.setter
650
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
651
+ pulumi.set(self, "trace_level", value)
652
+
653
+ @property
654
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
655
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
656
+ """
657
+ The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
658
+ """
659
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
660
+
661
+ @user_task_managed_initial_warehouse_size.setter
662
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
663
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
664
+
665
+ @property
666
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
667
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
668
+ """
669
+ Minimum amount of time between Triggered Task executions in seconds.
670
+ """
671
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
672
+
673
+ @user_task_minimum_trigger_interval_in_seconds.setter
674
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
675
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
676
+
677
+ @property
678
+ @pulumi.getter(name="userTaskTimeoutMs")
679
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
680
+ """
681
+ User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
682
+ """
683
+ return pulumi.get(self, "user_task_timeout_ms")
684
+
685
+ @user_task_timeout_ms.setter
686
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
687
+ pulumi.set(self, "user_task_timeout_ms", value)
688
+
689
+
690
+ class SecondaryDatabase(pulumi.CustomResource):
691
+ @overload
692
+ def __init__(__self__,
693
+ resource_name: str,
694
+ opts: Optional[pulumi.ResourceOptions] = None,
695
+ as_replica_of: Optional[pulumi.Input[str]] = None,
696
+ catalog: Optional[pulumi.Input[str]] = None,
697
+ comment: Optional[pulumi.Input[str]] = None,
698
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
699
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
700
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
701
+ external_volume: Optional[pulumi.Input[str]] = None,
702
+ is_transient: Optional[pulumi.Input[bool]] = None,
703
+ log_level: Optional[pulumi.Input[str]] = None,
704
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
705
+ name: Optional[pulumi.Input[str]] = None,
706
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
707
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
708
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
709
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
710
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
711
+ trace_level: Optional[pulumi.Input[str]] = None,
712
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
713
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
714
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
715
+ __props__=None):
716
+ """
717
+ ## Import
718
+
719
+ ```sh
720
+ $ pulumi import snowflake:index/secondaryDatabase:SecondaryDatabase example '"<secondary_database_name>"'
721
+ ```
722
+
723
+ :param str resource_name: The name of the resource.
724
+ :param pulumi.ResourceOptions opts: Options for the resource.
725
+ :param pulumi.Input[str] as_replica_of: A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
726
+ :param pulumi.Input[str] catalog: The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
727
+ :param pulumi.Input[str] comment: Specifies a comment for the database.
728
+ :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).
729
+ :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).
730
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
731
+ :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).
732
+ :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.
733
+ :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).
734
+ :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).
735
+ :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: `|`, `.`, `"`.
736
+ :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).
737
+ :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).
738
+ :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).
739
+ :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).
740
+ :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).
741
+ :param pulumi.Input[str] trace_level: Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
742
+ :param pulumi.Input[str] user_task_managed_initial_warehouse_size: The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
743
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
744
+ :param pulumi.Input[int] user_task_timeout_ms: User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
745
+ """
746
+ ...
747
+ @overload
748
+ def __init__(__self__,
749
+ resource_name: str,
750
+ args: SecondaryDatabaseArgs,
751
+ opts: Optional[pulumi.ResourceOptions] = None):
752
+ """
753
+ ## Import
754
+
755
+ ```sh
756
+ $ pulumi import snowflake:index/secondaryDatabase:SecondaryDatabase example '"<secondary_database_name>"'
757
+ ```
758
+
759
+ :param str resource_name: The name of the resource.
760
+ :param SecondaryDatabaseArgs args: The arguments to use to populate this resource's properties.
761
+ :param pulumi.ResourceOptions opts: Options for the resource.
762
+ """
763
+ ...
764
+ def __init__(__self__, resource_name: str, *args, **kwargs):
765
+ resource_args, opts = _utilities.get_resource_args_opts(SecondaryDatabaseArgs, pulumi.ResourceOptions, *args, **kwargs)
766
+ if resource_args is not None:
767
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
768
+ else:
769
+ __self__._internal_init(resource_name, *args, **kwargs)
770
+
771
+ def _internal_init(__self__,
772
+ resource_name: str,
773
+ opts: Optional[pulumi.ResourceOptions] = None,
774
+ as_replica_of: Optional[pulumi.Input[str]] = None,
775
+ catalog: Optional[pulumi.Input[str]] = None,
776
+ comment: Optional[pulumi.Input[str]] = None,
777
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
778
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
779
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
780
+ external_volume: Optional[pulumi.Input[str]] = None,
781
+ is_transient: Optional[pulumi.Input[bool]] = None,
782
+ log_level: Optional[pulumi.Input[str]] = None,
783
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
784
+ name: Optional[pulumi.Input[str]] = None,
785
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
786
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
787
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
788
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
789
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
790
+ trace_level: Optional[pulumi.Input[str]] = None,
791
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
792
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
793
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
794
+ __props__=None):
795
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
796
+ if not isinstance(opts, pulumi.ResourceOptions):
797
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
798
+ if opts.id is None:
799
+ if __props__ is not None:
800
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
801
+ __props__ = SecondaryDatabaseArgs.__new__(SecondaryDatabaseArgs)
802
+
803
+ if as_replica_of is None and not opts.urn:
804
+ raise TypeError("Missing required property 'as_replica_of'")
805
+ __props__.__dict__["as_replica_of"] = as_replica_of
806
+ __props__.__dict__["catalog"] = catalog
807
+ __props__.__dict__["comment"] = comment
808
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
809
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
810
+ __props__.__dict__["enable_console_output"] = enable_console_output
811
+ __props__.__dict__["external_volume"] = external_volume
812
+ __props__.__dict__["is_transient"] = is_transient
813
+ __props__.__dict__["log_level"] = log_level
814
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
815
+ __props__.__dict__["name"] = name
816
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
817
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
818
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
819
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
820
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
821
+ __props__.__dict__["trace_level"] = trace_level
822
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
823
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
824
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
825
+ __props__.__dict__["fully_qualified_name"] = None
826
+ super(SecondaryDatabase, __self__).__init__(
827
+ 'snowflake:index/secondaryDatabase:SecondaryDatabase',
828
+ resource_name,
829
+ __props__,
830
+ opts)
831
+
832
+ @staticmethod
833
+ def get(resource_name: str,
834
+ id: pulumi.Input[str],
835
+ opts: Optional[pulumi.ResourceOptions] = None,
836
+ as_replica_of: Optional[pulumi.Input[str]] = None,
837
+ catalog: Optional[pulumi.Input[str]] = None,
838
+ comment: Optional[pulumi.Input[str]] = None,
839
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
840
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
841
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
842
+ external_volume: Optional[pulumi.Input[str]] = None,
843
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
844
+ is_transient: Optional[pulumi.Input[bool]] = None,
845
+ log_level: Optional[pulumi.Input[str]] = None,
846
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
847
+ name: Optional[pulumi.Input[str]] = None,
848
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
849
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
850
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
851
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
852
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
853
+ trace_level: Optional[pulumi.Input[str]] = None,
854
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
855
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
856
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None) -> 'SecondaryDatabase':
857
+ """
858
+ Get an existing SecondaryDatabase resource's state with the given name, id, and optional extra
859
+ properties used to qualify the lookup.
860
+
861
+ :param str resource_name: The unique name of the resulting resource.
862
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
863
+ :param pulumi.ResourceOptions opts: Options for the resource.
864
+ :param pulumi.Input[str] as_replica_of: A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
865
+ :param pulumi.Input[str] catalog: The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
866
+ :param pulumi.Input[str] comment: Specifies a comment for the database.
867
+ :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).
868
+ :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).
869
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
870
+ :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).
871
+ :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).
872
+ :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.
873
+ :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).
874
+ :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).
875
+ :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: `|`, `.`, `"`.
876
+ :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).
877
+ :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).
878
+ :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).
879
+ :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).
880
+ :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).
881
+ :param pulumi.Input[str] trace_level: Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
882
+ :param pulumi.Input[str] user_task_managed_initial_warehouse_size: The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
883
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
884
+ :param pulumi.Input[int] user_task_timeout_ms: User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
885
+ """
886
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
887
+
888
+ __props__ = _SecondaryDatabaseState.__new__(_SecondaryDatabaseState)
889
+
890
+ __props__.__dict__["as_replica_of"] = as_replica_of
891
+ __props__.__dict__["catalog"] = catalog
892
+ __props__.__dict__["comment"] = comment
893
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
894
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
895
+ __props__.__dict__["enable_console_output"] = enable_console_output
896
+ __props__.__dict__["external_volume"] = external_volume
897
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
898
+ __props__.__dict__["is_transient"] = is_transient
899
+ __props__.__dict__["log_level"] = log_level
900
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
901
+ __props__.__dict__["name"] = name
902
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
903
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
904
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
905
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
906
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
907
+ __props__.__dict__["trace_level"] = trace_level
908
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
909
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
910
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
911
+ return SecondaryDatabase(resource_name, opts=opts, __props__=__props__)
912
+
913
+ @property
914
+ @pulumi.getter(name="asReplicaOf")
915
+ def as_replica_of(self) -> pulumi.Output[str]:
916
+ """
917
+ A fully qualified path to a database to create a replica from. A fully qualified path follows the format of `"<organization_name>"."<account_name>"."<database_name>"`. For more information about this resource, see docs.
918
+ """
919
+ return pulumi.get(self, "as_replica_of")
920
+
921
+ @property
922
+ @pulumi.getter
923
+ def catalog(self) -> pulumi.Output[str]:
924
+ """
925
+ The database parameter that specifies the default catalog to use for Iceberg tables. For more information, see [CATALOG](https://docs.snowflake.com/en/sql-reference/parameters#catalog).
926
+ """
927
+ return pulumi.get(self, "catalog")
928
+
929
+ @property
930
+ @pulumi.getter
931
+ def comment(self) -> pulumi.Output[Optional[str]]:
932
+ """
933
+ Specifies a comment for the database.
934
+ """
935
+ return pulumi.get(self, "comment")
936
+
937
+ @property
938
+ @pulumi.getter(name="dataRetentionTimeInDays")
939
+ def data_retention_time_in_days(self) -> pulumi.Output[int]:
940
+ """
941
+ 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).
942
+ """
943
+ return pulumi.get(self, "data_retention_time_in_days")
944
+
945
+ @property
946
+ @pulumi.getter(name="defaultDdlCollation")
947
+ def default_ddl_collation(self) -> pulumi.Output[str]:
948
+ """
949
+ 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).
950
+ """
951
+ return pulumi.get(self, "default_ddl_collation")
952
+
953
+ @property
954
+ @pulumi.getter(name="enableConsoleOutput")
955
+ def enable_console_output(self) -> pulumi.Output[bool]:
956
+ """
957
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
958
+ """
959
+ return pulumi.get(self, "enable_console_output")
960
+
961
+ @property
962
+ @pulumi.getter(name="externalVolume")
963
+ def external_volume(self) -> pulumi.Output[str]:
964
+ """
965
+ 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).
966
+ """
967
+ return pulumi.get(self, "external_volume")
968
+
969
+ @property
970
+ @pulumi.getter(name="fullyQualifiedName")
971
+ def fully_qualified_name(self) -> pulumi.Output[str]:
972
+ """
973
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
974
+ """
975
+ return pulumi.get(self, "fully_qualified_name")
976
+
977
+ @property
978
+ @pulumi.getter(name="isTransient")
979
+ def is_transient(self) -> pulumi.Output[Optional[bool]]:
980
+ """
981
+ 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.
982
+ """
983
+ return pulumi.get(self, "is_transient")
984
+
985
+ @property
986
+ @pulumi.getter(name="logLevel")
987
+ def log_level(self) -> pulumi.Output[str]:
988
+ """
989
+ 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).
990
+ """
991
+ return pulumi.get(self, "log_level")
992
+
993
+ @property
994
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
995
+ def max_data_extension_time_in_days(self) -> pulumi.Output[int]:
996
+ """
997
+ 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).
998
+ """
999
+ return pulumi.get(self, "max_data_extension_time_in_days")
1000
+
1001
+ @property
1002
+ @pulumi.getter
1003
+ def name(self) -> pulumi.Output[str]:
1004
+ """
1005
+ 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: `|`, `.`, `"`.
1006
+ """
1007
+ return pulumi.get(self, "name")
1008
+
1009
+ @property
1010
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
1011
+ def quoted_identifiers_ignore_case(self) -> pulumi.Output[bool]:
1012
+ """
1013
+ 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).
1014
+ """
1015
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
1016
+
1017
+ @property
1018
+ @pulumi.getter(name="replaceInvalidCharacters")
1019
+ def replace_invalid_characters(self) -> pulumi.Output[bool]:
1020
+ """
1021
+ 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).
1022
+ """
1023
+ return pulumi.get(self, "replace_invalid_characters")
1024
+
1025
+ @property
1026
+ @pulumi.getter(name="storageSerializationPolicy")
1027
+ def storage_serialization_policy(self) -> pulumi.Output[str]:
1028
+ """
1029
+ 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).
1030
+ """
1031
+ return pulumi.get(self, "storage_serialization_policy")
1032
+
1033
+ @property
1034
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
1035
+ def suspend_task_after_num_failures(self) -> pulumi.Output[int]:
1036
+ """
1037
+ 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).
1038
+ """
1039
+ return pulumi.get(self, "suspend_task_after_num_failures")
1040
+
1041
+ @property
1042
+ @pulumi.getter(name="taskAutoRetryAttempts")
1043
+ def task_auto_retry_attempts(self) -> pulumi.Output[int]:
1044
+ """
1045
+ 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).
1046
+ """
1047
+ return pulumi.get(self, "task_auto_retry_attempts")
1048
+
1049
+ @property
1050
+ @pulumi.getter(name="traceLevel")
1051
+ def trace_level(self) -> pulumi.Output[str]:
1052
+ """
1053
+ Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
1054
+ """
1055
+ return pulumi.get(self, "trace_level")
1056
+
1057
+ @property
1058
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
1059
+ def user_task_managed_initial_warehouse_size(self) -> pulumi.Output[str]:
1060
+ """
1061
+ The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
1062
+ """
1063
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
1064
+
1065
+ @property
1066
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
1067
+ def user_task_minimum_trigger_interval_in_seconds(self) -> pulumi.Output[int]:
1068
+ """
1069
+ Minimum amount of time between Triggered Task executions in seconds.
1070
+ """
1071
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
1072
+
1073
+ @property
1074
+ @pulumi.getter(name="userTaskTimeoutMs")
1075
+ def user_task_timeout_ms(self) -> pulumi.Output[int]:
1076
+ """
1077
+ User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
1078
+ """
1079
+ return pulumi.get(self, "user_task_timeout_ms")
1080
+