pulumi-snowflake 0.57.0a1722063098__py3-none-any.whl → 0.57.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. pulumi_snowflake/__init__.py +20 -0
  2. pulumi_snowflake/_inputs.py +2475 -237
  3. pulumi_snowflake/account_role.py +226 -0
  4. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +4 -0
  5. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +4 -0
  6. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +4 -0
  7. pulumi_snowflake/database.py +63 -63
  8. pulumi_snowflake/external_oauth_integration.py +2 -2
  9. pulumi_snowflake/get_databases.py +2 -2
  10. pulumi_snowflake/get_network_policies.py +122 -0
  11. pulumi_snowflake/get_roles.py +37 -31
  12. pulumi_snowflake/get_schemas.py +117 -36
  13. pulumi_snowflake/get_security_integrations.py +2 -2
  14. pulumi_snowflake/get_streamlits.py +159 -0
  15. pulumi_snowflake/get_warehouses.py +2 -2
  16. pulumi_snowflake/network_policy.py +103 -19
  17. pulumi_snowflake/oauth_integration_for_custom_clients.py +18 -14
  18. pulumi_snowflake/oauth_integration_for_partner_applications.py +18 -14
  19. pulumi_snowflake/outputs.py +5849 -2728
  20. pulumi_snowflake/pulumi-plugin.json +1 -1
  21. pulumi_snowflake/role.py +44 -72
  22. pulumi_snowflake/saml2_integration.py +32 -28
  23. pulumi_snowflake/schema.py +914 -156
  24. pulumi_snowflake/scim_integration.py +25 -21
  25. pulumi_snowflake/secondary_database.py +63 -63
  26. pulumi_snowflake/shared_database.py +63 -63
  27. pulumi_snowflake/streamlit.py +650 -0
  28. pulumi_snowflake/table.py +0 -120
  29. pulumi_snowflake/table_constraint.py +2 -2
  30. pulumi_snowflake/unsafe_execute.py +8 -8
  31. {pulumi_snowflake-0.57.0a1722063098.dist-info → pulumi_snowflake-0.57.1.dist-info}/METADATA +1 -1
  32. {pulumi_snowflake-0.57.0a1722063098.dist-info → pulumi_snowflake-0.57.1.dist-info}/RECORD +34 -30
  33. {pulumi_snowflake-0.57.0a1722063098.dist-info → pulumi_snowflake-0.57.1.dist-info}/WHEEL +1 -1
  34. {pulumi_snowflake-0.57.0a1722063098.dist-info → pulumi_snowflake-0.57.1.dist-info}/top_level.txt +0 -0
@@ -17,38 +17,95 @@ __all__ = ['SchemaArgs', 'Schema']
17
17
  class SchemaArgs:
18
18
  def __init__(__self__, *,
19
19
  database: pulumi.Input[str],
20
+ catalog: Optional[pulumi.Input[str]] = None,
20
21
  comment: Optional[pulumi.Input[str]] = None,
21
- data_retention_days: Optional[pulumi.Input[int]] = None,
22
- is_managed: Optional[pulumi.Input[bool]] = None,
23
- is_transient: Optional[pulumi.Input[bool]] = None,
22
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
23
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
24
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
25
+ external_volume: Optional[pulumi.Input[str]] = None,
26
+ is_transient: Optional[pulumi.Input[str]] = None,
27
+ log_level: Optional[pulumi.Input[str]] = None,
28
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
24
29
  name: Optional[pulumi.Input[str]] = None,
25
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]] = None):
30
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
31
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
32
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
33
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
34
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
35
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
36
+ trace_level: Optional[pulumi.Input[str]] = None,
37
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
38
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
39
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
40
+ with_managed_access: Optional[pulumi.Input[str]] = None):
26
41
  """
27
42
  The set of arguments for constructing a Schema resource.
28
43
  :param pulumi.Input[str] database: The database in which to create the schema.
44
+ :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
45
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
30
- :param pulumi.Input[int] data_retention_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
31
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
32
- :param pulumi.Input[bool] is_transient: Specifies a schema as transient. Transient schemas 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.
33
- :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created.
34
- :param pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]] tags: Definitions of a tag to associate with the resource.
46
+ :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).
47
+ :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).
48
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
49
+ :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).
50
+ :param pulumi.Input[str] is_transient: Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
51
+ :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).
52
+ :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).
53
+ :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
54
+ :param pulumi.Input[bool] pipe_execution_paused: Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
55
+ :param pulumi.Input[bool] quoted_identifiers_ignore_case: If true, the case of quoted identifiers is ignored. For more information, see [QUOTED*IDENTIFIERS*IGNORE_CASE](https://docs.snowflake.com/en/sql-reference/parameters#quoted-identifiers-ignore-case).
56
+ :param pulumi.Input[bool] replace_invalid_characters: Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character (�) in query results for an Iceberg table. You can only set this parameter for tables that use an external Iceberg catalog. For more information, see [REPLACE*INVALID*CHARACTERS](https://docs.snowflake.com/en/sql-reference/parameters#replace-invalid-characters).
57
+ :param pulumi.Input[str] storage_serialization_policy: The storage serialization policy for Iceberg tables that use Snowflake as the catalog. Valid options are: [COMPATIBLE OPTIMIZED]. COMPATIBLE: Snowflake performs encoding and compression of data files that ensures interoperability with third-party compute engines. OPTIMIZED: Snowflake performs encoding and compression of data files that ensures the best table performance within Snowflake. For more information, see [STORAGE*SERIALIZATION*POLICY](https://docs.snowflake.com/en/sql-reference/parameters#storage-serialization-policy).
58
+ :param pulumi.Input[int] suspend_task_after_num_failures: How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending. For more information, see [SUSPEND*TASK*AFTER*NUM*FAILURES](https://docs.snowflake.com/en/sql-reference/parameters#suspend-task-after-num-failures).
59
+ :param pulumi.Input[int] task_auto_retry_attempts: Maximum automatic retries allowed for a user task. For more information, see [TASK*AUTO*RETRY_ATTEMPTS](https://docs.snowflake.com/en/sql-reference/parameters#task-auto-retry-attempts).
60
+ :param pulumi.Input[str] trace_level: Controls how trace events are ingested into the event table. Valid options are: [ALWAYS ON*EVENT OFF]. For information about levels, see [TRACE*LEVEL](https://docs.snowflake.com/en/sql-reference/parameters.html#label-trace-level).
61
+ :param pulumi.Input[str] user_task_managed_initial_warehouse_size: The initial size of warehouse to use for managed warehouses in the absence of history. For more information, see [USER*TASK*MANAGED*INITIAL*WAREHOUSE_SIZE](https://docs.snowflake.com/en/sql-reference/parameters#user-task-managed-initial-warehouse-size).
62
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
63
+ :param pulumi.Input[int] user_task_timeout_ms: User task execution timeout in milliseconds. For more information, see [USER*TASK*TIMEOUT_MS](https://docs.snowflake.com/en/sql-reference/parameters#user-task-timeout-ms).
64
+ :param pulumi.Input[str] with_managed_access: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
35
65
  """
