pulumi-snowflake 0.56.0a1721327760__py3-none-any.whl → 0.57.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_snowflake/__init__.py +78 -209
- pulumi_snowflake/_inputs.py +12188 -1362
- pulumi_snowflake/_utilities.py +2 -0
- pulumi_snowflake/account_role.py +226 -0
- pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +692 -0
- pulumi_snowflake/api_authentication_integration_with_client_credentials.py +645 -0
- pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +680 -0
- pulumi_snowflake/cortex_search_service.py +563 -0
- pulumi_snowflake/database.py +854 -232
- pulumi_snowflake/database_old.py +556 -0
- pulumi_snowflake/external_oauth_integration.py +562 -534
- pulumi_snowflake/failover_group.py +2 -2
- pulumi_snowflake/get_cortex_search_services.py +197 -0
- pulumi_snowflake/get_databases.py +71 -62
- pulumi_snowflake/get_network_policies.py +122 -0
- pulumi_snowflake/get_roles.py +37 -31
- pulumi_snowflake/get_schemas.py +115 -38
- pulumi_snowflake/get_security_integrations.py +122 -0
- pulumi_snowflake/get_streamlits.py +159 -0
- pulumi_snowflake/get_warehouses.py +66 -18
- pulumi_snowflake/grant_privileges_to_database_role.py +0 -4
- pulumi_snowflake/managed_account.py +7 -7
- pulumi_snowflake/network_policy.py +103 -19
- pulumi_snowflake/oauth_integration.py +4 -0
- pulumi_snowflake/oauth_integration_for_custom_clients.py +940 -0
- pulumi_snowflake/oauth_integration_for_partner_applications.py +584 -0
- pulumi_snowflake/outputs.py +16178 -2927
- pulumi_snowflake/pulumi-plugin.json +1 -1
- pulumi_snowflake/role.py +44 -72
- pulumi_snowflake/saml2_integration.py +975 -0
- pulumi_snowflake/saml_integration.py +4 -0
- pulumi_snowflake/schema.py +905 -151
- pulumi_snowflake/scim_integration.py +257 -103
- pulumi_snowflake/secondary_database.py +1059 -0
- pulumi_snowflake/sequence.py +6 -6
- pulumi_snowflake/shared_database.py +914 -0
- pulumi_snowflake/streamlit.py +650 -0
- pulumi_snowflake/table.py +0 -120
- pulumi_snowflake/table_constraint.py +2 -2
- pulumi_snowflake/tag_association.py +38 -38
- pulumi_snowflake/unsafe_execute.py +8 -8
- pulumi_snowflake/user_password_policy_attachment.py +32 -0
- pulumi_snowflake/warehouse.py +143 -120
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/METADATA +1 -1
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/RECORD +47 -58
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/WHEEL +1 -1
- pulumi_snowflake/account_grant.py +0 -319
- pulumi_snowflake/database_grant.py +0 -471
- pulumi_snowflake/external_table_grant.py +0 -666
- pulumi_snowflake/failover_group_grant.py +0 -368
- pulumi_snowflake/file_format_grant.py +0 -611
- pulumi_snowflake/function_grant.py +0 -721
- pulumi_snowflake/grant_privileges_to_role.py +0 -821
- pulumi_snowflake/integration_grant.py +0 -416
- pulumi_snowflake/masking_policy_grant.py +0 -518
- pulumi_snowflake/materialized_view_grant.py +0 -665
- pulumi_snowflake/pipe_grant.py +0 -563
- pulumi_snowflake/procedure_grant.py +0 -721
- pulumi_snowflake/resource_monitor_grant.py +0 -363
- pulumi_snowflake/role_grants.py +0 -340
- pulumi_snowflake/role_ownership_grant.py +0 -329
- pulumi_snowflake/row_access_policy_grant.py +0 -516
- pulumi_snowflake/schema_grant.py +0 -603
- pulumi_snowflake/sequence_grant.py +0 -611
- pulumi_snowflake/stage_grant.py +0 -611
- pulumi_snowflake/stream_grant.py +0 -611
- pulumi_snowflake/table_grant.py +0 -653
- pulumi_snowflake/tag_grant.py +0 -508
- pulumi_snowflake/task_grant.py +0 -611
- pulumi_snowflake/user_grant.py +0 -370
- pulumi_snowflake/user_ownership_grant.py +0 -275
- pulumi_snowflake/view_grant.py +0 -685
- pulumi_snowflake/warehouse_grant.py +0 -416
- {pulumi_snowflake-0.56.0a1721327760.dist-info → pulumi_snowflake-0.57.0.dist-info}/top_level.txt +0 -0
pulumi_snowflake/database.py
CHANGED
|
@@ -16,41 +16,101 @@ __all__ = ['DatabaseArgs', 'Database']
|
|
|
16
16
|
@pulumi.input_type
|
|
17
17
|
class DatabaseArgs:
|
|
18
18
|
def __init__(__self__, *,
|
|
19
|
+
catalog: Optional[pulumi.Input[str]] = None,
|
|
19
20
|
comment: Optional[pulumi.Input[str]] = None,
|
|
20
21
|
data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
default_ddl_collation: Optional[pulumi.Input[str]] = None,
|
|
23
|
+
enable_console_output: Optional[pulumi.Input[bool]] = None,
|
|
24
|
+
external_volume: Optional[pulumi.Input[str]] = None,
|
|
24
25
|
is_transient: Optional[pulumi.Input[bool]] = None,
|
|
26
|
+
log_level: Optional[pulumi.Input[str]] = None,
|
|
27
|
+
max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
25
28
|
name: Optional[pulumi.Input[str]] = None,
|
|
26
|
-
|
|
29
|
+
quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
|
|
30
|
+
replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
|
|
31
|
+
replication: Optional[pulumi.Input['DatabaseReplicationArgs']] = None,
|
|
32
|
+
storage_serialization_policy: Optional[pulumi.Input[str]] = None,
|
|
33
|
+
suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
|
|
34
|
+
task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
|
|
35
|
+
trace_level: Optional[pulumi.Input[str]] = None,
|
|
36
|
+
user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
|
|
37
|
+
user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
|
|
38
|
+
user_task_timeout_ms: Optional[pulumi.Input[int]] = None):
|
|
27
39
|
"""
|
|
28
40
|
The set of arguments for constructing a Database resource.
|
|
41
|
+
: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).
|
|
29
42
|
:param pulumi.Input[str] comment: Specifies a comment for the database.
|
|
30
|
-
:param pulumi.Input[int] data_retention_time_in_days:
|
|
31
|
-
:param pulumi.Input[str]
|
|
32
|
-
:param pulumi.Input[
|
|
33
|
-
:param pulumi.Input[
|
|
34
|
-
:param pulumi.Input[bool] is_transient: Specifies
|
|
35
|
-
:param pulumi.Input[str]
|
|
36
|
-
:param pulumi.Input[
|
|
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).
|
|
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).
|
|
45
|
+
:param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
54
|
+
: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).
|
|
55
|
+
: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).
|
|
56
|
+
: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).
|
|
57
|
+
: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).
|
|
58
|
+
: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).
|
|
59
|
+
:param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
|
|
60
|
+
: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).
|
|
37
61
|
"""
|
|
62
|
+
if catalog is not None:
|
|
63
|
+
pulumi.set(__self__, "catalog", catalog)
|
|
38
64
|
if comment is not None:
|
|
39
65
|
pulumi.set(__self__, "comment", comment)
|
|
40
66
|
if data_retention_time_in_days is not None:
|
|
41
67
|
pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
|
|
42
|
-
if
|
|
43
|
-
pulumi.set(__self__, "
|
|
44
|
-
if
|
|
45
|
-
pulumi.set(__self__, "
|
|
46
|
-
if
|
|
47
|
-
pulumi.set(__self__, "
|
|
68
|
+
if default_ddl_collation is not None:
|
|
69
|
+
pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
|
|
70
|
+
if enable_console_output is not None:
|
|
71
|
+
pulumi.set(__self__, "enable_console_output", enable_console_output)
|
|
72
|
+
if external_volume is not None:
|
|
73
|
+
pulumi.set(__self__, "external_volume", external_volume)
|
|
48
74
|
if is_transient is not None:
|
|
49
75
|
pulumi.set(__self__, "is_transient", is_transient)
|
|
76
|
+
if log_level is not None:
|
|
77
|
+
pulumi.set(__self__, "log_level", log_level)
|
|
78
|
+
if max_data_extension_time_in_days is not None:
|
|
79
|
+
pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
|
|
50
80
|
if name is not None:
|
|
51
81
|
pulumi.set(__self__, "name", name)
|
|
52
|
-
if
|
|
53
|
-
pulumi.set(__self__, "
|
|
82
|
+
if quoted_identifiers_ignore_case is not None:
|
|
83
|
+
pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
|
|
84
|
+
if replace_invalid_characters is not None:
|
|
85
|
+
pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
|
|
86
|
+
if replication is not None:
|
|
87
|
+
pulumi.set(__self__, "replication", replication)
|
|
88
|
+
if storage_serialization_policy is not None:
|
|
89
|
+
pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
|
|
90
|
+
if suspend_task_after_num_failures is not None:
|
|
91
|
+
pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
|
|
92
|
+
if task_auto_retry_attempts is not None:
|
|
93
|
+
pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
|
|
94
|
+
if trace_level is not None:
|
|
95
|
+
pulumi.set(__self__, "trace_level", trace_level)
|
|
96
|
+
if user_task_managed_initial_warehouse_size is not None:
|
|
97
|
+
pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
|
|
98
|
+
if user_task_minimum_trigger_interval_in_seconds is not None:
|
|
99
|
+
pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
|
|
100
|
+
if user_task_timeout_ms is not None:
|
|
101
|
+
pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
@pulumi.getter
|
|
105
|
+
def catalog(self) -> Optional[pulumi.Input[str]]:
|
|
106
|
+
"""
|
|
107
|
+
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).
|
|
108
|
+
"""
|
|
109
|
+
return pulumi.get(self, "catalog")
|
|
110
|
+
|
|
111
|
+
@catalog.setter
|
|
112
|
+
def catalog(self, value: Optional[pulumi.Input[str]]):
|
|
113
|
+
pulumi.set(self, "catalog", value)
|
|
54
114
|
|
|
55
115
|
@property
|
|
56
116
|
@pulumi.getter
|
|
@@ -68,7 +128,7 @@ class DatabaseArgs:
|
|
|
68
128
|
@pulumi.getter(name="dataRetentionTimeInDays")
|
|
69
129
|
def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
|
|
70
130
|
"""
|
|
71
|
-
|
|
131
|
+
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).
|
|
72
132
|
"""
|
|
73
133
|
return pulumi.get(self, "data_retention_time_in_days")
|
|
74
134
|
|
|
@@ -77,46 +137,46 @@ class DatabaseArgs:
|
|
|
77
137
|
pulumi.set(self, "data_retention_time_in_days", value)
|
|
78
138
|
|
|
79
139
|
@property
|
|
80
|
-
@pulumi.getter(name="
|
|
81
|
-
def
|
|
140
|
+
@pulumi.getter(name="defaultDdlCollation")
|
|
141
|
+
def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
|
|
82
142
|
"""
|
|
83
|
-
|
|
143
|
+
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).
|
|
84
144
|
"""
|
|
85
|
-
return pulumi.get(self, "
|
|
145
|
+
return pulumi.get(self, "default_ddl_collation")
|
|
86
146
|
|
|
87
|
-
@
|
|
88
|
-
def
|
|
89
|
-
pulumi.set(self, "
|
|
147
|
+
@default_ddl_collation.setter
|
|
148
|
+
def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
|
|
149
|
+
pulumi.set(self, "default_ddl_collation", value)
|
|
90
150
|
|
|
91
151
|
@property
|
|
92
|
-
@pulumi.getter(name="
|
|
93
|
-
def
|
|
152
|
+
@pulumi.getter(name="enableConsoleOutput")
|
|
153
|
+
def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
|
|
94
154
|
"""
|
|
95
|
-
|
|
155
|
+
If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
96
156
|
"""
|
|
97
|
-
return pulumi.get(self, "
|
|
157
|
+
return pulumi.get(self, "enable_console_output")
|
|
98
158
|
|
|
99
|
-
@
|
|
100
|
-
def
|
|
101
|
-
pulumi.set(self, "
|
|
159
|
+
@enable_console_output.setter
|
|
160
|
+
def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
|
|
161
|
+
pulumi.set(self, "enable_console_output", value)
|
|
102
162
|
|
|
103
163
|
@property
|
|
104
|
-
@pulumi.getter(name="
|
|
105
|
-
def
|
|
164
|
+
@pulumi.getter(name="externalVolume")
|
|
165
|
+
def external_volume(self) -> Optional[pulumi.Input[str]]:
|
|
106
166
|
"""
|
|
107
|
-
|
|
167
|
+
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).
|
|
108
168
|
"""
|
|
109
|
-
return pulumi.get(self, "
|
|
169
|
+
return pulumi.get(self, "external_volume")
|
|
110
170
|
|
|
111
|
-
@
|
|
112
|
-
def
|
|
113
|
-
pulumi.set(self, "
|
|
171
|
+
@external_volume.setter
|
|
172
|
+
def external_volume(self, value: Optional[pulumi.Input[str]]):
|
|
173
|
+
pulumi.set(self, "external_volume", value)
|
|
114
174
|
|
|
115
175
|
@property
|
|
116
176
|
@pulumi.getter(name="isTransient")
|
|
117
177
|
def is_transient(self) -> Optional[pulumi.Input[bool]]:
|
|
118
178
|
"""
|
|
119
|
-
Specifies
|
|
179
|
+
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.
|
|
120
180
|
"""
|
|
121
181
|
return pulumi.get(self, "is_transient")
|
|
122
182
|
|
|
@@ -124,11 +184,35 @@ class DatabaseArgs:
|
|
|
124
184
|
def is_transient(self, value: Optional[pulumi.Input[bool]]):
|
|
125
185
|
pulumi.set(self, "is_transient", value)
|
|
126
186
|
|
|
187
|
+
@property
|
|
188
|
+
@pulumi.getter(name="logLevel")
|
|
189
|
+
def log_level(self) -> Optional[pulumi.Input[str]]:
|
|
190
|
+
"""
|
|
191
|
+
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).
|
|
192
|
+
"""
|
|
193
|
+
return pulumi.get(self, "log_level")
|
|
194
|
+
|
|
195
|
+
@log_level.setter
|
|
196
|
+
def log_level(self, value: Optional[pulumi.Input[str]]):
|
|
197
|
+
pulumi.set(self, "log_level", value)
|
|
198
|
+
|
|
199
|
+
@property
|
|
200
|
+
@pulumi.getter(name="maxDataExtensionTimeInDays")
|
|
201
|
+
def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
|
|
202
|
+
"""
|
|
203
|
+
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).
|
|
204
|
+
"""
|
|
205
|
+
return pulumi.get(self, "max_data_extension_time_in_days")
|
|
206
|
+
|
|
207
|
+
@max_data_extension_time_in_days.setter
|
|
208
|
+
def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
|
|
209
|
+
pulumi.set(self, "max_data_extension_time_in_days", value)
|
|
210
|
+
|
|
127
211
|
@property
|
|
128
212
|
@pulumi.getter
|
|
129
213
|
def name(self) -> Optional[pulumi.Input[str]]:
|
|
130
214
|
"""
|
|
131
|
-
Specifies the identifier for the database; must be unique for your account.
|
|
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.
|
|
132
216
|
"""
|
|
133
217
|
return pulumi.get(self, "name")
|
|
134
218
|
|
|
@@ -137,56 +221,224 @@ class DatabaseArgs:
|
|
|
137
221
|
pulumi.set(self, "name", value)
|
|
138
222
|
|
|
139
223
|
@property
|
|
140
|
-
@pulumi.getter(name="
|
|
141
|
-
def
|
|
224
|
+
@pulumi.getter(name="quotedIdentifiersIgnoreCase")
|
|
225
|
+
def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
|
|
226
|
+
"""
|
|
227
|
+
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).
|
|
228
|
+
"""
|
|
229
|
+
return pulumi.get(self, "quoted_identifiers_ignore_case")
|
|
230
|
+
|
|
231
|
+
@quoted_identifiers_ignore_case.setter
|
|
232
|
+
def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
|
|
233
|
+
pulumi.set(self, "quoted_identifiers_ignore_case", value)
|
|
234
|
+
|
|
235
|
+
@property
|
|
236
|
+
@pulumi.getter(name="replaceInvalidCharacters")
|
|
237
|
+
def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
|
|
238
|
+
"""
|
|
239
|
+
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).
|
|
240
|
+
"""
|
|
241
|
+
return pulumi.get(self, "replace_invalid_characters")
|
|
242
|
+
|
|
243
|
+
@replace_invalid_characters.setter
|
|
244
|
+
def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
|
|
245
|
+
pulumi.set(self, "replace_invalid_characters", value)
|
|
246
|
+
|
|
247
|
+
@property
|
|
248
|
+
@pulumi.getter
|
|
249
|
+
def replication(self) -> Optional[pulumi.Input['DatabaseReplicationArgs']]:
|
|
250
|
+
"""
|
|
251
|
+
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.
|
|
252
|
+
"""
|
|
253
|
+
return pulumi.get(self, "replication")
|
|
254
|
+
|
|
255
|
+
@replication.setter
|
|
256
|
+
def replication(self, value: Optional[pulumi.Input['DatabaseReplicationArgs']]):
|
|
257
|
+
pulumi.set(self, "replication", value)
|
|
258
|
+
|
|
259
|
+
@property
|
|
260
|
+
@pulumi.getter(name="storageSerializationPolicy")
|
|
261
|
+
def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
|
|
262
|
+
"""
|
|
263
|
+
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).
|
|
264
|
+
"""
|
|
265
|
+
return pulumi.get(self, "storage_serialization_policy")
|
|
266
|
+
|
|
267
|
+
@storage_serialization_policy.setter
|
|
268
|
+
def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
|
|
269
|
+
pulumi.set(self, "storage_serialization_policy", value)
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
@pulumi.getter(name="suspendTaskAfterNumFailures")
|
|
273
|
+
def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
|
|
142
274
|
"""
|
|
143
|
-
|
|
275
|
+
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).
|
|
144
276
|
"""
|
|
145
|
-
return pulumi.get(self, "
|
|
277
|
+
return pulumi.get(self, "suspend_task_after_num_failures")
|
|
146
278
|
|
|
147
|
-
@
|
|
148
|
-
def
|
|
149
|
-
pulumi.set(self, "
|
|
279
|
+
@suspend_task_after_num_failures.setter
|
|
280
|
+
def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
|
|
281
|
+
pulumi.set(self, "suspend_task_after_num_failures", value)
|
|
282
|
+
|
|
283
|
+
@property
|
|
284
|
+
@pulumi.getter(name="taskAutoRetryAttempts")
|
|
285
|
+
def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
|
|
286
|
+
"""
|
|
287
|
+
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).
|
|
288
|
+
"""
|
|
289
|
+
return pulumi.get(self, "task_auto_retry_attempts")
|
|
290
|
+
|
|
291
|
+
@task_auto_retry_attempts.setter
|
|
292
|
+
def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
|
|
293
|
+
pulumi.set(self, "task_auto_retry_attempts", value)
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
@pulumi.getter(name="traceLevel")
|
|
297
|
+
def trace_level(self) -> Optional[pulumi.Input[str]]:
|
|
298
|
+
"""
|
|
299
|
+
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).
|
|
300
|
+
"""
|
|
301
|
+
return pulumi.get(self, "trace_level")
|
|
302
|
+
|
|
303
|
+
@trace_level.setter
|
|
304
|
+
def trace_level(self, value: Optional[pulumi.Input[str]]):
|
|
305
|
+
pulumi.set(self, "trace_level", value)
|
|
306
|
+
|
|
307
|
+
@property
|
|
308
|
+
@pulumi.getter(name="userTaskManagedInitialWarehouseSize")
|
|
309
|
+
def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
|
|
310
|
+
"""
|
|
311
|
+
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).
|
|
312
|
+
"""
|
|
313
|
+
return pulumi.get(self, "user_task_managed_initial_warehouse_size")
|
|
314
|
+
|
|
315
|
+
@user_task_managed_initial_warehouse_size.setter
|
|
316
|
+
def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
|
|
317
|
+
pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
|
|
318
|
+
|
|
319
|
+
@property
|
|
320
|
+
@pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
|
|
321
|
+
def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
|
|
322
|
+
"""
|
|
323
|
+
Minimum amount of time between Triggered Task executions in seconds.
|
|
324
|
+
"""
|
|
325
|
+
return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
|
|
326
|
+
|
|
327
|
+
@user_task_minimum_trigger_interval_in_seconds.setter
|
|
328
|
+
def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
|
|
329
|
+
pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
|
|
330
|
+
|
|
331
|
+
@property
|
|
332
|
+
@pulumi.getter(name="userTaskTimeoutMs")
|
|
333
|
+
def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
|
|
334
|
+
"""
|
|
335
|
+
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).
|
|
336
|
+
"""
|
|
337
|
+
return pulumi.get(self, "user_task_timeout_ms")
|
|
338
|
+
|
|
339
|
+
@user_task_timeout_ms.setter
|
|
340
|
+
def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
|
|
341
|
+
pulumi.set(self, "user_task_timeout_ms", value)
|
|
150
342
|
|
|
151
343
|
|
|
152
344
|
@pulumi.input_type
|
|
153
345
|
class _DatabaseState:
|
|
154
346
|
def __init__(__self__, *,
|
|
347
|
+
catalog: Optional[pulumi.Input[str]] = None,
|
|
155
348
|
comment: Optional[pulumi.Input[str]] = None,
|
|
156
349
|
data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
350
|
+
default_ddl_collation: Optional[pulumi.Input[str]] = None,
|
|
351
|
+
enable_console_output: Optional[pulumi.Input[bool]] = None,
|
|
352
|
+
external_volume: Optional[pulumi.Input[str]] = None,
|
|
160
353
|
is_transient: Optional[pulumi.Input[bool]] = None,
|
|
354
|
+
log_level: Optional[pulumi.Input[str]] = None,
|
|
355
|
+
max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
161
356
|
name: Optional[pulumi.Input[str]] = None,
|
|
162
|
-
|
|
357
|
+
quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
|
|
358
|
+
replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
|
|
359
|
+
replication: Optional[pulumi.Input['DatabaseReplicationArgs']] = None,
|
|
360
|
+
storage_serialization_policy: Optional[pulumi.Input[str]] = None,
|
|
361
|
+
suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
|
|
362
|
+
task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
|
|
363
|
+
trace_level: Optional[pulumi.Input[str]] = None,
|
|
364
|
+
user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
|
|
365
|
+
user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
|
|
366
|
+
user_task_timeout_ms: Optional[pulumi.Input[int]] = None):
|
|
163
367
|
"""
|
|
164
368
|
Input properties used for looking up and filtering Database resources.
|
|
369
|
+
: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).
|
|
165
370
|
:param pulumi.Input[str] comment: Specifies a comment for the database.
|
|
166
|
-
:param pulumi.Input[int] data_retention_time_in_days:
|
|
167
|
-
:param pulumi.Input[str]
|
|
168
|
-
:param pulumi.Input[
|
|
169
|
-
:param pulumi.Input[
|
|
170
|
-
:param pulumi.Input[bool] is_transient: Specifies
|
|
171
|
-
:param pulumi.Input[str]
|
|
172
|
-
:param pulumi.Input[
|
|
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).
|
|
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).
|
|
373
|
+
:param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
382
|
+
: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).
|
|
383
|
+
: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).
|
|
384
|
+
: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).
|
|
385
|
+
: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).
|
|
386
|
+
: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).
|
|
387
|
+
:param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
|
|
388
|
+
: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).
|
|
173
389
|
"""
|
|
390
|
+
if catalog is not None:
|
|
391
|
+
pulumi.set(__self__, "catalog", catalog)
|
|
174
392
|
if comment is not None:
|
|
175
393
|
pulumi.set(__self__, "comment", comment)
|
|
176
394
|
if data_retention_time_in_days is not None:
|
|
177
395
|
pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
|
|
178
|
-
if
|
|
179
|
-
pulumi.set(__self__, "
|
|
180
|
-
if
|
|
181
|
-
pulumi.set(__self__, "
|
|
182
|
-
if
|
|
183
|
-
pulumi.set(__self__, "
|
|
396
|
+
if default_ddl_collation is not None:
|
|
397
|
+
pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
|
|
398
|
+
if enable_console_output is not None:
|
|
399
|
+
pulumi.set(__self__, "enable_console_output", enable_console_output)
|
|
400
|
+
if external_volume is not None:
|
|
401
|
+
pulumi.set(__self__, "external_volume", external_volume)
|
|
184
402
|
if is_transient is not None:
|
|
185
403
|
pulumi.set(__self__, "is_transient", is_transient)
|
|
404
|
+
if log_level is not None:
|
|
405
|
+
pulumi.set(__self__, "log_level", log_level)
|
|
406
|
+
if max_data_extension_time_in_days is not None:
|
|
407
|
+
pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
|
|
186
408
|
if name is not None:
|
|
187
409
|
pulumi.set(__self__, "name", name)
|
|
188
|
-
if
|
|
189
|
-
pulumi.set(__self__, "
|
|
410
|
+
if quoted_identifiers_ignore_case is not None:
|
|
411
|
+
pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
|
|
412
|
+
if replace_invalid_characters is not None:
|
|
413
|
+
pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
|
|
414
|
+
if replication is not None:
|
|
415
|
+
pulumi.set(__self__, "replication", replication)
|
|
416
|
+
if storage_serialization_policy is not None:
|
|
417
|
+
pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
|
|
418
|
+
if suspend_task_after_num_failures is not None:
|
|
419
|
+
pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
|
|
420
|
+
if task_auto_retry_attempts is not None:
|
|
421
|
+
pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
|
|
422
|
+
if trace_level is not None:
|
|
423
|
+
pulumi.set(__self__, "trace_level", trace_level)
|
|
424
|
+
if user_task_managed_initial_warehouse_size is not None:
|
|
425
|
+
pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
|
|
426
|
+
if user_task_minimum_trigger_interval_in_seconds is not None:
|
|
427
|
+
pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
|
|
428
|
+
if user_task_timeout_ms is not None:
|
|
429
|
+
pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
|
|
430
|
+
|
|
431
|
+
@property
|
|
432
|
+
@pulumi.getter
|
|
433
|
+
def catalog(self) -> Optional[pulumi.Input[str]]:
|
|
434
|
+
"""
|
|
435
|
+
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).
|
|
436
|
+
"""
|
|
437
|
+
return pulumi.get(self, "catalog")
|
|
438
|
+
|
|
439
|
+
@catalog.setter
|
|
440
|
+
def catalog(self, value: Optional[pulumi.Input[str]]):
|
|
441
|
+
pulumi.set(self, "catalog", value)
|
|
190
442
|
|
|
191
443
|
@property
|
|
192
444
|
@pulumi.getter
|
|
@@ -204,7 +456,7 @@ class _DatabaseState:
|
|
|
204
456
|
@pulumi.getter(name="dataRetentionTimeInDays")
|
|
205
457
|
def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
|
|
206
458
|
"""
|
|
207
|
-
|
|
459
|
+
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).
|
|
208
460
|
"""
|
|
209
461
|
return pulumi.get(self, "data_retention_time_in_days")
|
|
210
462
|
|
|
@@ -213,46 +465,46 @@ class _DatabaseState:
|
|
|
213
465
|
pulumi.set(self, "data_retention_time_in_days", value)
|
|
214
466
|
|
|
215
467
|
@property
|
|
216
|
-
@pulumi.getter(name="
|
|
217
|
-
def
|
|
468
|
+
@pulumi.getter(name="defaultDdlCollation")
|
|
469
|
+
def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
|
|
218
470
|
"""
|
|
219
|
-
|
|
471
|
+
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).
|
|
220
472
|
"""
|
|
221
|
-
return pulumi.get(self, "
|
|
473
|
+
return pulumi.get(self, "default_ddl_collation")
|
|
222
474
|
|
|
223
|
-
@
|
|
224
|
-
def
|
|
225
|
-
pulumi.set(self, "
|
|
475
|
+
@default_ddl_collation.setter
|
|
476
|
+
def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
|
|
477
|
+
pulumi.set(self, "default_ddl_collation", value)
|
|
226
478
|
|
|
227
479
|
@property
|
|
228
|
-
@pulumi.getter(name="
|
|
229
|
-
def
|
|
480
|
+
@pulumi.getter(name="enableConsoleOutput")
|
|
481
|
+
def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
|
|
230
482
|
"""
|
|
231
|
-
|
|
483
|
+
If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
232
484
|
"""
|
|
233
|
-
return pulumi.get(self, "
|
|
485
|
+
return pulumi.get(self, "enable_console_output")
|
|
234
486
|
|
|
235
|
-
@
|
|
236
|
-
def
|
|
237
|
-
pulumi.set(self, "
|
|
487
|
+
@enable_console_output.setter
|
|
488
|
+
def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
|
|
489
|
+
pulumi.set(self, "enable_console_output", value)
|
|
238
490
|
|
|
239
491
|
@property
|
|
240
|
-
@pulumi.getter(name="
|
|
241
|
-
def
|
|
492
|
+
@pulumi.getter(name="externalVolume")
|
|
493
|
+
def external_volume(self) -> Optional[pulumi.Input[str]]:
|
|
242
494
|
"""
|
|
243
|
-
|
|
495
|
+
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).
|
|
244
496
|
"""
|
|
245
|
-
return pulumi.get(self, "
|
|
497
|
+
return pulumi.get(self, "external_volume")
|
|
246
498
|
|
|
247
|
-
@
|
|
248
|
-
def
|
|
249
|
-
pulumi.set(self, "
|
|
499
|
+
@external_volume.setter
|
|
500
|
+
def external_volume(self, value: Optional[pulumi.Input[str]]):
|
|
501
|
+
pulumi.set(self, "external_volume", value)
|
|
250
502
|
|
|
251
503
|
@property
|
|
252
504
|
@pulumi.getter(name="isTransient")
|
|
253
505
|
def is_transient(self) -> Optional[pulumi.Input[bool]]:
|
|
254
506
|
"""
|
|
255
|
-
Specifies
|
|
507
|
+
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.
|
|
256
508
|
"""
|
|
257
509
|
return pulumi.get(self, "is_transient")
|
|
258
510
|
|
|
@@ -260,11 +512,35 @@ class _DatabaseState:
|
|
|
260
512
|
def is_transient(self, value: Optional[pulumi.Input[bool]]):
|
|
261
513
|
pulumi.set(self, "is_transient", value)
|
|
262
514
|
|
|
515
|
+
@property
|
|
516
|
+
@pulumi.getter(name="logLevel")
|
|
517
|
+
def log_level(self) -> Optional[pulumi.Input[str]]:
|
|
518
|
+
"""
|
|
519
|
+
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).
|
|
520
|
+
"""
|
|
521
|
+
return pulumi.get(self, "log_level")
|
|
522
|
+
|
|
523
|
+
@log_level.setter
|
|
524
|
+
def log_level(self, value: Optional[pulumi.Input[str]]):
|
|
525
|
+
pulumi.set(self, "log_level", value)
|
|
526
|
+
|
|
527
|
+
@property
|
|
528
|
+
@pulumi.getter(name="maxDataExtensionTimeInDays")
|
|
529
|
+
def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
|
|
530
|
+
"""
|
|
531
|
+
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).
|
|
532
|
+
"""
|
|
533
|
+
return pulumi.get(self, "max_data_extension_time_in_days")
|
|
534
|
+
|
|
535
|
+
@max_data_extension_time_in_days.setter
|
|
536
|
+
def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
|
|
537
|
+
pulumi.set(self, "max_data_extension_time_in_days", value)
|
|
538
|
+
|
|
263
539
|
@property
|
|
264
540
|
@pulumi.getter
|
|
265
541
|
def name(self) -> Optional[pulumi.Input[str]]:
|
|
266
542
|
"""
|
|
267
|
-
Specifies the identifier for the database; must be unique for your account.
|
|
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.
|
|
268
544
|
"""
|
|
269
545
|
return pulumi.get(self, "name")
|
|
270
546
|
|
|
@@ -273,16 +549,124 @@ class _DatabaseState:
|
|
|
273
549
|
pulumi.set(self, "name", value)
|
|
274
550
|
|
|
275
551
|
@property
|
|
276
|
-
@pulumi.getter(name="
|
|
277
|
-
def
|
|
552
|
+
@pulumi.getter(name="quotedIdentifiersIgnoreCase")
|
|
553
|
+
def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
|
|
554
|
+
"""
|
|
555
|
+
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).
|
|
556
|
+
"""
|
|
557
|
+
return pulumi.get(self, "quoted_identifiers_ignore_case")
|
|
558
|
+
|
|
559
|
+
@quoted_identifiers_ignore_case.setter
|
|
560
|
+
def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
|
|
561
|
+
pulumi.set(self, "quoted_identifiers_ignore_case", value)
|
|
562
|
+
|
|
563
|
+
@property
|
|
564
|
+
@pulumi.getter(name="replaceInvalidCharacters")
|
|
565
|
+
def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
|
|
566
|
+
"""
|
|
567
|
+
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).
|
|
568
|
+
"""
|
|
569
|
+
return pulumi.get(self, "replace_invalid_characters")
|
|
570
|
+
|
|
571
|
+
@replace_invalid_characters.setter
|
|
572
|
+
def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
|
|
573
|
+
pulumi.set(self, "replace_invalid_characters", value)
|
|
574
|
+
|
|
575
|
+
@property
|
|
576
|
+
@pulumi.getter
|
|
577
|
+
def replication(self) -> Optional[pulumi.Input['DatabaseReplicationArgs']]:
|
|
578
|
+
"""
|
|
579
|
+
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.
|
|
580
|
+
"""
|
|
581
|
+
return pulumi.get(self, "replication")
|
|
582
|
+
|
|
583
|
+
@replication.setter
|
|
584
|
+
def replication(self, value: Optional[pulumi.Input['DatabaseReplicationArgs']]):
|
|
585
|
+
pulumi.set(self, "replication", value)
|
|
586
|
+
|
|
587
|
+
@property
|
|
588
|
+
@pulumi.getter(name="storageSerializationPolicy")
|
|
589
|
+
def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
|
|
590
|
+
"""
|
|
591
|
+
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).
|
|
592
|
+
"""
|
|
593
|
+
return pulumi.get(self, "storage_serialization_policy")
|
|
594
|
+
|
|
595
|
+
@storage_serialization_policy.setter
|
|
596
|
+
def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
|
|
597
|
+
pulumi.set(self, "storage_serialization_policy", value)
|
|
598
|
+
|
|
599
|
+
@property
|
|
600
|
+
@pulumi.getter(name="suspendTaskAfterNumFailures")
|
|
601
|
+
def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
|
|
602
|
+
"""
|
|
603
|
+
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).
|
|
604
|
+
"""
|
|
605
|
+
return pulumi.get(self, "suspend_task_after_num_failures")
|
|
606
|
+
|
|
607
|
+
@suspend_task_after_num_failures.setter
|
|
608
|
+
def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
|
|
609
|
+
pulumi.set(self, "suspend_task_after_num_failures", value)
|
|
610
|
+
|
|
611
|
+
@property
|
|
612
|
+
@pulumi.getter(name="taskAutoRetryAttempts")
|
|
613
|
+
def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
|
|
614
|
+
"""
|
|
615
|
+
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).
|
|
616
|
+
"""
|
|
617
|
+
return pulumi.get(self, "task_auto_retry_attempts")
|
|
618
|
+
|
|
619
|
+
@task_auto_retry_attempts.setter
|
|
620
|
+
def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
|
|
621
|
+
pulumi.set(self, "task_auto_retry_attempts", value)
|
|
622
|
+
|
|
623
|
+
@property
|
|
624
|
+
@pulumi.getter(name="traceLevel")
|
|
625
|
+
def trace_level(self) -> Optional[pulumi.Input[str]]:
|
|
278
626
|
"""
|
|
279
|
-
|
|
627
|
+
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).
|
|
280
628
|
"""
|
|
281
|
-
return pulumi.get(self, "
|
|
629
|
+
return pulumi.get(self, "trace_level")
|
|
282
630
|
|
|
283
|
-
@
|
|
284
|
-
def
|
|
285
|
-
pulumi.set(self, "
|
|
631
|
+
@trace_level.setter
|
|
632
|
+
def trace_level(self, value: Optional[pulumi.Input[str]]):
|
|
633
|
+
pulumi.set(self, "trace_level", value)
|
|
634
|
+
|
|
635
|
+
@property
|
|
636
|
+
@pulumi.getter(name="userTaskManagedInitialWarehouseSize")
|
|
637
|
+
def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
|
|
638
|
+
"""
|
|
639
|
+
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).
|
|
640
|
+
"""
|
|
641
|
+
return pulumi.get(self, "user_task_managed_initial_warehouse_size")
|
|
642
|
+
|
|
643
|
+
@user_task_managed_initial_warehouse_size.setter
|
|
644
|
+
def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
|
|
645
|
+
pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
|
|
646
|
+
|
|
647
|
+
@property
|
|
648
|
+
@pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
|
|
649
|
+
def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
|
|
650
|
+
"""
|
|
651
|
+
Minimum amount of time between Triggered Task executions in seconds.
|
|
652
|
+
"""
|
|
653
|
+
return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
|
|
654
|
+
|
|
655
|
+
@user_task_minimum_trigger_interval_in_seconds.setter
|
|
656
|
+
def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
|
|
657
|
+
pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
|
|
658
|
+
|
|
659
|
+
@property
|
|
660
|
+
@pulumi.getter(name="userTaskTimeoutMs")
|
|
661
|
+
def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
|
|
662
|
+
"""
|
|
663
|
+
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).
|
|
664
|
+
"""
|
|
665
|
+
return pulumi.get(self, "user_task_timeout_ms")
|
|
666
|
+
|
|
667
|
+
@user_task_timeout_ms.setter
|
|
668
|
+
def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
|
|
669
|
+
pulumi.set(self, "user_task_timeout_ms", value)
|
|
286
670
|
|
|
287
671
|
|
|
288
672
|
class Database(pulumi.CustomResource):
|
|
@@ -290,66 +674,119 @@ class Database(pulumi.CustomResource):
|
|
|
290
674
|
def __init__(__self__,
|
|
291
675
|
resource_name: str,
|
|
292
676
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
677
|
+
catalog: Optional[pulumi.Input[str]] = None,
|
|
293
678
|
comment: Optional[pulumi.Input[str]] = None,
|
|
294
679
|
data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
680
|
+
default_ddl_collation: Optional[pulumi.Input[str]] = None,
|
|
681
|
+
enable_console_output: Optional[pulumi.Input[bool]] = None,
|
|
682
|
+
external_volume: Optional[pulumi.Input[str]] = None,
|
|
298
683
|
is_transient: Optional[pulumi.Input[bool]] = None,
|
|
684
|
+
log_level: Optional[pulumi.Input[str]] = None,
|
|
685
|
+
max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
299
686
|
name: Optional[pulumi.Input[str]] = None,
|
|
300
|
-
|
|
687
|
+
quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
|
|
688
|
+
replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
|
|
689
|
+
replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
|
|
690
|
+
storage_serialization_policy: Optional[pulumi.Input[str]] = None,
|
|
691
|
+
suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
|
|
692
|
+
task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
|
|
693
|
+
trace_level: Optional[pulumi.Input[str]] = None,
|
|
694
|
+
user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
|
|
695
|
+
user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
|
|
696
|
+
user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
|
|
301
697
|
__props__=None):
|
|
302
698
|
"""
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
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
|
+
}
|
|
342
767
|
|
|
343
768
|
:param str resource_name: The name of the resource.
|
|
344
769
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
770
|
+
: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).
|
|
345
771
|
:param pulumi.Input[str] comment: Specifies a comment for the database.
|
|
346
|
-
:param pulumi.Input[int] data_retention_time_in_days:
|
|
347
|
-
:param pulumi.Input[str]
|
|
348
|
-
:param pulumi.Input[
|
|
349
|
-
:param pulumi.Input[
|
|
350
|
-
:param pulumi.Input[bool] is_transient: Specifies
|
|
351
|
-
:param pulumi.Input[str]
|
|
352
|
-
:param pulumi.Input[
|
|
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).
|
|
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).
|
|
774
|
+
:param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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).
|
|
786
|
+
: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).
|
|
787
|
+
: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).
|
|
788
|
+
:param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
|
|
789
|
+
: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).
|
|
353
790
|
"""
|
|
354
791
|
...
|
|
355
792
|
@overload
|
|
@@ -358,45 +795,74 @@ class Database(pulumi.CustomResource):
|
|
|
358
795
|
args: Optional[DatabaseArgs] = None,
|
|
359
796
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
360
797
|
"""
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
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
|
+
}
|
|
400
866
|
|
|
401
867
|
:param str resource_name: The name of the resource.
|
|
402
868
|
:param DatabaseArgs args: The arguments to use to populate this resource's properties.
|
|
@@ -413,14 +879,26 @@ class Database(pulumi.CustomResource):
|
|
|
413
879
|
def _internal_init(__self__,
|
|
414
880
|
resource_name: str,
|
|
415
881
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
882
|
+
catalog: Optional[pulumi.Input[str]] = None,
|
|
416
883
|
comment: Optional[pulumi.Input[str]] = None,
|
|
417
884
|
data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
885
|
+
default_ddl_collation: Optional[pulumi.Input[str]] = None,
|
|
886
|
+
enable_console_output: Optional[pulumi.Input[bool]] = None,
|
|
887
|
+
external_volume: Optional[pulumi.Input[str]] = None,
|
|
421
888
|
is_transient: Optional[pulumi.Input[bool]] = None,
|
|
889
|
+
log_level: Optional[pulumi.Input[str]] = None,
|
|
890
|
+
max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
422
891
|
name: Optional[pulumi.Input[str]] = None,
|
|
423
|
-
|
|
892
|
+
quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
|
|
893
|
+
replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
|
|
894
|
+
replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
|
|
895
|
+
storage_serialization_policy: Optional[pulumi.Input[str]] = None,
|
|
896
|
+
suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
|
|
897
|
+
task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
|
|
898
|
+
trace_level: Optional[pulumi.Input[str]] = None,
|
|
899
|
+
user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
|
|
900
|
+
user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
|
|
901
|
+
user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
|
|
424
902
|
__props__=None):
|
|
425
903
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
426
904
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -430,14 +908,26 @@ class Database(pulumi.CustomResource):
|
|
|
430
908
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
431
909
|
__props__ = DatabaseArgs.__new__(DatabaseArgs)
|
|
432
910
|
|
|
911
|
+
__props__.__dict__["catalog"] = catalog
|
|
433
912
|
__props__.__dict__["comment"] = comment
|
|
434
913
|
__props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
|
|
435
|
-
__props__.__dict__["
|
|
436
|
-
__props__.__dict__["
|
|
437
|
-
__props__.__dict__["
|
|
914
|
+
__props__.__dict__["default_ddl_collation"] = default_ddl_collation
|
|
915
|
+
__props__.__dict__["enable_console_output"] = enable_console_output
|
|
916
|
+
__props__.__dict__["external_volume"] = external_volume
|
|
438
917
|
__props__.__dict__["is_transient"] = is_transient
|
|
918
|
+
__props__.__dict__["log_level"] = log_level
|
|
919
|
+
__props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
|
|
439
920
|
__props__.__dict__["name"] = name
|
|
440
|
-
__props__.__dict__["
|
|
921
|
+
__props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
|
|
922
|
+
__props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
|
|
923
|
+
__props__.__dict__["replication"] = replication
|
|
924
|
+
__props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
|
|
925
|
+
__props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
|
|
926
|
+
__props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
|
|
927
|
+
__props__.__dict__["trace_level"] = trace_level
|
|
928
|
+
__props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
|
|
929
|
+
__props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
|
|
930
|
+
__props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
|
|
441
931
|
super(Database, __self__).__init__(
|
|
442
932
|
'snowflake:index/database:Database',
|
|
443
933
|
resource_name,
|
|
@@ -448,14 +938,26 @@ class Database(pulumi.CustomResource):
|
|
|
448
938
|
def get(resource_name: str,
|
|
449
939
|
id: pulumi.Input[str],
|
|
450
940
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
941
|
+
catalog: Optional[pulumi.Input[str]] = None,
|
|
451
942
|
comment: Optional[pulumi.Input[str]] = None,
|
|
452
943
|
data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
944
|
+
default_ddl_collation: Optional[pulumi.Input[str]] = None,
|
|
945
|
+
enable_console_output: Optional[pulumi.Input[bool]] = None,
|
|
946
|
+
external_volume: Optional[pulumi.Input[str]] = None,
|
|
456
947
|
is_transient: Optional[pulumi.Input[bool]] = None,
|
|
948
|
+
log_level: Optional[pulumi.Input[str]] = None,
|
|
949
|
+
max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
|
|
457
950
|
name: Optional[pulumi.Input[str]] = None,
|
|
458
|
-
|
|
951
|
+
quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
|
|
952
|
+
replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
|
|
953
|
+
replication: Optional[pulumi.Input[pulumi.InputType['DatabaseReplicationArgs']]] = None,
|
|
954
|
+
storage_serialization_policy: Optional[pulumi.Input[str]] = None,
|
|
955
|
+
suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
|
|
956
|
+
task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
|
|
957
|
+
trace_level: Optional[pulumi.Input[str]] = None,
|
|
958
|
+
user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
|
|
959
|
+
user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
|
|
960
|
+
user_task_timeout_ms: Optional[pulumi.Input[int]] = None) -> 'Database':
|
|
459
961
|
"""
|
|
460
962
|
Get an existing Database resource's state with the given name, id, and optional extra
|
|
461
963
|
properties used to qualify the lookup.
|
|
@@ -463,29 +965,61 @@ class Database(pulumi.CustomResource):
|
|
|
463
965
|
:param str resource_name: The unique name of the resulting resource.
|
|
464
966
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
465
967
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
968
|
+
: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).
|
|
466
969
|
:param pulumi.Input[str] comment: Specifies a comment for the database.
|
|
467
|
-
:param pulumi.Input[int] data_retention_time_in_days:
|
|
468
|
-
:param pulumi.Input[str]
|
|
469
|
-
:param pulumi.Input[
|
|
470
|
-
:param pulumi.Input[
|
|
471
|
-
:param pulumi.Input[bool] is_transient: Specifies
|
|
472
|
-
:param pulumi.Input[str]
|
|
473
|
-
:param pulumi.Input[
|
|
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).
|
|
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).
|
|
972
|
+
:param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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).
|
|
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).
|
|
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).
|
|
984
|
+
: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).
|
|
985
|
+
: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).
|
|
986
|
+
:param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
|
|
987
|
+
: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).
|
|
474
988
|
"""
|
|
475
989
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
476
990
|
|
|
477
991
|
__props__ = _DatabaseState.__new__(_DatabaseState)
|
|
478
992
|
|
|
993
|
+
__props__.__dict__["catalog"] = catalog
|
|
479
994
|
__props__.__dict__["comment"] = comment
|
|
480
995
|
__props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
|
|
481
|
-
__props__.__dict__["
|
|
482
|
-
__props__.__dict__["
|
|
483
|
-
__props__.__dict__["
|
|
996
|
+
__props__.__dict__["default_ddl_collation"] = default_ddl_collation
|
|
997
|
+
__props__.__dict__["enable_console_output"] = enable_console_output
|
|
998
|
+
__props__.__dict__["external_volume"] = external_volume
|
|
484
999
|
__props__.__dict__["is_transient"] = is_transient
|
|
1000
|
+
__props__.__dict__["log_level"] = log_level
|
|
1001
|
+
__props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
|
|
485
1002
|
__props__.__dict__["name"] = name
|
|
486
|
-
__props__.__dict__["
|
|
1003
|
+
__props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
|
|
1004
|
+
__props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
|
|
1005
|
+
__props__.__dict__["replication"] = replication
|
|
1006
|
+
__props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
|
|
1007
|
+
__props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
|
|
1008
|
+
__props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
|
|
1009
|
+
__props__.__dict__["trace_level"] = trace_level
|
|
1010
|
+
__props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
|
|
1011
|
+
__props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
|
|
1012
|
+
__props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
|
|
487
1013
|
return Database(resource_name, opts=opts, __props__=__props__)
|
|
488
1014
|
|
|
1015
|
+
@property
|
|
1016
|
+
@pulumi.getter
|
|
1017
|
+
def catalog(self) -> pulumi.Output[str]:
|
|
1018
|
+
"""
|
|
1019
|
+
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).
|
|
1020
|
+
"""
|
|
1021
|
+
return pulumi.get(self, "catalog")
|
|
1022
|
+
|
|
489
1023
|
@property
|
|
490
1024
|
@pulumi.getter
|
|
491
1025
|
def comment(self) -> pulumi.Output[Optional[str]]:
|
|
@@ -496,57 +1030,145 @@ class Database(pulumi.CustomResource):
|
|
|
496
1030
|
|
|
497
1031
|
@property
|
|
498
1032
|
@pulumi.getter(name="dataRetentionTimeInDays")
|
|
499
|
-
def data_retention_time_in_days(self) -> pulumi.Output[
|
|
1033
|
+
def data_retention_time_in_days(self) -> pulumi.Output[int]:
|
|
500
1034
|
"""
|
|
501
|
-
|
|
1035
|
+
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).
|
|
502
1036
|
"""
|
|
503
1037
|
return pulumi.get(self, "data_retention_time_in_days")
|
|
504
1038
|
|
|
505
1039
|
@property
|
|
506
|
-
@pulumi.getter(name="
|
|
507
|
-
def
|
|
1040
|
+
@pulumi.getter(name="defaultDdlCollation")
|
|
1041
|
+
def default_ddl_collation(self) -> pulumi.Output[str]:
|
|
508
1042
|
"""
|
|
509
|
-
|
|
1043
|
+
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).
|
|
510
1044
|
"""
|
|
511
|
-
return pulumi.get(self, "
|
|
1045
|
+
return pulumi.get(self, "default_ddl_collation")
|
|
512
1046
|
|
|
513
1047
|
@property
|
|
514
|
-
@pulumi.getter(name="
|
|
515
|
-
def
|
|
1048
|
+
@pulumi.getter(name="enableConsoleOutput")
|
|
1049
|
+
def enable_console_output(self) -> pulumi.Output[bool]:
|
|
516
1050
|
"""
|
|
517
|
-
|
|
1051
|
+
If true, enables stdout/stderr fast path logging for anonymous stored procedures.
|
|
518
1052
|
"""
|
|
519
|
-
return pulumi.get(self, "
|
|
1053
|
+
return pulumi.get(self, "enable_console_output")
|
|
520
1054
|
|
|
521
1055
|
@property
|
|
522
|
-
@pulumi.getter(name="
|
|
523
|
-
def
|
|
1056
|
+
@pulumi.getter(name="externalVolume")
|
|
1057
|
+
def external_volume(self) -> pulumi.Output[str]:
|
|
524
1058
|
"""
|
|
525
|
-
|
|
1059
|
+
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).
|
|
526
1060
|
"""
|
|
527
|
-
return pulumi.get(self, "
|
|
1061
|
+
return pulumi.get(self, "external_volume")
|
|
528
1062
|
|
|
529
1063
|
@property
|
|
530
1064
|
@pulumi.getter(name="isTransient")
|
|
531
1065
|
def is_transient(self) -> pulumi.Output[Optional[bool]]:
|
|
532
1066
|
"""
|
|
533
|
-
Specifies
|
|
1067
|
+
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.
|
|
534
1068
|
"""
|
|
535
1069
|
return pulumi.get(self, "is_transient")
|
|
536
1070
|
|
|
1071
|
+
@property
|
|
1072
|
+
@pulumi.getter(name="logLevel")
|
|
1073
|
+
def log_level(self) -> pulumi.Output[str]:
|
|
1074
|
+
"""
|
|
1075
|
+
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).
|
|
1076
|
+
"""
|
|
1077
|
+
return pulumi.get(self, "log_level")
|
|
1078
|
+
|
|
1079
|
+
@property
|
|
1080
|
+
@pulumi.getter(name="maxDataExtensionTimeInDays")
|
|
1081
|
+
def max_data_extension_time_in_days(self) -> pulumi.Output[int]:
|
|
1082
|
+
"""
|
|
1083
|
+
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).
|
|
1084
|
+
"""
|
|
1085
|
+
return pulumi.get(self, "max_data_extension_time_in_days")
|
|
1086
|
+
|
|
537
1087
|
@property
|
|
538
1088
|
@pulumi.getter
|
|
539
1089
|
def name(self) -> pulumi.Output[str]:
|
|
540
1090
|
"""
|
|
541
|
-
Specifies the identifier for the database; must be unique for your account.
|
|
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.
|
|
542
1092
|
"""
|
|
543
1093
|
return pulumi.get(self, "name")
|
|
544
1094
|
|
|
545
1095
|
@property
|
|
546
|
-
@pulumi.getter(name="
|
|
547
|
-
def
|
|
1096
|
+
@pulumi.getter(name="quotedIdentifiersIgnoreCase")
|
|
1097
|
+
def quoted_identifiers_ignore_case(self) -> pulumi.Output[bool]:
|
|
1098
|
+
"""
|
|
1099
|
+
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).
|
|
1100
|
+
"""
|
|
1101
|
+
return pulumi.get(self, "quoted_identifiers_ignore_case")
|
|
1102
|
+
|
|
1103
|
+
@property
|
|
1104
|
+
@pulumi.getter(name="replaceInvalidCharacters")
|
|
1105
|
+
def replace_invalid_characters(self) -> pulumi.Output[bool]:
|
|
1106
|
+
"""
|
|
1107
|
+
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).
|
|
1108
|
+
"""
|
|
1109
|
+
return pulumi.get(self, "replace_invalid_characters")
|
|
1110
|
+
|
|
1111
|
+
@property
|
|
1112
|
+
@pulumi.getter
|
|
1113
|
+
def replication(self) -> pulumi.Output[Optional['outputs.DatabaseReplication']]:
|
|
1114
|
+
"""
|
|
1115
|
+
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.
|
|
1116
|
+
"""
|
|
1117
|
+
return pulumi.get(self, "replication")
|
|
1118
|
+
|
|
1119
|
+
@property
|
|
1120
|
+
@pulumi.getter(name="storageSerializationPolicy")
|
|
1121
|
+
def storage_serialization_policy(self) -> pulumi.Output[str]:
|
|
1122
|
+
"""
|
|
1123
|
+
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).
|
|
1124
|
+
"""
|
|
1125
|
+
return pulumi.get(self, "storage_serialization_policy")
|
|
1126
|
+
|
|
1127
|
+
@property
|
|
1128
|
+
@pulumi.getter(name="suspendTaskAfterNumFailures")
|
|
1129
|
+
def suspend_task_after_num_failures(self) -> pulumi.Output[int]:
|
|
1130
|
+
"""
|
|
1131
|
+
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).
|
|
1132
|
+
"""
|
|
1133
|
+
return pulumi.get(self, "suspend_task_after_num_failures")
|
|
1134
|
+
|
|
1135
|
+
@property
|
|
1136
|
+
@pulumi.getter(name="taskAutoRetryAttempts")
|
|
1137
|
+
def task_auto_retry_attempts(self) -> pulumi.Output[int]:
|
|
1138
|
+
"""
|
|
1139
|
+
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).
|
|
1140
|
+
"""
|
|
1141
|
+
return pulumi.get(self, "task_auto_retry_attempts")
|
|
1142
|
+
|
|
1143
|
+
@property
|
|
1144
|
+
@pulumi.getter(name="traceLevel")
|
|
1145
|
+
def trace_level(self) -> pulumi.Output[str]:
|
|
1146
|
+
"""
|
|
1147
|
+
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).
|
|
1148
|
+
"""
|
|
1149
|
+
return pulumi.get(self, "trace_level")
|
|
1150
|
+
|
|
1151
|
+
@property
|
|
1152
|
+
@pulumi.getter(name="userTaskManagedInitialWarehouseSize")
|
|
1153
|
+
def user_task_managed_initial_warehouse_size(self) -> pulumi.Output[str]:
|
|
1154
|
+
"""
|
|
1155
|
+
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).
|
|
1156
|
+
"""
|
|
1157
|
+
return pulumi.get(self, "user_task_managed_initial_warehouse_size")
|
|
1158
|
+
|
|
1159
|
+
@property
|
|
1160
|
+
@pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
|
|
1161
|
+
def user_task_minimum_trigger_interval_in_seconds(self) -> pulumi.Output[int]:
|
|
1162
|
+
"""
|
|
1163
|
+
Minimum amount of time between Triggered Task executions in seconds.
|
|
1164
|
+
"""
|
|
1165
|
+
return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
|
|
1166
|
+
|
|
1167
|
+
@property
|
|
1168
|
+
@pulumi.getter(name="userTaskTimeoutMs")
|
|
1169
|
+
def user_task_timeout_ms(self) -> pulumi.Output[int]:
|
|
548
1170
|
"""
|
|
549
|
-
|
|
1171
|
+
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).
|
|
550
1172
|
"""
|
|
551
|
-
return pulumi.get(self, "
|
|
1173
|
+
return pulumi.get(self, "user_task_timeout_ms")
|
|
552
1174
|
|