36
66
  pulumi.set(__self__, "database", database)
67
+ if catalog is not None:
68
+ pulumi.set(__self__, "catalog", catalog)
37
69
  if comment is not None:
38
70
  pulumi.set(__self__, "comment", comment)
39
- if data_retention_days is not None:
40
- pulumi.set(__self__, "data_retention_days", data_retention_days)
41
- if is_managed is not None:
42
- pulumi.set(__self__, "is_managed", is_managed)
71
+ if data_retention_time_in_days is not None:
72
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
73
+ if default_ddl_collation is not None:
74
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
75
+ if enable_console_output is not None:
76
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
77
+ if external_volume is not None:
78
+ pulumi.set(__self__, "external_volume", external_volume)
43
79
  if is_transient is not None:
44
80
  pulumi.set(__self__, "is_transient", is_transient)
81
+ if log_level is not None:
82
+ pulumi.set(__self__, "log_level", log_level)
83
+ if max_data_extension_time_in_days is not None:
84
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
45
85
  if name is not None:
46
86
  pulumi.set(__self__, "name", name)
47
- if tags is not None:
48
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
49
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
50
- if tags is not None:
51
- pulumi.set(__self__, "tags", tags)
87
+ if pipe_execution_paused is not None:
88
+ pulumi.set(__self__, "pipe_execution_paused", pipe_execution_paused)
89
+ if quoted_identifiers_ignore_case is not None:
90
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
91
+ if replace_invalid_characters is not None:
92
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
93
+ if storage_serialization_policy is not None:
94
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
95
+ if suspend_task_after_num_failures is not None:
96
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
97
+ if task_auto_retry_attempts is not None:
98
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
99
+ if trace_level is not None:
100
+ pulumi.set(__self__, "trace_level", trace_level)
101
+ if user_task_managed_initial_warehouse_size is not None:
102
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
103
+ if user_task_minimum_trigger_interval_in_seconds is not None:
104
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
105
+ if user_task_timeout_ms is not None:
106
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
107
+ if with_managed_access is not None:
108
+ pulumi.set(__self__, "with_managed_access", with_managed_access)
52
109
 
53
110
  @property
54
111
  @pulumi.getter
@@ -62,6 +119,18 @@ class SchemaArgs:
62
119
  def database(self, value: pulumi.Input[str]):
63
120
  pulumi.set(self, "database", value)
64
121
 
122
+ @property
123
+ @pulumi.getter
124
+ def catalog(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ 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).
127
+ """
128
+ return pulumi.get(self, "catalog")
129
+
130
+ @catalog.setter
131
+ def catalog(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "catalog", value)
133
+
65
134
  @property
66
135
  @pulumi.getter
67
136
  def comment(self) -> Optional[pulumi.Input[str]]:
@@ -75,46 +144,94 @@ class SchemaArgs:
75
144
  pulumi.set(self, "comment", value)
76
145
 
77
146
  @property
78
- @pulumi.getter(name="dataRetentionDays")
79
- def data_retention_days(self) -> Optional[pulumi.Input[int]]:
147
+ @pulumi.getter(name="dataRetentionTimeInDays")
148
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
149
+ """
150
+ 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).
151
+ """
152
+ return pulumi.get(self, "data_retention_time_in_days")
153
+
154
+ @data_retention_time_in_days.setter
155
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
156
+ pulumi.set(self, "data_retention_time_in_days", value)
157
+
158
+ @property
159
+ @pulumi.getter(name="defaultDdlCollation")
160
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ 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).
163
+ """
164
+ return pulumi.get(self, "default_ddl_collation")
165
+
166
+ @default_ddl_collation.setter
167
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "default_ddl_collation", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="enableConsoleOutput")
172
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
80
173
  """
81
- Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
174
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
82
175
  """
83
- return pulumi.get(self, "data_retention_days")
176
+ return pulumi.get(self, "enable_console_output")
84
177
 
85
- @data_retention_days.setter
86
- def data_retention_days(self, value: Optional[pulumi.Input[int]]):
87
- pulumi.set(self, "data_retention_days", value)
178
+ @enable_console_output.setter
179
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
180
+ pulumi.set(self, "enable_console_output", value)
88
181
 
89
182
  @property
90
- @pulumi.getter(name="isManaged")
91
- def is_managed(self) -> Optional[pulumi.Input[bool]]:
183
+ @pulumi.getter(name="externalVolume")
184
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
92
185
  """
93
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
186
+ 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).
94
187
  """
95
- return pulumi.get(self, "is_managed")
188
+ return pulumi.get(self, "external_volume")
96
189
 
97
- @is_managed.setter
98
- def is_managed(self, value: Optional[pulumi.Input[bool]]):
99
- pulumi.set(self, "is_managed", value)
190
+ @external_volume.setter
191
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "external_volume", value)
100
193
 
101
194
  @property
102
195
  @pulumi.getter(name="isTransient")
103
- def is_transient(self) -> Optional[pulumi.Input[bool]]:
196
+ def is_transient(self) -> Optional[pulumi.Input[str]]:
104
197
  """
105
- Specifies a schema as transient. Transient schemas 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.
198
+ Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
106
199
  """
107
200
  return pulumi.get(self, "is_transient")
108
201
 
109
202
  @is_transient.setter
110
- def is_transient(self, value: Optional[pulumi.Input[bool]]):
203
+ def is_transient(self, value: Optional[pulumi.Input[str]]):
111
204
  pulumi.set(self, "is_transient", value)
112
205
 
206
+ @property
207
+ @pulumi.getter(name="logLevel")
208
+ def log_level(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ 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).
211
+ """
212
+ return pulumi.get(self, "log_level")
213
+
214
+ @log_level.setter
215
+ def log_level(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "log_level", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
220
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
221
+ """
222
+ 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).
223
+ """
224
+ return pulumi.get(self, "max_data_extension_time_in_days")
225
+
226
+ @max_data_extension_time_in_days.setter
227
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
228
+ pulumi.set(self, "max_data_extension_time_in_days", value)
229
+
113
230
  @property
114
231
  @pulumi.getter
115
232
  def name(self) -> Optional[pulumi.Input[str]]:
116
233
  """
117
- Specifies the identifier for the schema; must be unique for the database in which the schema is created.
234
+ Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
118
235
  """
119
236
  return pulumi.get(self, "name")
120
237
 
@@ -123,56 +240,256 @@ class SchemaArgs:
123
240
  pulumi.set(self, "name", value)
124
241
 
125
242
  @property
126
- @pulumi.getter
127
- @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
128
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]:
243
+ @pulumi.getter(name="pipeExecutionPaused")
244
+ def pipe_execution_paused(self) -> Optional[pulumi.Input[bool]]:
245
+ """
246
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
247
+ """
248
+ return pulumi.get(self, "pipe_execution_paused")
249
+
250
+ @pipe_execution_paused.setter
251
+ def pipe_execution_paused(self, value: Optional[pulumi.Input[bool]]):
252
+ pulumi.set(self, "pipe_execution_paused", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
256
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
257
+ """
258
+ 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).
259
+ """
260
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
261
+
262
+ @quoted_identifiers_ignore_case.setter
263
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
264
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="replaceInvalidCharacters")
268
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
269
+ """
270
+ 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).
271
+ """
272
+ return pulumi.get(self, "replace_invalid_characters")
273
+
274
+ @replace_invalid_characters.setter
275
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
276
+ pulumi.set(self, "replace_invalid_characters", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="storageSerializationPolicy")
280
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
129
281
  """
130
- Definitions of a tag to associate with the resource.
282
+ 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).
131
283
  """
132
- return pulumi.get(self, "tags")
284
+ return pulumi.get(self, "storage_serialization_policy")
285
+
286
+ @storage_serialization_policy.setter
287
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "storage_serialization_policy", value)
133
289
 
134
- @tags.setter
135
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]):
136
- pulumi.set(self, "tags", value)
290
+ @property
291
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
292
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
293
+ """
294
+ 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).
295
+ """
296
+ return pulumi.get(self, "suspend_task_after_num_failures")
297
+
298
+ @suspend_task_after_num_failures.setter
299
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
300
+ pulumi.set(self, "suspend_task_after_num_failures", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="taskAutoRetryAttempts")
304
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
305
+ """
306
+ 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).
307
+ """
308
+ return pulumi.get(self, "task_auto_retry_attempts")
309
+
310
+ @task_auto_retry_attempts.setter
311
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
312
+ pulumi.set(self, "task_auto_retry_attempts", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="traceLevel")
316
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ 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).
319
+ """
320
+ return pulumi.get(self, "trace_level")
321
+
322
+ @trace_level.setter
323
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "trace_level", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
328
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ 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).
331
+ """
332
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
333
+
334
+ @user_task_managed_initial_warehouse_size.setter
335
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
337
+
338
+ @property
339
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
340
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
341
+ """
342
+ Minimum amount of time between Triggered Task executions in seconds.
343
+ """
344
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
345
+
346
+ @user_task_minimum_trigger_interval_in_seconds.setter
347
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
348
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
349
+
350
+ @property
351
+ @pulumi.getter(name="userTaskTimeoutMs")
352
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
353
+ """
354
+ 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).
355
+ """
356
+ return pulumi.get(self, "user_task_timeout_ms")
357
+
358
+ @user_task_timeout_ms.setter
359
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
360
+ pulumi.set(self, "user_task_timeout_ms", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="withManagedAccess")
364
+ def with_managed_access(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
367
+ """
368
+ return pulumi.get(self, "with_managed_access")
369
+
370
+ @with_managed_access.setter
371
+ def with_managed_access(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "with_managed_access", value)
137
373
 
138
374
 
139
375
  @pulumi.input_type
140
376
  class _SchemaState:
141
377
  def __init__(__self__, *,
378
+ catalog: Optional[pulumi.Input[str]] = None,
142
379
  comment: Optional[pulumi.Input[str]] = None,
143
- data_retention_days: Optional[pulumi.Input[int]] = None,
380
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
144
381
  database: Optional[pulumi.Input[str]] = None,
145
- is_managed: Optional[pulumi.Input[bool]] = None,
146
- is_transient: Optional[pulumi.Input[bool]] = None,
382
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
383
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]] = None,
384
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
385
+ external_volume: Optional[pulumi.Input[str]] = None,
386
+ is_transient: Optional[pulumi.Input[str]] = None,
387
+ log_level: Optional[pulumi.Input[str]] = None,
388
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
147
389
  name: Optional[pulumi.Input[str]] = None,
148
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]] = None):
390
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]] = None,
391
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
392
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
393
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
394
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]] = None,
395
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
396
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
397
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
398
+ trace_level: Optional[pulumi.Input[str]] = None,
399
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
400
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
401
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
402
+ with_managed_access: Optional[pulumi.Input[str]] = None):
149
403
  """
150
404
  Input properties used for looking up and filtering Schema resources.
405
+ :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).
151
406
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
152
- :param pulumi.Input[int] data_retention_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
407
+ :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).
153
408
  :param pulumi.Input[str] database: The database in which to create the schema.
154
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
155
- :param pulumi.Input[bool] is_transient: Specifies a schema as transient. Transient schemas 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.
156
- :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created.
157
- :param pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]] tags: Definitions of a tag to associate with the resource.
409
+ :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).
410
+ :param pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE SCHEMA` for the given object. In order to handle this output, one must grant sufficient privileges, e.g. grant*ownership on all objects in the schema.
411
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
412
+ :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).
413
+ :param pulumi.Input[str] is_transient: Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
414
+ :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).
415
+ :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).
416
+ :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
417
+ :param pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
418
+ :param pulumi.Input[bool] pipe_execution_paused: Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
419
+ :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).
420
+ :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).
421
+ :param pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SCHEMA` for the given object.
422
+ :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).
423
+ :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).
424
+ :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).
425
+ :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).
426
+ :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).
427
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
428
+ :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).
429
+ :param pulumi.Input[str] with_managed_access: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
158
430
  """
431
+ if catalog is not None:
432
+ pulumi.set(__self__, "catalog", catalog)
159
433
  if comment is not None:
160
434
  pulumi.set(__self__, "comment", comment)
161
- if data_retention_days is not None:
162
- pulumi.set(__self__, "data_retention_days", data_retention_days)
435
+ if data_retention_time_in_days is not None:
436
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
163
437
  if database is not None:
164
438
  pulumi.set(__self__, "database", database)
165
- if is_managed is not None:
166
- pulumi.set(__self__, "is_managed", is_managed)
439
+ if default_ddl_collation is not None:
440
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
441
+ if describe_outputs is not None:
442
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
443
+ if enable_console_output is not None:
444
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
445
+ if external_volume is not None:
446
+ pulumi.set(__self__, "external_volume", external_volume)
167
447
  if is_transient is not None:
168
448
  pulumi.set(__self__, "is_transient", is_transient)
449
+ if log_level is not None:
450
+ pulumi.set(__self__, "log_level", log_level)
451
+ if max_data_extension_time_in_days is not None:
452
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
169
453
  if name is not None:
170
454
  pulumi.set(__self__, "name", name)
171
- if tags is not None:
172
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
173
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
174
- if tags is not None:
175
- pulumi.set(__self__, "tags", tags)
455
+ if parameters is not None:
456
+ pulumi.set(__self__, "parameters", parameters)
457
+ if pipe_execution_paused is not None:
458
+ pulumi.set(__self__, "pipe_execution_paused", pipe_execution_paused)
459
+ if quoted_identifiers_ignore_case is not None:
460
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
461
+ if replace_invalid_characters is not None:
462
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
463
+ if show_outputs is not None:
464
+ pulumi.set(__self__, "show_outputs", show_outputs)
465
+ if storage_serialization_policy is not None:
466
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
467
+ if suspend_task_after_num_failures is not None:
468
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
469
+ if task_auto_retry_attempts is not None:
470
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
471
+ if trace_level is not None:
472
+ pulumi.set(__self__, "trace_level", trace_level)
473
+ if user_task_managed_initial_warehouse_size is not None:
474
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
475
+ if user_task_minimum_trigger_interval_in_seconds is not None:
476
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
477
+ if user_task_timeout_ms is not None:
478
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
479
+ if with_managed_access is not None:
480
+ pulumi.set(__self__, "with_managed_access", with_managed_access)
481
+
482
+ @property
483
+ @pulumi.getter
484
+ def catalog(self) -> Optional[pulumi.Input[str]]:
485
+ """
486
+ 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).
487
+ """
488
+ return pulumi.get(self, "catalog")
489
+
490
+ @catalog.setter
491
+ def catalog(self, value: Optional[pulumi.Input[str]]):
492
+ pulumi.set(self, "catalog", value)
176
493
 
177
494
  @property
178
495
  @pulumi.getter
@@ -187,16 +504,16 @@ class _SchemaState:
187
504
  pulumi.set(self, "comment", value)
188
505
 
189
506
  @property
190
- @pulumi.getter(name="dataRetentionDays")
191
- def data_retention_days(self) -> Optional[pulumi.Input[int]]:
507
+ @pulumi.getter(name="dataRetentionTimeInDays")
508
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
192
509
  """
193
- Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
510
+ 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).
194
511
  """
195
- return pulumi.get(self, "data_retention_days")
512
+ return pulumi.get(self, "data_retention_time_in_days")
196
513
 
197
- @data_retention_days.setter
198
- def data_retention_days(self, value: Optional[pulumi.Input[int]]):
199
- pulumi.set(self, "data_retention_days", value)
514
+ @data_retention_time_in_days.setter
515
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
516
+ pulumi.set(self, "data_retention_time_in_days", value)
200
517
 
201
518
  @property
202
519
  @pulumi.getter
@@ -211,34 +528,94 @@ class _SchemaState:
211
528
  pulumi.set(self, "database", value)
212
529
 
213
530
  @property
214
- @pulumi.getter(name="isManaged")
215
- def is_managed(self) -> Optional[pulumi.Input[bool]]:
531
+ @pulumi.getter(name="defaultDdlCollation")
532
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
533
+ """
534
+ 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).
535
+ """
536
+ return pulumi.get(self, "default_ddl_collation")
537
+
538
+ @default_ddl_collation.setter
539
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
540
+ pulumi.set(self, "default_ddl_collation", value)
541
+
542
+ @property
543
+ @pulumi.getter(name="describeOutputs")
544
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]]:
545
+ """
546
+ Outputs the result of `DESCRIBE SCHEMA` for the given object. In order to handle this output, one must grant sufficient privileges, e.g. grant*ownership on all objects in the schema.
547
+ """
548
+ return pulumi.get(self, "describe_outputs")
549
+
550
+ @describe_outputs.setter
551
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]]):
552
+ pulumi.set(self, "describe_outputs", value)
553
+
554
+ @property
555
+ @pulumi.getter(name="enableConsoleOutput")
556
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
216
557
  """
217
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
558
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
218
559
  """
219
- return pulumi.get(self, "is_managed")
560
+ return pulumi.get(self, "enable_console_output")
220
561
 
221
- @is_managed.setter
222
- def is_managed(self, value: Optional[pulumi.Input[bool]]):
223
- pulumi.set(self, "is_managed", value)
562
+ @enable_console_output.setter
563
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
564
+ pulumi.set(self, "enable_console_output", value)
565
+
566
+ @property
567
+ @pulumi.getter(name="externalVolume")
568
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
569
+ """
570
+ 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).
571
+ """
572
+ return pulumi.get(self, "external_volume")
573
+
574
+ @external_volume.setter
575
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
576
+ pulumi.set(self, "external_volume", value)
224
577
 
225
578
  @property
226
579
  @pulumi.getter(name="isTransient")
227
- def is_transient(self) -> Optional[pulumi.Input[bool]]:
580
+ def is_transient(self) -> Optional[pulumi.Input[str]]:
228
581
  """
229
- Specifies a schema as transient. Transient schemas 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.
582
+ Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
230
583
  """
231
584
  return pulumi.get(self, "is_transient")
232
585
 
233
586
  @is_transient.setter
234
- def is_transient(self, value: Optional[pulumi.Input[bool]]):
587
+ def is_transient(self, value: Optional[pulumi.Input[str]]):
235
588
  pulumi.set(self, "is_transient", value)
236
589
 
590
+ @property
591
+ @pulumi.getter(name="logLevel")
592
+ def log_level(self) -> Optional[pulumi.Input[str]]:
593
+ """
594
+ 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).
595
+ """
596
+ return pulumi.get(self, "log_level")
597
+
598
+ @log_level.setter
599
+ def log_level(self, value: Optional[pulumi.Input[str]]):
600
+ pulumi.set(self, "log_level", value)
601
+
602
+ @property
603
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
604
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
605
+ """
606
+ 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).
607
+ """
608
+ return pulumi.get(self, "max_data_extension_time_in_days")
609
+
610
+ @max_data_extension_time_in_days.setter
611
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
612
+ pulumi.set(self, "max_data_extension_time_in_days", value)
613
+
237
614
  @property
238
615
  @pulumi.getter
239
616
  def name(self) -> Optional[pulumi.Input[str]]:
240
617
  """
241
- Specifies the identifier for the schema; must be unique for the database in which the schema is created.
618
+ Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
242
619
  """
243
620
  return pulumi.get(self, "name")
244
621
 
@@ -248,16 +625,159 @@ class _SchemaState:
248
625
 
249
626
  @property
250
627
  @pulumi.getter
251
- @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
252
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]:
628
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]]:
253
629
  """
254
- Definitions of a tag to associate with the resource.
630
+ Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
255
631
  """
256
- return pulumi.get(self, "tags")
632
+ return pulumi.get(self, "parameters")
257
633
 
258
- @tags.setter
259
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]):
260
- pulumi.set(self, "tags", value)
634
+ @parameters.setter
635
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]]):
636
+ pulumi.set(self, "parameters", value)
637
+
638
+ @property
639
+ @pulumi.getter(name="pipeExecutionPaused")
640
+ def pipe_execution_paused(self) -> Optional[pulumi.Input[bool]]:
641
+ """
642
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
643
+ """
644
+ return pulumi.get(self, "pipe_execution_paused")
645
+
646
+ @pipe_execution_paused.setter
647
+ def pipe_execution_paused(self, value: Optional[pulumi.Input[bool]]):
648
+ pulumi.set(self, "pipe_execution_paused", value)
649
+
650
+ @property
651
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
652
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
653
+ """
654
+ 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).
655
+ """
656
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
657
+
658
+ @quoted_identifiers_ignore_case.setter
659
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
660
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
661
+
662
+ @property
663
+ @pulumi.getter(name="replaceInvalidCharacters")
664
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
665
+ """
666
+ 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).
667
+ """
668
+ return pulumi.get(self, "replace_invalid_characters")
669
+
670
+ @replace_invalid_characters.setter
671
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
672
+ pulumi.set(self, "replace_invalid_characters", value)
673
+
674
+ @property
675
+ @pulumi.getter(name="showOutputs")
676
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]]:
677
+ """
678
+ Outputs the result of `SHOW SCHEMA` for the given object.
679
+ """
680
+ return pulumi.get(self, "show_outputs")
681
+
682
+ @show_outputs.setter
683
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]]):
684
+ pulumi.set(self, "show_outputs", value)
685
+
686
+ @property
687
+ @pulumi.getter(name="storageSerializationPolicy")
688
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
689
+ """
690
+ 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).
691
+ """
692
+ return pulumi.get(self, "storage_serialization_policy")
693
+
694
+ @storage_serialization_policy.setter
695
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
696
+ pulumi.set(self, "storage_serialization_policy", value)
697
+
698
+ @property
699
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
700
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
701
+ """
702
+ 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).
703
+ """
704
+ return pulumi.get(self, "suspend_task_after_num_failures")
705
+
706
+ @suspend_task_after_num_failures.setter
707
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
708
+ pulumi.set(self, "suspend_task_after_num_failures", value)
709
+
710
+ @property
711
+ @pulumi.getter(name="taskAutoRetryAttempts")
712
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
713
+ """
714
+ 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).
715
+ """
716
+ return pulumi.get(self, "task_auto_retry_attempts")
717
+
718
+ @task_auto_retry_attempts.setter
719
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
720
+ pulumi.set(self, "task_auto_retry_attempts", value)
721
+
722
+ @property
723
+ @pulumi.getter(name="traceLevel")
724
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
725
+ """
726
+ 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).
727
+ """
728
+ return pulumi.get(self, "trace_level")
729
+
730
+ @trace_level.setter
731
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
732
+ pulumi.set(self, "trace_level", value)
733
+
734
+ @property
735
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
736
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
737
+ """
738
+ 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).
739
+ """
740
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
741
+
742
+ @user_task_managed_initial_warehouse_size.setter
743
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
744
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
745
+
746
+ @property
747
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
748
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
749
+ """
750
+ Minimum amount of time between Triggered Task executions in seconds.
751
+ """
752
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
753
+
754
+ @user_task_minimum_trigger_interval_in_seconds.setter
755
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
756
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
757
+
758
+ @property
759
+ @pulumi.getter(name="userTaskTimeoutMs")
760
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
761
+ """
762
+ 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).
763
+ """
764
+ return pulumi.get(self, "user_task_timeout_ms")
765
+
766
+ @user_task_timeout_ms.setter
767
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
768
+ pulumi.set(self, "user_task_timeout_ms", value)
769
+
770
+ @property
771
+ @pulumi.getter(name="withManagedAccess")
772
+ def with_managed_access(self) -> Optional[pulumi.Input[str]]:
773
+ """
774
+ Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
775
+ """
776
+ return pulumi.get(self, "with_managed_access")
777
+
778
+ @with_managed_access.setter
779
+ def with_managed_access(self, value: Optional[pulumi.Input[str]]):
780
+ pulumi.set(self, "with_managed_access", value)
261
781
 
262
782
 
263
783
  class Schema(pulumi.CustomResource):
@@ -265,29 +785,33 @@ class Schema(pulumi.CustomResource):
265
785
  def __init__(__self__,
266
786
  resource_name: str,
267
787
  opts: Optional[pulumi.ResourceOptions] = None,
788
+ catalog: Optional[pulumi.Input[str]] = None,
268
789
  comment: Optional[pulumi.Input[str]] = None,
269
- data_retention_days: Optional[pulumi.Input[int]] = None,
790
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
270
791
  database: Optional[pulumi.Input[str]] = None,
271
- is_managed: Optional[pulumi.Input[bool]] = None,
272
- is_transient: Optional[pulumi.Input[bool]] = None,
792
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
793
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
794
+ external_volume: Optional[pulumi.Input[str]] = None,
795
+ is_transient: Optional[pulumi.Input[str]] = None,
796
+ log_level: Optional[pulumi.Input[str]] = None,
797
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
273
798
  name: Optional[pulumi.Input[str]] = None,
274
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None,
799
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
800
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
801
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
802
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
803
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
804
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
805
+ trace_level: Optional[pulumi.Input[str]] = None,
806
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
807
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
808
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
809
+ with_managed_access: Optional[pulumi.Input[str]] = None,
275
810
  __props__=None):
276
811
  """
277
- ## Example Usage
278
-
279
- ```python
280
- import pulumi
281
- import pulumi_snowflake as snowflake
812
+ !> **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.
282
813
 
283
- schema = snowflake.Schema("schema",
284
- database="database",
285
- name="schema",
286
- comment="A schema.",
287
- is_transient=False,
288
- is_managed=False,
289
- data_retention_days=1)
290
- ```
814
+ Resource used to manage schema objects. For more information, check [schema documentation](https://docs.snowflake.com/en/sql-reference/sql/create-schema).
291
815
 
292
816
  ## Import
293
817
 
@@ -299,13 +823,28 @@ class Schema(pulumi.CustomResource):
299
823
 
300
824
  :param str resource_name: The name of the resource.
301
825
  :param pulumi.ResourceOptions opts: Options for the resource.
826
+ :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).
302
827
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
303
- :param pulumi.Input[int] data_retention_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
828
+ :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).
304
829
  :param pulumi.Input[str] database: The database in which to create the schema.
305
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
306
- :param pulumi.Input[bool] is_transient: Specifies a schema as transient. Transient schemas 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.
307
- :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created.
308
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]] tags: Definitions of a tag to associate with the resource.
830
+ :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).
831
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
832
+ :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).
833
+ :param pulumi.Input[str] is_transient: Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
834
+ :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).
835
+ :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).
836
+ :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
837
+ :param pulumi.Input[bool] pipe_execution_paused: Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
838
+ :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).
839
+ :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).
840
+ :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).
841
+ :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).
842
+ :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).
843
+ :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).
844
+ :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).
845
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
846
+ :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).
847
+ :param pulumi.Input[str] with_managed_access: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
309
848
  """
310
849
  ...
311
850
  @overload
@@ -314,20 +853,9 @@ class Schema(pulumi.CustomResource):
314
853
  args: SchemaArgs,
315
854
  opts: Optional[pulumi.ResourceOptions] = None):
316
855
  """
317
- ## Example Usage
318
-
319
- ```python
320
- import pulumi
321
- import pulumi_snowflake as snowflake
856
+ !> **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.
322
857
 
323
- schema = snowflake.Schema("schema",
324
- database="database",
325
- name="schema",
326
- comment="A schema.",
327
- is_transient=False,
328
- is_managed=False,
329
- data_retention_days=1)
330
- ```
858
+ Resource used to manage schema objects. For more information, check [schema documentation](https://docs.snowflake.com/en/sql-reference/sql/create-schema).
331
859
 
332
860
  ## Import
333
861
 
@@ -352,13 +880,28 @@ class Schema(pulumi.CustomResource):
352
880
  def _internal_init(__self__,
353
881
  resource_name: str,
354
882
  opts: Optional[pulumi.ResourceOptions] = None,
883
+ catalog: Optional[pulumi.Input[str]] = None,
355
884
  comment: Optional[pulumi.Input[str]] = None,
356
- data_retention_days: Optional[pulumi.Input[int]] = None,
885
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
357
886
  database: Optional[pulumi.Input[str]] = None,
358
- is_managed: Optional[pulumi.Input[bool]] = None,
359
- is_transient: Optional[pulumi.Input[bool]] = None,
887
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
888
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
889
+ external_volume: Optional[pulumi.Input[str]] = None,
890
+ is_transient: Optional[pulumi.Input[str]] = None,
891
+ log_level: Optional[pulumi.Input[str]] = None,
892
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
360
893
  name: Optional[pulumi.Input[str]] = None,
361
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None,
894
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
895
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
896
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
897
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
898
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
899
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
900
+ trace_level: Optional[pulumi.Input[str]] = None,
901
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
902
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
903
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
904
+ with_managed_access: Optional[pulumi.Input[str]] = None,
362
905
  __props__=None):
363
906
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
364
907
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -368,15 +911,33 @@ class Schema(pulumi.CustomResource):
368
911
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
369
912
  __props__ = SchemaArgs.__new__(SchemaArgs)
370
913
 
914
+ __props__.__dict__["catalog"] = catalog
371
915
  __props__.__dict__["comment"] = comment
372
- __props__.__dict__["data_retention_days"] = data_retention_days
916
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
373
917
  if database is None and not opts.urn:
374
918
  raise TypeError("Missing required property 'database'")
375
919
  __props__.__dict__["database"] = database
376
- __props__.__dict__["is_managed"] = is_managed
920
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
921
+ __props__.__dict__["enable_console_output"] = enable_console_output
922
+ __props__.__dict__["external_volume"] = external_volume
377
923
  __props__.__dict__["is_transient"] = is_transient
924
+ __props__.__dict__["log_level"] = log_level
925
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
378
926
  __props__.__dict__["name"] = name
379
- __props__.__dict__["tags"] = tags
927
+ __props__.__dict__["pipe_execution_paused"] = pipe_execution_paused
928
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
929
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
930
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
931
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
932
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
933
+ __props__.__dict__["trace_level"] = trace_level
934
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
935
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
936
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
937
+ __props__.__dict__["with_managed_access"] = with_managed_access
938
+ __props__.__dict__["describe_outputs"] = None
939
+ __props__.__dict__["parameters"] = None
940
+ __props__.__dict__["show_outputs"] = None
380
941
  super(Schema, __self__).__init__(
381
942
  'snowflake:index/schema:Schema',
382
943
  resource_name,
@@ -387,13 +948,31 @@ class Schema(pulumi.CustomResource):
387
948
  def get(resource_name: str,
388
949
  id: pulumi.Input[str],
389
950
  opts: Optional[pulumi.ResourceOptions] = None,
951
+ catalog: Optional[pulumi.Input[str]] = None,
390
952
  comment: Optional[pulumi.Input[str]] = None,
391
- data_retention_days: Optional[pulumi.Input[int]] = None,
953
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
392
954
  database: Optional[pulumi.Input[str]] = None,
393
- is_managed: Optional[pulumi.Input[bool]] = None,
394
- is_transient: Optional[pulumi.Input[bool]] = None,
955
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
956
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaDescribeOutputArgs']]]]] = None,
957
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
958
+ external_volume: Optional[pulumi.Input[str]] = None,
959
+ is_transient: Optional[pulumi.Input[str]] = None,
960
+ log_level: Optional[pulumi.Input[str]] = None,
961
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
395
962
  name: Optional[pulumi.Input[str]] = None,
396
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None) -> 'Schema':
963
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaParameterArgs']]]]] = None,
964
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
965
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
966
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
967
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaShowOutputArgs']]]]] = None,
968
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
969
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
970
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
971
+ trace_level: Optional[pulumi.Input[str]] = None,
972
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
973
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
974
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
975
+ with_managed_access: Optional[pulumi.Input[str]] = None) -> 'Schema':
397
976
  """
398
977
  Get an existing Schema resource's state with the given name, id, and optional extra
399
978
  properties used to qualify the lookup.
@@ -401,27 +980,71 @@ class Schema(pulumi.CustomResource):
401
980
  :param str resource_name: The unique name of the resulting resource.
402
981
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
403
982
  :param pulumi.ResourceOptions opts: Options for the resource.
983
+ :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).
404
984
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
405
- :param pulumi.Input[int] data_retention_days: Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
985
+ :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).
406
986
  :param pulumi.Input[str] database: The database in which to create the schema.
407
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
408
- :param pulumi.Input[bool] is_transient: Specifies a schema as transient. Transient schemas 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.
409
- :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created.
410
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]] tags: Definitions of a tag to associate with the resource.
987
+ :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).
988
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE SCHEMA` for the given object. In order to handle this output, one must grant sufficient privileges, e.g. grant*ownership on all objects in the schema.
989
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
990
+ :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).
991
+ :param pulumi.Input[str] is_transient: Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
992
+ :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).
993
+ :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).
994
+ :param pulumi.Input[str] name: Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
995
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaParameterArgs']]]] parameters: Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
996
+ :param pulumi.Input[bool] pipe_execution_paused: Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
997
+ :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).
998
+ :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).
999
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW SCHEMA` for the given object.
1000
+ :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).
1001
+ :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).
1002
+ :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).
1003
+ :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).
1004
+ :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).
1005
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
1006
+ :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).
1007
+ :param pulumi.Input[str] with_managed_access: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
411
1008
  """
412
1009
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
413
1010
 
414
1011
  __props__ = _SchemaState.__new__(_SchemaState)
415
1012
 
1013
+ __props__.__dict__["catalog"] = catalog
416
1014
  __props__.__dict__["comment"] = comment
417
- __props__.__dict__["data_retention_days"] = data_retention_days
1015
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
418
1016
  __props__.__dict__["database"] = database
419
- __props__.__dict__["is_managed"] = is_managed
1017
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
1018
+ __props__.__dict__["describe_outputs"] = describe_outputs
1019
+ __props__.__dict__["enable_console_output"] = enable_console_output
1020
+ __props__.__dict__["external_volume"] = external_volume
420
1021
  __props__.__dict__["is_transient"] = is_transient
1022
+ __props__.__dict__["log_level"] = log_level
1023
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
421
1024
  __props__.__dict__["name"] = name
422
- __props__.__dict__["tags"] = tags
1025
+ __props__.__dict__["parameters"] = parameters
1026
+ __props__.__dict__["pipe_execution_paused"] = pipe_execution_paused
1027
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
1028
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
1029
+ __props__.__dict__["show_outputs"] = show_outputs
1030
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
1031
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
1032
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
1033
+ __props__.__dict__["trace_level"] = trace_level
1034
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
1035
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
1036
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
1037
+ __props__.__dict__["with_managed_access"] = with_managed_access
423
1038
  return Schema(resource_name, opts=opts, __props__=__props__)
424
1039
 
1040
+ @property
1041
+ @pulumi.getter
1042
+ def catalog(self) -> pulumi.Output[str]:
1043
+ """
1044
+ 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).
1045
+ """
1046
+ return pulumi.get(self, "catalog")
1047
+
425
1048
  @property
426
1049
  @pulumi.getter
427
1050
  def comment(self) -> pulumi.Output[Optional[str]]:
@@ -431,12 +1054,12 @@ class Schema(pulumi.CustomResource):
431
1054
  return pulumi.get(self, "comment")
432
1055
 
433
1056
  @property
434
- @pulumi.getter(name="dataRetentionDays")
435
- def data_retention_days(self) -> pulumi.Output[Optional[int]]:
1057
+ @pulumi.getter(name="dataRetentionTimeInDays")
1058
+ def data_retention_time_in_days(self) -> pulumi.Output[int]:
436
1059
  """
437
- Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema, as well as specifying the default Time Travel retention time for all tables created in the schema. Default value for this field is set to -1, which is a fallback to use Snowflake default.
1060
+ 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).
438
1061
  """
439
- return pulumi.get(self, "data_retention_days")
1062
+ return pulumi.get(self, "data_retention_time_in_days")
440
1063
 
441
1064
  @property
442
1065
  @pulumi.getter
@@ -447,35 +1070,170 @@ class Schema(pulumi.CustomResource):
447
1070
  return pulumi.get(self, "database")
448
1071
 
449
1072
  @property
450
- @pulumi.getter(name="isManaged")
451
- def is_managed(self) -> pulumi.Output[Optional[bool]]:
1073
+ @pulumi.getter(name="defaultDdlCollation")
1074
+ def default_ddl_collation(self) -> pulumi.Output[str]:
1075
+ """
1076
+ 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).
1077
+ """
1078
+ return pulumi.get(self, "default_ddl_collation")
1079
+
1080
+ @property
1081
+ @pulumi.getter(name="describeOutputs")
1082
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.SchemaDescribeOutput']]:
1083
+ """
1084
+ Outputs the result of `DESCRIBE SCHEMA` for the given object. In order to handle this output, one must grant sufficient privileges, e.g. grant*ownership on all objects in the schema.
1085
+ """
1086
+ return pulumi.get(self, "describe_outputs")
1087
+
1088
+ @property
1089
+ @pulumi.getter(name="enableConsoleOutput")
1090
+ def enable_console_output(self) -> pulumi.Output[bool]:
1091
+ """
1092
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
1093
+ """
1094
+ return pulumi.get(self, "enable_console_output")
1095
+
1096
+ @property
1097
+ @pulumi.getter(name="externalVolume")
1098
+ def external_volume(self) -> pulumi.Output[str]:
452
1099
  """
453
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
1100
+ 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).
454
1101
  """
455
- return pulumi.get(self, "is_managed")
1102
+ return pulumi.get(self, "external_volume")
456
1103
 
457
1104
  @property
458
1105
  @pulumi.getter(name="isTransient")
459
- def is_transient(self) -> pulumi.Output[Optional[bool]]:
1106
+ def is_transient(self) -> pulumi.Output[Optional[str]]:
460
1107
  """
461
- Specifies a schema as transient. Transient schemas 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.
1108
+ Specifies the schema as transient. Transient schemas 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. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
462
1109
  """
463
1110
  return pulumi.get(self, "is_transient")
464
1111
 
1112
+ @property
1113
+ @pulumi.getter(name="logLevel")
1114
+ def log_level(self) -> pulumi.Output[str]:
1115
+ """
1116
+ 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).
1117
+ """
1118
+ return pulumi.get(self, "log_level")
1119
+
1120
+ @property
1121
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
1122
+ def max_data_extension_time_in_days(self) -> pulumi.Output[int]:
1123
+ """
1124
+ 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).
1125
+ """
1126
+ return pulumi.get(self, "max_data_extension_time_in_days")
1127
+
465
1128
  @property
466
1129
  @pulumi.getter
467
1130
  def name(self) -> pulumi.Output[str]:
468
1131
  """
469
- Specifies the identifier for the schema; must be unique for the database in which the schema is created.
1132
+ Specifies the identifier for the schema; must be unique for the database in which the schema is created. When the name is `PUBLIC`, during creation the provider checks if this schema has already been created and, in such case, `ALTER` is used to match the desired state.
470
1133
  """
471
1134
  return pulumi.get(self, "name")
472
1135
 
473
1136
  @property
474
1137
  @pulumi.getter
475
- @_utilities.deprecated("""Use the 'snowflake_tag_association' resource instead.""")
476
- def tags(self) -> pulumi.Output[Optional[Sequence['outputs.SchemaTag']]]:
1138
+ def parameters(self) -> pulumi.Output[Sequence['outputs.SchemaParameter']]:
1139
+ """
1140
+ Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
1141
+ """
1142
+ return pulumi.get(self, "parameters")
1143
+
1144
+ @property
1145
+ @pulumi.getter(name="pipeExecutionPaused")
1146
+ def pipe_execution_paused(self) -> pulumi.Output[bool]:
1147
+ """
1148
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, see [PIPE*EXECUTION*PAUSED](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
1149
+ """
1150
+ return pulumi.get(self, "pipe_execution_paused")
1151
+
1152
+ @property
1153
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
1154
+ def quoted_identifiers_ignore_case(self) -> pulumi.Output[bool]:
1155
+ """
1156
+ 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).
1157
+ """
1158
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
1159
+
1160
+ @property
1161
+ @pulumi.getter(name="replaceInvalidCharacters")
1162
+ def replace_invalid_characters(self) -> pulumi.Output[bool]:
1163
+ """
1164
+ 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).
1165
+ """
1166
+ return pulumi.get(self, "replace_invalid_characters")
1167
+
1168
+ @property
1169
+ @pulumi.getter(name="showOutputs")
1170
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.SchemaShowOutput']]:
1171
+ """
1172
+ Outputs the result of `SHOW SCHEMA` for the given object.
1173
+ """
1174
+ return pulumi.get(self, "show_outputs")
1175
+
1176
+ @property
1177
+ @pulumi.getter(name="storageSerializationPolicy")
1178
+ def storage_serialization_policy(self) -> pulumi.Output[str]:
1179
+ """
1180
+ 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).
1181
+ """
1182
+ return pulumi.get(self, "storage_serialization_policy")
1183
+
1184
+ @property
1185
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
1186
+ def suspend_task_after_num_failures(self) -> pulumi.Output[int]:
1187
+ """
1188
+ 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).
1189
+ """
1190
+ return pulumi.get(self, "suspend_task_after_num_failures")
1191
+
1192
+ @property
1193
+ @pulumi.getter(name="taskAutoRetryAttempts")
1194
+ def task_auto_retry_attempts(self) -> pulumi.Output[int]:
1195
+ """
1196
+ 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).
1197
+ """
1198
+ return pulumi.get(self, "task_auto_retry_attempts")
1199
+
1200
+ @property
1201
+ @pulumi.getter(name="traceLevel")
1202
+ def trace_level(self) -> pulumi.Output[str]:
1203
+ """
1204
+ 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).
1205
+ """
1206
+ return pulumi.get(self, "trace_level")
1207
+
1208
+ @property
1209
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
1210
+ def user_task_managed_initial_warehouse_size(self) -> pulumi.Output[str]:
1211
+ """
1212
+ 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).
1213
+ """
1214
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
1218
+ def user_task_minimum_trigger_interval_in_seconds(self) -> pulumi.Output[int]:
1219
+ """
1220
+ Minimum amount of time between Triggered Task executions in seconds.
1221
+ """
1222
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
1223
+
1224
+ @property
1225
+ @pulumi.getter(name="userTaskTimeoutMs")
1226
+ def user_task_timeout_ms(self) -> pulumi.Output[int]:
1227
+ """
1228
+ 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).
1229
+ """
1230
+ return pulumi.get(self, "user_task_timeout_ms")
1231
+
1232
+ @property
1233
+ @pulumi.getter(name="withManagedAccess")
1234
+ def with_managed_access(self) -> pulumi.Output[Optional[str]]:
477
1235
  """
478
- Definitions of a tag to associate with the resource.
1236
+ Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
479
1237
  """
480
- return pulumi.get(self, "tags")
1238
+ return pulumi.get(self, "with_managed_access")
481
1239