pulumi-snowflake 0.50.3a1710160126__py3-none-any.whl → 1.2.0a1736835738__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (182) hide show
  1. pulumi_snowflake/__init__.py +224 -172
  2. pulumi_snowflake/_inputs.py +52857 -1665
  3. pulumi_snowflake/_utilities.py +41 -5
  4. pulumi_snowflake/account.py +188 -218
  5. pulumi_snowflake/account_authentication_policy_attachment.py +149 -0
  6. pulumi_snowflake/account_parameter.py +21 -48
  7. pulumi_snowflake/account_password_policy_attachment.py +7 -32
  8. pulumi_snowflake/account_role.py +250 -0
  9. pulumi_snowflake/alert.py +38 -47
  10. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +704 -0
  11. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +657 -0
  12. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +692 -0
  13. pulumi_snowflake/api_integration.py +33 -52
  14. pulumi_snowflake/authentication_policy.py +622 -0
  15. pulumi_snowflake/config/__init__.pyi +76 -99
  16. pulumi_snowflake/config/outputs.py +5 -0
  17. pulumi_snowflake/config/vars.py +93 -124
  18. pulumi_snowflake/cortex_search_service.py +596 -0
  19. pulumi_snowflake/database.py +819 -213
  20. pulumi_snowflake/database_role.py +81 -44
  21. pulumi_snowflake/dynamic_table.py +42 -49
  22. pulumi_snowflake/email_notification_integration.py +33 -28
  23. pulumi_snowflake/{unsafe_execute.py → execute.py} +36 -39
  24. pulumi_snowflake/external_function.py +54 -75
  25. pulumi_snowflake/external_oauth_integration.py +593 -542
  26. pulumi_snowflake/external_table.py +67 -90
  27. pulumi_snowflake/external_volume.py +382 -0
  28. pulumi_snowflake/failover_group.py +57 -98
  29. pulumi_snowflake/file_format.py +33 -28
  30. pulumi_snowflake/function_java.py +1211 -0
  31. pulumi_snowflake/function_javascript.py +882 -0
  32. pulumi_snowflake/function_python.py +1212 -0
  33. pulumi_snowflake/function_scala.py +1212 -0
  34. pulumi_snowflake/function_sql.py +835 -0
  35. pulumi_snowflake/get_account_roles.py +129 -0
  36. pulumi_snowflake/get_accounts.py +53 -22
  37. pulumi_snowflake/get_alerts.py +22 -9
  38. pulumi_snowflake/get_connections.py +109 -0
  39. pulumi_snowflake/get_cortex_search_services.py +216 -0
  40. pulumi_snowflake/get_current_account.py +24 -13
  41. pulumi_snowflake/get_current_role.py +14 -7
  42. pulumi_snowflake/get_database.py +25 -9
  43. pulumi_snowflake/get_database_role.py +162 -0
  44. pulumi_snowflake/get_database_roles.py +79 -47
  45. pulumi_snowflake/get_databases.py +91 -73
  46. pulumi_snowflake/get_dynamic_tables.py +36 -19
  47. pulumi_snowflake/get_external_functions.py +28 -9
  48. pulumi_snowflake/get_external_tables.py +28 -9
  49. pulumi_snowflake/get_failover_groups.py +18 -7
  50. pulumi_snowflake/get_file_formats.py +28 -9
  51. pulumi_snowflake/get_functions.py +28 -9
  52. pulumi_snowflake/get_grants.py +207 -84
  53. pulumi_snowflake/get_masking_policies.py +91 -51
  54. pulumi_snowflake/get_materialized_views.py +28 -9
  55. pulumi_snowflake/get_network_policies.py +129 -0
  56. pulumi_snowflake/get_parameters.py +38 -15
  57. pulumi_snowflake/get_pipes.py +28 -9
  58. pulumi_snowflake/get_procedures.py +28 -9
  59. pulumi_snowflake/get_resource_monitors.py +37 -24
  60. pulumi_snowflake/get_row_access_policies.py +91 -51
  61. pulumi_snowflake/get_schemas.py +145 -41
  62. pulumi_snowflake/get_secrets.py +200 -0
  63. pulumi_snowflake/get_security_integrations.py +129 -0
  64. pulumi_snowflake/get_sequences.py +28 -9
  65. pulumi_snowflake/get_shares.py +18 -9
  66. pulumi_snowflake/get_stages.py +28 -9
  67. pulumi_snowflake/get_storage_integrations.py +16 -9
  68. pulumi_snowflake/get_streamlits.py +170 -0
  69. pulumi_snowflake/get_streams.py +114 -54
  70. pulumi_snowflake/get_system_generate_scim_access_token.py +18 -9
  71. pulumi_snowflake/get_system_get_aws_sns_iam_policy.py +32 -7
  72. pulumi_snowflake/get_system_get_private_link_config.py +120 -5
  73. pulumi_snowflake/get_system_get_snowflake_platform_info.py +15 -7
  74. pulumi_snowflake/get_tables.py +28 -9
  75. pulumi_snowflake/get_tags.py +130 -0
  76. pulumi_snowflake/get_tasks.py +134 -54
  77. pulumi_snowflake/get_users.py +116 -44
  78. pulumi_snowflake/get_views.py +114 -54
  79. pulumi_snowflake/get_warehouses.py +79 -26
  80. pulumi_snowflake/grant_account_role.py +28 -75
  81. pulumi_snowflake/grant_application_role.py +257 -0
  82. pulumi_snowflake/grant_database_role.py +35 -94
  83. pulumi_snowflake/grant_ownership.py +382 -0
  84. pulumi_snowflake/grant_privileges_to_account_role.py +42 -78
  85. pulumi_snowflake/grant_privileges_to_database_role.py +37 -383
  86. pulumi_snowflake/grant_privileges_to_share.py +96 -44
  87. pulumi_snowflake/legacy_service_user.py +3670 -0
  88. pulumi_snowflake/managed_account.py +40 -11
  89. pulumi_snowflake/masking_policy.py +213 -310
  90. pulumi_snowflake/materialized_view.py +62 -71
  91. pulumi_snowflake/network_policy.py +217 -61
  92. pulumi_snowflake/network_policy_attachment.py +5 -34
  93. pulumi_snowflake/network_rule.py +473 -0
  94. pulumi_snowflake/notification_integration.py +49 -84
  95. pulumi_snowflake/oauth_integration_for_custom_clients.py +906 -0
  96. pulumi_snowflake/{oauth_integration.py → oauth_integration_for_partner_applications.py} +191 -192
  97. pulumi_snowflake/object_parameter.py +10 -101
  98. pulumi_snowflake/outputs.py +49200 -2928
  99. pulumi_snowflake/password_policy.py +41 -28
  100. pulumi_snowflake/pipe.py +33 -4
  101. pulumi_snowflake/primary_connection.py +330 -0
  102. pulumi_snowflake/procedure_java.py +1273 -0
  103. pulumi_snowflake/procedure_javascript.py +895 -0
  104. pulumi_snowflake/procedure_python.py +1226 -0
  105. pulumi_snowflake/procedure_scala.py +1273 -0
  106. pulumi_snowflake/procedure_sql.py +895 -0
  107. pulumi_snowflake/provider.py +378 -613
  108. pulumi_snowflake/pulumi-plugin.json +2 -1
  109. pulumi_snowflake/resource_monitor.py +118 -327
  110. pulumi_snowflake/row_access_policy.py +200 -149
  111. pulumi_snowflake/{saml_integration.py → saml2_integration.py} +356 -299
  112. pulumi_snowflake/schema.py +949 -178
  113. pulumi_snowflake/scim_integration.py +286 -109
  114. pulumi_snowflake/secondary_connection.py +339 -0
  115. pulumi_snowflake/secondary_database.py +1080 -0
  116. pulumi_snowflake/secret_with_authorization_code_grant.py +548 -0
  117. pulumi_snowflake/secret_with_basic_authentication.py +500 -0
  118. pulumi_snowflake/secret_with_client_credentials.py +511 -0
  119. pulumi_snowflake/secret_with_generic_string.py +452 -0
  120. pulumi_snowflake/sequence.py +9 -34
  121. pulumi_snowflake/service_user.py +3585 -0
  122. pulumi_snowflake/share.py +33 -28
  123. pulumi_snowflake/shared_database.py +939 -0
  124. pulumi_snowflake/stage.py +95 -84
  125. pulumi_snowflake/storage_integration.py +46 -4
  126. pulumi_snowflake/stream_on_directory_table.py +517 -0
  127. pulumi_snowflake/stream_on_external_table.py +632 -0
  128. pulumi_snowflake/stream_on_table.py +666 -0
  129. pulumi_snowflake/stream_on_view.py +666 -0
  130. pulumi_snowflake/streamlit.py +671 -0
  131. pulumi_snowflake/table.py +86 -97
  132. pulumi_snowflake/table_column_masking_policy_application.py +7 -14
  133. pulumi_snowflake/table_constraint.py +29 -172
  134. pulumi_snowflake/tag.py +142 -74
  135. pulumi_snowflake/tag_association.py +40 -215
  136. pulumi_snowflake/task.py +3048 -418
  137. pulumi_snowflake/user.py +3351 -384
  138. pulumi_snowflake/user_authentication_policy_attachment.py +197 -0
  139. pulumi_snowflake/user_password_policy_attachment.py +5 -4
  140. pulumi_snowflake/user_public_keys.py +5 -0
  141. pulumi_snowflake/view.py +466 -215
  142. pulumi_snowflake/warehouse.py +184 -168
  143. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/METADATA +7 -6
  144. pulumi_snowflake-1.2.0a1736835738.dist-info/RECORD +148 -0
  145. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/WHEEL +1 -1
  146. pulumi_snowflake/account_grant.py +0 -343
  147. pulumi_snowflake/database_grant.py +0 -495
  148. pulumi_snowflake/external_table_grant.py +0 -690
  149. pulumi_snowflake/failover_group_grant.py +0 -388
  150. pulumi_snowflake/file_format_grant.py +0 -635
  151. pulumi_snowflake/function.py +0 -872
  152. pulumi_snowflake/function_grant.py +0 -745
  153. pulumi_snowflake/get_role.py +0 -121
  154. pulumi_snowflake/get_roles.py +0 -120
  155. pulumi_snowflake/grant_privileges_to_role.py +0 -825
  156. pulumi_snowflake/integration_grant.py +0 -440
  157. pulumi_snowflake/masking_policy_grant.py +0 -542
  158. pulumi_snowflake/materialized_view_grant.py +0 -689
  159. pulumi_snowflake/pipe_grant.py +0 -587
  160. pulumi_snowflake/procedure.py +0 -887
  161. pulumi_snowflake/procedure_grant.py +0 -745
  162. pulumi_snowflake/resource_monitor_grant.py +0 -387
  163. pulumi_snowflake/role.py +0 -273
  164. pulumi_snowflake/role_grants.py +0 -352
  165. pulumi_snowflake/role_ownership_grant.py +0 -338
  166. pulumi_snowflake/row_access_policy_grant.py +0 -540
  167. pulumi_snowflake/schema_grant.py +0 -647
  168. pulumi_snowflake/sequence_grant.py +0 -635
  169. pulumi_snowflake/session_parameter.py +0 -332
  170. pulumi_snowflake/stage_grant.py +0 -635
  171. pulumi_snowflake/stream.py +0 -614
  172. pulumi_snowflake/stream_grant.py +0 -635
  173. pulumi_snowflake/table_grant.py +0 -677
  174. pulumi_snowflake/tag_grant.py +0 -532
  175. pulumi_snowflake/tag_masking_policy_association.py +0 -210
  176. pulumi_snowflake/task_grant.py +0 -635
  177. pulumi_snowflake/user_grant.py +0 -394
  178. pulumi_snowflake/user_ownership_grant.py +0 -286
  179. pulumi_snowflake/view_grant.py +0 -705
  180. pulumi_snowflake/warehouse_grant.py +0 -440
  181. pulumi_snowflake-0.50.3a1710160126.dist-info/RECORD +0 -136
  182. {pulumi_snowflake-0.50.3a1710160126.dist-info → pulumi_snowflake-1.2.0a1736835738.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -17,44 +22,101 @@ __all__ = ['SchemaArgs', 'Schema']
17
22
  class SchemaArgs:
18
23
  def __init__(__self__, *,
19
24
  database: pulumi.Input[str],
25
+ catalog: Optional[pulumi.Input[str]] = None,
20
26
  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,
27
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
28
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
29
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
30
+ external_volume: Optional[pulumi.Input[str]] = None,
31
+ is_transient: Optional[pulumi.Input[str]] = None,
32
+ log_level: Optional[pulumi.Input[str]] = None,
33
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
24
34
  name: Optional[pulumi.Input[str]] = None,
25
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]] = None):
35
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
36
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
37
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
38
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
39
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
40
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
41
+ trace_level: Optional[pulumi.Input[str]] = None,
42
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
43
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
44
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
45
+ with_managed_access: Optional[pulumi.Input[str]] = None):
26
46
  """
27
47
  The set of arguments for constructing a Schema resource.
28
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
48
+ :param pulumi.Input[str] database: The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
49
+ :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
50
  :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: Tag name, e.g. department.
34
- :param pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]] tags: Definitions of a tag to associate with the resource.
51
+ :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).
52
+ :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).
53
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
54
+ :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).
55
+ :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.
56
+ :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).
57
+ :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).
58
+ :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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
59
+ :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, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
60
+ :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).
61
+ :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).
62
+ :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).
63
+ :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).
64
+ :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).
65
+ :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).
66
+ :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).
67
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
68
+ :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).
69
+ :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
70
  """
36
71
  pulumi.set(__self__, "database", database)
72
+ if catalog is not None:
73
+ pulumi.set(__self__, "catalog", catalog)
37
74
  if comment is not None:
38
75
  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)
76
+ if data_retention_time_in_days is not None:
77
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
78
+ if default_ddl_collation is not None:
79
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
80
+ if enable_console_output is not None:
81
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
82
+ if external_volume is not None:
83
+ pulumi.set(__self__, "external_volume", external_volume)
43
84
  if is_transient is not None:
44
85
  pulumi.set(__self__, "is_transient", is_transient)
86
+ if log_level is not None:
87
+ pulumi.set(__self__, "log_level", log_level)
88
+ if max_data_extension_time_in_days is not None:
89
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
45
90
  if name is not None:
46
91
  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)
92
+ if pipe_execution_paused is not None:
93
+ pulumi.set(__self__, "pipe_execution_paused", pipe_execution_paused)
94
+ if quoted_identifiers_ignore_case is not None:
95
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
96
+ if replace_invalid_characters is not None:
97
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
98
+ if storage_serialization_policy is not None:
99
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
100
+ if suspend_task_after_num_failures is not None:
101
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
102
+ if task_auto_retry_attempts is not None:
103
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
104
+ if trace_level is not None:
105
+ pulumi.set(__self__, "trace_level", trace_level)
106
+ if user_task_managed_initial_warehouse_size is not None:
107
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
108
+ if user_task_minimum_trigger_interval_in_seconds is not None:
109
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
110
+ if user_task_timeout_ms is not None:
111
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
112
+ if with_managed_access is not None:
113
+ pulumi.set(__self__, "with_managed_access", with_managed_access)
52
114
 
53
115
  @property
54
116
  @pulumi.getter
55
117
  def database(self) -> pulumi.Input[str]:
56
118
  """
57
- Name of the database that the tag was created in.
119
+ The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
58
120
  """
59
121
  return pulumi.get(self, "database")
60
122
 
@@ -62,6 +124,18 @@ class SchemaArgs:
62
124
  def database(self, value: pulumi.Input[str]):
63
125
  pulumi.set(self, "database", value)
64
126
 
127
+ @property
128
+ @pulumi.getter
129
+ def catalog(self) -> Optional[pulumi.Input[str]]:
130
+ """
131
+ 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).
132
+ """
133
+ return pulumi.get(self, "catalog")
134
+
135
+ @catalog.setter
136
+ def catalog(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "catalog", value)
138
+
65
139
  @property
66
140
  @pulumi.getter
67
141
  def comment(self) -> Optional[pulumi.Input[str]]:
@@ -75,46 +149,94 @@ class SchemaArgs:
75
149
  pulumi.set(self, "comment", value)
76
150
 
77
151
  @property
78
- @pulumi.getter(name="dataRetentionDays")
79
- def data_retention_days(self) -> Optional[pulumi.Input[int]]:
152
+ @pulumi.getter(name="dataRetentionTimeInDays")
153
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
80
154
  """
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.
155
+ 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).
82
156
  """
83
- return pulumi.get(self, "data_retention_days")
157
+ return pulumi.get(self, "data_retention_time_in_days")
84
158
 
85
- @data_retention_days.setter
86
- def data_retention_days(self, value: Optional[pulumi.Input[int]]):
87
- pulumi.set(self, "data_retention_days", value)
159
+ @data_retention_time_in_days.setter
160
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
161
+ pulumi.set(self, "data_retention_time_in_days", value)
88
162
 
89
163
  @property
90
- @pulumi.getter(name="isManaged")
91
- def is_managed(self) -> Optional[pulumi.Input[bool]]:
164
+ @pulumi.getter(name="defaultDdlCollation")
165
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
92
166
  """
93
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
167
+ 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).
94
168
  """
95
- return pulumi.get(self, "is_managed")
169
+ return pulumi.get(self, "default_ddl_collation")
96
170
 
97
- @is_managed.setter
98
- def is_managed(self, value: Optional[pulumi.Input[bool]]):
99
- pulumi.set(self, "is_managed", value)
171
+ @default_ddl_collation.setter
172
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "default_ddl_collation", value)
174
+
175
+ @property
176
+ @pulumi.getter(name="enableConsoleOutput")
177
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
178
+ """
179
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
180
+ """
181
+ return pulumi.get(self, "enable_console_output")
182
+
183
+ @enable_console_output.setter
184
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
185
+ pulumi.set(self, "enable_console_output", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="externalVolume")
189
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ 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).
192
+ """
193
+ return pulumi.get(self, "external_volume")
194
+
195
+ @external_volume.setter
196
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
197
+ pulumi.set(self, "external_volume", value)
100
198
 
101
199
  @property
102
200
  @pulumi.getter(name="isTransient")
103
- def is_transient(self) -> Optional[pulumi.Input[bool]]:
201
+ def is_transient(self) -> Optional[pulumi.Input[str]]:
104
202
  """
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.
203
+ 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
204
  """
107
205
  return pulumi.get(self, "is_transient")
108
206
 
109
207
  @is_transient.setter
110
- def is_transient(self, value: Optional[pulumi.Input[bool]]):
208
+ def is_transient(self, value: Optional[pulumi.Input[str]]):
111
209
  pulumi.set(self, "is_transient", value)
112
210
 
211
+ @property
212
+ @pulumi.getter(name="logLevel")
213
+ def log_level(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ 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).
216
+ """
217
+ return pulumi.get(self, "log_level")
218
+
219
+ @log_level.setter
220
+ def log_level(self, value: Optional[pulumi.Input[str]]):
221
+ pulumi.set(self, "log_level", value)
222
+
223
+ @property
224
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
225
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
226
+ """
227
+ 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).
228
+ """
229
+ return pulumi.get(self, "max_data_extension_time_in_days")
230
+
231
+ @max_data_extension_time_in_days.setter
232
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
233
+ pulumi.set(self, "max_data_extension_time_in_days", value)
234
+
113
235
  @property
114
236
  @pulumi.getter
115
237
  def name(self) -> Optional[pulumi.Input[str]]:
116
238
  """
117
- Tag name, e.g. department.
239
+ 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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
118
240
  """
119
241
  return pulumi.get(self, "name")
120
242
 
@@ -123,58 +245,260 @@ class SchemaArgs:
123
245
  pulumi.set(self, "name", value)
124
246
 
125
247
  @property
126
- @pulumi.getter
127
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]:
248
+ @pulumi.getter(name="pipeExecutionPaused")
249
+ def pipe_execution_paused(self) -> Optional[pulumi.Input[bool]]:
250
+ """
251
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
252
+ """
253
+ return pulumi.get(self, "pipe_execution_paused")
254
+
255
+ @pipe_execution_paused.setter
256
+ def pipe_execution_paused(self, value: Optional[pulumi.Input[bool]]):
257
+ pulumi.set(self, "pipe_execution_paused", value)
258
+
259
+ @property
260
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
261
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
128
262
  """
129
- Definitions of a tag to associate with the resource.
263
+ 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).
130
264
  """
131
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
132
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
265
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
133
266
 
134
- return pulumi.get(self, "tags")
267
+ @quoted_identifiers_ignore_case.setter
268
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
269
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
135
270
 
136
- @tags.setter
137
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]):
138
- pulumi.set(self, "tags", value)
271
+ @property
272
+ @pulumi.getter(name="replaceInvalidCharacters")
273
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
274
+ """
275
+ 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).
276
+ """
277
+ return pulumi.get(self, "replace_invalid_characters")
278
+
279
+ @replace_invalid_characters.setter
280
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
281
+ pulumi.set(self, "replace_invalid_characters", value)
282
+
283
+ @property
284
+ @pulumi.getter(name="storageSerializationPolicy")
285
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ 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).
288
+ """
289
+ return pulumi.get(self, "storage_serialization_policy")
290
+
291
+ @storage_serialization_policy.setter
292
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "storage_serialization_policy", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
297
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
298
+ """
299
+ 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).
300
+ """
301
+ return pulumi.get(self, "suspend_task_after_num_failures")
302
+
303
+ @suspend_task_after_num_failures.setter
304
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
305
+ pulumi.set(self, "suspend_task_after_num_failures", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="taskAutoRetryAttempts")
309
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
310
+ """
311
+ 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).
312
+ """
313
+ return pulumi.get(self, "task_auto_retry_attempts")
314
+
315
+ @task_auto_retry_attempts.setter
316
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
317
+ pulumi.set(self, "task_auto_retry_attempts", value)
318
+
319
+ @property
320
+ @pulumi.getter(name="traceLevel")
321
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ 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).
324
+ """
325
+ return pulumi.get(self, "trace_level")
326
+
327
+ @trace_level.setter
328
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "trace_level", value)
330
+
331
+ @property
332
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
333
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
334
+ """
335
+ 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).
336
+ """
337
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
338
+
339
+ @user_task_managed_initial_warehouse_size.setter
340
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
341
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
345
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
346
+ """
347
+ Minimum amount of time between Triggered Task executions in seconds.
348
+ """
349
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
350
+
351
+ @user_task_minimum_trigger_interval_in_seconds.setter
352
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
353
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
354
+
355
+ @property
356
+ @pulumi.getter(name="userTaskTimeoutMs")
357
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
358
+ """
359
+ 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).
360
+ """
361
+ return pulumi.get(self, "user_task_timeout_ms")
362
+
363
+ @user_task_timeout_ms.setter
364
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
365
+ pulumi.set(self, "user_task_timeout_ms", value)
366
+
367
+ @property
368
+ @pulumi.getter(name="withManagedAccess")
369
+ def with_managed_access(self) -> Optional[pulumi.Input[str]]:
370
+ """
371
+ 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.
372
+ """
373
+ return pulumi.get(self, "with_managed_access")
374
+
375
+ @with_managed_access.setter
376
+ def with_managed_access(self, value: Optional[pulumi.Input[str]]):
377
+ pulumi.set(self, "with_managed_access", value)
139
378
 
140
379
 
141
380
  @pulumi.input_type
142
381
  class _SchemaState:
143
382
  def __init__(__self__, *,
383
+ catalog: Optional[pulumi.Input[str]] = None,
144
384
  comment: Optional[pulumi.Input[str]] = None,
145
- data_retention_days: Optional[pulumi.Input[int]] = None,
385
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
146
386
  database: Optional[pulumi.Input[str]] = None,
147
- is_managed: Optional[pulumi.Input[bool]] = None,
148
- is_transient: Optional[pulumi.Input[bool]] = None,
387
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
388
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]] = None,
389
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
390
+ external_volume: Optional[pulumi.Input[str]] = None,
391
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
392
+ is_transient: Optional[pulumi.Input[str]] = None,
393
+ log_level: Optional[pulumi.Input[str]] = None,
394
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
149
395
  name: Optional[pulumi.Input[str]] = None,
150
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]] = None):
396
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]] = None,
397
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
398
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
399
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
400
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]] = None,
401
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
402
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
403
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
404
+ trace_level: Optional[pulumi.Input[str]] = None,
405
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
406
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
407
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
408
+ with_managed_access: Optional[pulumi.Input[str]] = None):
151
409
  """
152
410
  Input properties used for looking up and filtering Schema resources.
411
+ :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).
153
412
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
154
- :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.
155
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
156
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
157
- :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.
158
- :param pulumi.Input[str] name: Tag name, e.g. department.
159
- :param pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]] tags: Definitions of a tag to associate with the resource.
413
+ :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).
414
+ :param pulumi.Input[str] database: The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
415
+ :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).
416
+ :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.
417
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
418
+ :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).
419
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
420
+ :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.
421
+ :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).
422
+ :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).
423
+ :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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
424
+ :param pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]] parameters: Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
425
+ :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, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
426
+ :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).
427
+ :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).
428
+ :param pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]] show_outputs: Outputs the result of `SHOW SCHEMA` for the given object.
429
+ :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).
430
+ :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).
431
+ :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).
432
+ :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).
433
+ :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).
434
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
435
+ :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).
436
+ :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.
160
437
  """
438
+ if catalog is not None:
439
+ pulumi.set(__self__, "catalog", catalog)
161
440
  if comment is not None:
162
441
  pulumi.set(__self__, "comment", comment)
163
- if data_retention_days is not None:
164
- pulumi.set(__self__, "data_retention_days", data_retention_days)
442
+ if data_retention_time_in_days is not None:
443
+ pulumi.set(__self__, "data_retention_time_in_days", data_retention_time_in_days)
165
444
  if database is not None:
166
445
  pulumi.set(__self__, "database", database)
167
- if is_managed is not None:
168
- pulumi.set(__self__, "is_managed", is_managed)
446
+ if default_ddl_collation is not None:
447
+ pulumi.set(__self__, "default_ddl_collation", default_ddl_collation)
448
+ if describe_outputs is not None:
449
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
450
+ if enable_console_output is not None:
451
+ pulumi.set(__self__, "enable_console_output", enable_console_output)
452
+ if external_volume is not None:
453
+ pulumi.set(__self__, "external_volume", external_volume)
454
+ if fully_qualified_name is not None:
455
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
169
456
  if is_transient is not None:
170
457
  pulumi.set(__self__, "is_transient", is_transient)
458
+ if log_level is not None:
459
+ pulumi.set(__self__, "log_level", log_level)
460
+ if max_data_extension_time_in_days is not None:
461
+ pulumi.set(__self__, "max_data_extension_time_in_days", max_data_extension_time_in_days)
171
462
  if name is not None:
172
463
  pulumi.set(__self__, "name", name)
173
- if tags is not None:
174
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
175
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
176
- if tags is not None:
177
- pulumi.set(__self__, "tags", tags)
464
+ if parameters is not None:
465
+ pulumi.set(__self__, "parameters", parameters)
466
+ if pipe_execution_paused is not None:
467
+ pulumi.set(__self__, "pipe_execution_paused", pipe_execution_paused)
468
+ if quoted_identifiers_ignore_case is not None:
469
+ pulumi.set(__self__, "quoted_identifiers_ignore_case", quoted_identifiers_ignore_case)
470
+ if replace_invalid_characters is not None:
471
+ pulumi.set(__self__, "replace_invalid_characters", replace_invalid_characters)
472
+ if show_outputs is not None:
473
+ pulumi.set(__self__, "show_outputs", show_outputs)
474
+ if storage_serialization_policy is not None:
475
+ pulumi.set(__self__, "storage_serialization_policy", storage_serialization_policy)
476
+ if suspend_task_after_num_failures is not None:
477
+ pulumi.set(__self__, "suspend_task_after_num_failures", suspend_task_after_num_failures)
478
+ if task_auto_retry_attempts is not None:
479
+ pulumi.set(__self__, "task_auto_retry_attempts", task_auto_retry_attempts)
480
+ if trace_level is not None:
481
+ pulumi.set(__self__, "trace_level", trace_level)
482
+ if user_task_managed_initial_warehouse_size is not None:
483
+ pulumi.set(__self__, "user_task_managed_initial_warehouse_size", user_task_managed_initial_warehouse_size)
484
+ if user_task_minimum_trigger_interval_in_seconds is not None:
485
+ pulumi.set(__self__, "user_task_minimum_trigger_interval_in_seconds", user_task_minimum_trigger_interval_in_seconds)
486
+ if user_task_timeout_ms is not None:
487
+ pulumi.set(__self__, "user_task_timeout_ms", user_task_timeout_ms)
488
+ if with_managed_access is not None:
489
+ pulumi.set(__self__, "with_managed_access", with_managed_access)
490
+
491
+ @property
492
+ @pulumi.getter
493
+ def catalog(self) -> Optional[pulumi.Input[str]]:
494
+ """
495
+ 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).
496
+ """
497
+ return pulumi.get(self, "catalog")
498
+
499
+ @catalog.setter
500
+ def catalog(self, value: Optional[pulumi.Input[str]]):
501
+ pulumi.set(self, "catalog", value)
178
502
 
179
503
  @property
180
504
  @pulumi.getter
@@ -189,22 +513,22 @@ class _SchemaState:
189
513
  pulumi.set(self, "comment", value)
190
514
 
191
515
  @property
192
- @pulumi.getter(name="dataRetentionDays")
193
- def data_retention_days(self) -> Optional[pulumi.Input[int]]:
516
+ @pulumi.getter(name="dataRetentionTimeInDays")
517
+ def data_retention_time_in_days(self) -> Optional[pulumi.Input[int]]:
194
518
  """
195
- 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.
519
+ 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).
196
520
  """
197
- return pulumi.get(self, "data_retention_days")
521
+ return pulumi.get(self, "data_retention_time_in_days")
198
522
 
199
- @data_retention_days.setter
200
- def data_retention_days(self, value: Optional[pulumi.Input[int]]):
201
- pulumi.set(self, "data_retention_days", value)
523
+ @data_retention_time_in_days.setter
524
+ def data_retention_time_in_days(self, value: Optional[pulumi.Input[int]]):
525
+ pulumi.set(self, "data_retention_time_in_days", value)
202
526
 
203
527
  @property
204
528
  @pulumi.getter
205
529
  def database(self) -> Optional[pulumi.Input[str]]:
206
530
  """
207
- Name of the database that the tag was created in.
531
+ The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
208
532
  """
209
533
  return pulumi.get(self, "database")
210
534
 
@@ -213,34 +537,106 @@ class _SchemaState:
213
537
  pulumi.set(self, "database", value)
214
538
 
215
539
  @property
216
- @pulumi.getter(name="isManaged")
217
- def is_managed(self) -> Optional[pulumi.Input[bool]]:
540
+ @pulumi.getter(name="defaultDdlCollation")
541
+ def default_ddl_collation(self) -> Optional[pulumi.Input[str]]:
542
+ """
543
+ 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).
544
+ """
545
+ return pulumi.get(self, "default_ddl_collation")
546
+
547
+ @default_ddl_collation.setter
548
+ def default_ddl_collation(self, value: Optional[pulumi.Input[str]]):
549
+ pulumi.set(self, "default_ddl_collation", value)
550
+
551
+ @property
552
+ @pulumi.getter(name="describeOutputs")
553
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]]:
554
+ """
555
+ 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.
556
+ """
557
+ return pulumi.get(self, "describe_outputs")
558
+
559
+ @describe_outputs.setter
560
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaDescribeOutputArgs']]]]):
561
+ pulumi.set(self, "describe_outputs", value)
562
+
563
+ @property
564
+ @pulumi.getter(name="enableConsoleOutput")
565
+ def enable_console_output(self) -> Optional[pulumi.Input[bool]]:
566
+ """
567
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
568
+ """
569
+ return pulumi.get(self, "enable_console_output")
570
+
571
+ @enable_console_output.setter
572
+ def enable_console_output(self, value: Optional[pulumi.Input[bool]]):
573
+ pulumi.set(self, "enable_console_output", value)
574
+
575
+ @property
576
+ @pulumi.getter(name="externalVolume")
577
+ def external_volume(self) -> Optional[pulumi.Input[str]]:
218
578
  """
219
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
579
+ 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).
220
580
  """
221
- return pulumi.get(self, "is_managed")
581
+ return pulumi.get(self, "external_volume")
222
582
 
223
- @is_managed.setter
224
- def is_managed(self, value: Optional[pulumi.Input[bool]]):
225
- pulumi.set(self, "is_managed", value)
583
+ @external_volume.setter
584
+ def external_volume(self, value: Optional[pulumi.Input[str]]):
585
+ pulumi.set(self, "external_volume", value)
586
+
587
+ @property
588
+ @pulumi.getter(name="fullyQualifiedName")
589
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
590
+ """
591
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
592
+ """
593
+ return pulumi.get(self, "fully_qualified_name")
594
+
595
+ @fully_qualified_name.setter
596
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
597
+ pulumi.set(self, "fully_qualified_name", value)
226
598
 
227
599
  @property
228
600
  @pulumi.getter(name="isTransient")
229
- def is_transient(self) -> Optional[pulumi.Input[bool]]:
601
+ def is_transient(self) -> Optional[pulumi.Input[str]]:
230
602
  """
231
- 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.
603
+ 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.
232
604
  """
233
605
  return pulumi.get(self, "is_transient")
234
606
 
235
607
  @is_transient.setter
236
- def is_transient(self, value: Optional[pulumi.Input[bool]]):
608
+ def is_transient(self, value: Optional[pulumi.Input[str]]):
237
609
  pulumi.set(self, "is_transient", value)
238
610
 
611
+ @property
612
+ @pulumi.getter(name="logLevel")
613
+ def log_level(self) -> Optional[pulumi.Input[str]]:
614
+ """
615
+ 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).
616
+ """
617
+ return pulumi.get(self, "log_level")
618
+
619
+ @log_level.setter
620
+ def log_level(self, value: Optional[pulumi.Input[str]]):
621
+ pulumi.set(self, "log_level", value)
622
+
623
+ @property
624
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
625
+ def max_data_extension_time_in_days(self) -> Optional[pulumi.Input[int]]:
626
+ """
627
+ 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).
628
+ """
629
+ return pulumi.get(self, "max_data_extension_time_in_days")
630
+
631
+ @max_data_extension_time_in_days.setter
632
+ def max_data_extension_time_in_days(self, value: Optional[pulumi.Input[int]]):
633
+ pulumi.set(self, "max_data_extension_time_in_days", value)
634
+
239
635
  @property
240
636
  @pulumi.getter
241
637
  def name(self) -> Optional[pulumi.Input[str]]:
242
638
  """
243
- Tag name, e.g. department.
639
+ 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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
244
640
  """
245
641
  return pulumi.get(self, "name")
246
642
 
@@ -250,18 +646,159 @@ class _SchemaState:
250
646
 
251
647
  @property
252
648
  @pulumi.getter
253
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]:
649
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]]:
650
+ """
651
+ Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
254
652
  """
255
- Definitions of a tag to associate with the resource.
653
+ return pulumi.get(self, "parameters")
654
+
655
+ @parameters.setter
656
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaParameterArgs']]]]):
657
+ pulumi.set(self, "parameters", value)
658
+
659
+ @property
660
+ @pulumi.getter(name="pipeExecutionPaused")
661
+ def pipe_execution_paused(self) -> Optional[pulumi.Input[bool]]:
662
+ """
663
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
664
+ """
665
+ return pulumi.get(self, "pipe_execution_paused")
666
+
667
+ @pipe_execution_paused.setter
668
+ def pipe_execution_paused(self, value: Optional[pulumi.Input[bool]]):
669
+ pulumi.set(self, "pipe_execution_paused", value)
670
+
671
+ @property
672
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
673
+ def quoted_identifiers_ignore_case(self) -> Optional[pulumi.Input[bool]]:
256
674
  """
257
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
258
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
675
+ 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).
676
+ """
677
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
678
+
679
+ @quoted_identifiers_ignore_case.setter
680
+ def quoted_identifiers_ignore_case(self, value: Optional[pulumi.Input[bool]]):
681
+ pulumi.set(self, "quoted_identifiers_ignore_case", value)
259
682
 
260
- return pulumi.get(self, "tags")
683
+ @property
684
+ @pulumi.getter(name="replaceInvalidCharacters")
685
+ def replace_invalid_characters(self) -> Optional[pulumi.Input[bool]]:
686
+ """
687
+ 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).
688
+ """
689
+ return pulumi.get(self, "replace_invalid_characters")
261
690
 
262
- @tags.setter
263
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaTagArgs']]]]):
264
- pulumi.set(self, "tags", value)
691
+ @replace_invalid_characters.setter
692
+ def replace_invalid_characters(self, value: Optional[pulumi.Input[bool]]):
693
+ pulumi.set(self, "replace_invalid_characters", value)
694
+
695
+ @property
696
+ @pulumi.getter(name="showOutputs")
697
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]]:
698
+ """
699
+ Outputs the result of `SHOW SCHEMA` for the given object.
700
+ """
701
+ return pulumi.get(self, "show_outputs")
702
+
703
+ @show_outputs.setter
704
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SchemaShowOutputArgs']]]]):
705
+ pulumi.set(self, "show_outputs", value)
706
+
707
+ @property
708
+ @pulumi.getter(name="storageSerializationPolicy")
709
+ def storage_serialization_policy(self) -> Optional[pulumi.Input[str]]:
710
+ """
711
+ 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).
712
+ """
713
+ return pulumi.get(self, "storage_serialization_policy")
714
+
715
+ @storage_serialization_policy.setter
716
+ def storage_serialization_policy(self, value: Optional[pulumi.Input[str]]):
717
+ pulumi.set(self, "storage_serialization_policy", value)
718
+
719
+ @property
720
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
721
+ def suspend_task_after_num_failures(self) -> Optional[pulumi.Input[int]]:
722
+ """
723
+ 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).
724
+ """
725
+ return pulumi.get(self, "suspend_task_after_num_failures")
726
+
727
+ @suspend_task_after_num_failures.setter
728
+ def suspend_task_after_num_failures(self, value: Optional[pulumi.Input[int]]):
729
+ pulumi.set(self, "suspend_task_after_num_failures", value)
730
+
731
+ @property
732
+ @pulumi.getter(name="taskAutoRetryAttempts")
733
+ def task_auto_retry_attempts(self) -> Optional[pulumi.Input[int]]:
734
+ """
735
+ 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).
736
+ """
737
+ return pulumi.get(self, "task_auto_retry_attempts")
738
+
739
+ @task_auto_retry_attempts.setter
740
+ def task_auto_retry_attempts(self, value: Optional[pulumi.Input[int]]):
741
+ pulumi.set(self, "task_auto_retry_attempts", value)
742
+
743
+ @property
744
+ @pulumi.getter(name="traceLevel")
745
+ def trace_level(self) -> Optional[pulumi.Input[str]]:
746
+ """
747
+ 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).
748
+ """
749
+ return pulumi.get(self, "trace_level")
750
+
751
+ @trace_level.setter
752
+ def trace_level(self, value: Optional[pulumi.Input[str]]):
753
+ pulumi.set(self, "trace_level", value)
754
+
755
+ @property
756
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
757
+ def user_task_managed_initial_warehouse_size(self) -> Optional[pulumi.Input[str]]:
758
+ """
759
+ 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).
760
+ """
761
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
762
+
763
+ @user_task_managed_initial_warehouse_size.setter
764
+ def user_task_managed_initial_warehouse_size(self, value: Optional[pulumi.Input[str]]):
765
+ pulumi.set(self, "user_task_managed_initial_warehouse_size", value)
766
+
767
+ @property
768
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
769
+ def user_task_minimum_trigger_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
770
+ """
771
+ Minimum amount of time between Triggered Task executions in seconds.
772
+ """
773
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
774
+
775
+ @user_task_minimum_trigger_interval_in_seconds.setter
776
+ def user_task_minimum_trigger_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
777
+ pulumi.set(self, "user_task_minimum_trigger_interval_in_seconds", value)
778
+
779
+ @property
780
+ @pulumi.getter(name="userTaskTimeoutMs")
781
+ def user_task_timeout_ms(self) -> Optional[pulumi.Input[int]]:
782
+ """
783
+ 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).
784
+ """
785
+ return pulumi.get(self, "user_task_timeout_ms")
786
+
787
+ @user_task_timeout_ms.setter
788
+ def user_task_timeout_ms(self, value: Optional[pulumi.Input[int]]):
789
+ pulumi.set(self, "user_task_timeout_ms", value)
790
+
791
+ @property
792
+ @pulumi.getter(name="withManagedAccess")
793
+ def with_managed_access(self) -> Optional[pulumi.Input[str]]:
794
+ """
795
+ 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.
796
+ """
797
+ return pulumi.get(self, "with_managed_access")
798
+
799
+ @with_managed_access.setter
800
+ def with_managed_access(self, value: Optional[pulumi.Input[str]]):
801
+ pulumi.set(self, "with_managed_access", value)
265
802
 
266
803
 
267
804
  class Schema(pulumi.CustomResource):
@@ -269,48 +806,60 @@ class Schema(pulumi.CustomResource):
269
806
  def __init__(__self__,
270
807
  resource_name: str,
271
808
  opts: Optional[pulumi.ResourceOptions] = None,
809
+ catalog: Optional[pulumi.Input[str]] = None,
272
810
  comment: Optional[pulumi.Input[str]] = None,
273
- data_retention_days: Optional[pulumi.Input[int]] = None,
811
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
274
812
  database: Optional[pulumi.Input[str]] = None,
275
- is_managed: Optional[pulumi.Input[bool]] = None,
276
- is_transient: Optional[pulumi.Input[bool]] = None,
813
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
814
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
815
+ external_volume: Optional[pulumi.Input[str]] = None,
816
+ is_transient: Optional[pulumi.Input[str]] = None,
817
+ log_level: Optional[pulumi.Input[str]] = None,
818
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
277
819
  name: Optional[pulumi.Input[str]] = None,
278
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None,
820
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
821
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
822
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
823
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
824
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
825
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
826
+ trace_level: Optional[pulumi.Input[str]] = None,
827
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
828
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
829
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
830
+ with_managed_access: Optional[pulumi.Input[str]] = None,
279
831
  __props__=None):
280
832
  """
281
- ## Example Usage
282
-
283
- <!--Start PulumiCodeChooser -->
284
- ```python
285
- import pulumi
286
- import pulumi_snowflake as snowflake
287
-
288
- schema = snowflake.Schema("schema",
289
- comment="A schema.",
290
- data_retention_days=1,
291
- database="database",
292
- is_managed=False,
293
- is_transient=False)
294
- ```
295
- <!--End PulumiCodeChooser -->
296
-
297
833
  ## Import
298
834
 
299
- format is dbName | schemaName
300
-
301
835
  ```sh
302
- $ pulumi import snowflake:index/schema:Schema example 'dbName|schemaName'
836
+ $ pulumi import snowflake:index/schema:Schema example '"<database_name>"."<schema_name>"'
303
837
  ```
304
838
 
305
839
  :param str resource_name: The name of the resource.
306
840
  :param pulumi.ResourceOptions opts: Options for the resource.
841
+ :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).
307
842
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
308
- :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.
309
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
310
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
311
- :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.
312
- :param pulumi.Input[str] name: Tag name, e.g. department.
313
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]] tags: Definitions of a tag to associate with the resource.
843
+ :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).
844
+ :param pulumi.Input[str] database: The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
845
+ :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).
846
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
847
+ :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).
848
+ :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.
849
+ :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).
850
+ :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).
851
+ :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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
852
+ :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, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
853
+ :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).
854
+ :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).
855
+ :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).
856
+ :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).
857
+ :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).
858
+ :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).
859
+ :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).
860
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
861
+ :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).
862
+ :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.
314
863
  """
315
864
  ...
316
865
  @overload
@@ -319,28 +868,10 @@ class Schema(pulumi.CustomResource):
319
868
  args: SchemaArgs,
320
869
  opts: Optional[pulumi.ResourceOptions] = None):
321
870
  """
322
- ## Example Usage
323
-
324
- <!--Start PulumiCodeChooser -->
325
- ```python
326
- import pulumi
327
- import pulumi_snowflake as snowflake
328
-
329
- schema = snowflake.Schema("schema",
330
- comment="A schema.",
331
- data_retention_days=1,
332
- database="database",
333
- is_managed=False,
334
- is_transient=False)
335
- ```
336
- <!--End PulumiCodeChooser -->
337
-
338
871
  ## Import
339
872
 
340
- format is dbName | schemaName
341
-
342
873
  ```sh
343
- $ pulumi import snowflake:index/schema:Schema example 'dbName|schemaName'
874
+ $ pulumi import snowflake:index/schema:Schema example '"<database_name>"."<schema_name>"'
344
875
  ```
345
876
 
346
877
  :param str resource_name: The name of the resource.
@@ -358,13 +889,28 @@ class Schema(pulumi.CustomResource):
358
889
  def _internal_init(__self__,
359
890
  resource_name: str,
360
891
  opts: Optional[pulumi.ResourceOptions] = None,
892
+ catalog: Optional[pulumi.Input[str]] = None,
361
893
  comment: Optional[pulumi.Input[str]] = None,
362
- data_retention_days: Optional[pulumi.Input[int]] = None,
894
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
363
895
  database: Optional[pulumi.Input[str]] = None,
364
- is_managed: Optional[pulumi.Input[bool]] = None,
365
- is_transient: Optional[pulumi.Input[bool]] = None,
896
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
897
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
898
+ external_volume: Optional[pulumi.Input[str]] = None,
899
+ is_transient: Optional[pulumi.Input[str]] = None,
900
+ log_level: Optional[pulumi.Input[str]] = None,
901
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
366
902
  name: Optional[pulumi.Input[str]] = None,
367
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None,
903
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
904
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
905
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
906
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
907
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
908
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
909
+ trace_level: Optional[pulumi.Input[str]] = None,
910
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
911
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
912
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
913
+ with_managed_access: Optional[pulumi.Input[str]] = None,
368
914
  __props__=None):
369
915
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
370
916
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -374,15 +920,34 @@ class Schema(pulumi.CustomResource):
374
920
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
375
921
  __props__ = SchemaArgs.__new__(SchemaArgs)
376
922
 
923
+ __props__.__dict__["catalog"] = catalog
377
924
  __props__.__dict__["comment"] = comment
378
- __props__.__dict__["data_retention_days"] = data_retention_days
925
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
379
926
  if database is None and not opts.urn:
380
927
  raise TypeError("Missing required property 'database'")
381
928
  __props__.__dict__["database"] = database
382
- __props__.__dict__["is_managed"] = is_managed
929
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
930
+ __props__.__dict__["enable_console_output"] = enable_console_output
931
+ __props__.__dict__["external_volume"] = external_volume
383
932
  __props__.__dict__["is_transient"] = is_transient
933
+ __props__.__dict__["log_level"] = log_level
934
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
384
935
  __props__.__dict__["name"] = name
385
- __props__.__dict__["tags"] = tags
936
+ __props__.__dict__["pipe_execution_paused"] = pipe_execution_paused
937
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
938
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
939
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
940
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
941
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
942
+ __props__.__dict__["trace_level"] = trace_level
943
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
944
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
945
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
946
+ __props__.__dict__["with_managed_access"] = with_managed_access
947
+ __props__.__dict__["describe_outputs"] = None
948
+ __props__.__dict__["fully_qualified_name"] = None
949
+ __props__.__dict__["parameters"] = None
950
+ __props__.__dict__["show_outputs"] = None
386
951
  super(Schema, __self__).__init__(
387
952
  'snowflake:index/schema:Schema',
388
953
  resource_name,
@@ -393,13 +958,32 @@ class Schema(pulumi.CustomResource):
393
958
  def get(resource_name: str,
394
959
  id: pulumi.Input[str],
395
960
  opts: Optional[pulumi.ResourceOptions] = None,
961
+ catalog: Optional[pulumi.Input[str]] = None,
396
962
  comment: Optional[pulumi.Input[str]] = None,
397
- data_retention_days: Optional[pulumi.Input[int]] = None,
963
+ data_retention_time_in_days: Optional[pulumi.Input[int]] = None,
398
964
  database: Optional[pulumi.Input[str]] = None,
399
- is_managed: Optional[pulumi.Input[bool]] = None,
400
- is_transient: Optional[pulumi.Input[bool]] = None,
965
+ default_ddl_collation: Optional[pulumi.Input[str]] = None,
966
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SchemaDescribeOutputArgs', 'SchemaDescribeOutputArgsDict']]]]] = None,
967
+ enable_console_output: Optional[pulumi.Input[bool]] = None,
968
+ external_volume: Optional[pulumi.Input[str]] = None,
969
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
970
+ is_transient: Optional[pulumi.Input[str]] = None,
971
+ log_level: Optional[pulumi.Input[str]] = None,
972
+ max_data_extension_time_in_days: Optional[pulumi.Input[int]] = None,
401
973
  name: Optional[pulumi.Input[str]] = None,
402
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]]] = None) -> 'Schema':
974
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SchemaParameterArgs', 'SchemaParameterArgsDict']]]]] = None,
975
+ pipe_execution_paused: Optional[pulumi.Input[bool]] = None,
976
+ quoted_identifiers_ignore_case: Optional[pulumi.Input[bool]] = None,
977
+ replace_invalid_characters: Optional[pulumi.Input[bool]] = None,
978
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SchemaShowOutputArgs', 'SchemaShowOutputArgsDict']]]]] = None,
979
+ storage_serialization_policy: Optional[pulumi.Input[str]] = None,
980
+ suspend_task_after_num_failures: Optional[pulumi.Input[int]] = None,
981
+ task_auto_retry_attempts: Optional[pulumi.Input[int]] = None,
982
+ trace_level: Optional[pulumi.Input[str]] = None,
983
+ user_task_managed_initial_warehouse_size: Optional[pulumi.Input[str]] = None,
984
+ user_task_minimum_trigger_interval_in_seconds: Optional[pulumi.Input[int]] = None,
985
+ user_task_timeout_ms: Optional[pulumi.Input[int]] = None,
986
+ with_managed_access: Optional[pulumi.Input[str]] = None) -> 'Schema':
403
987
  """
404
988
  Get an existing Schema resource's state with the given name, id, and optional extra
405
989
  properties used to qualify the lookup.
@@ -407,27 +991,73 @@ class Schema(pulumi.CustomResource):
407
991
  :param str resource_name: The unique name of the resulting resource.
408
992
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
409
993
  :param pulumi.ResourceOptions opts: Options for the resource.
994
+ :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).
410
995
  :param pulumi.Input[str] comment: Specifies a comment for the schema.
411
- :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.
412
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
413
- :param pulumi.Input[bool] is_managed: Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
414
- :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.
415
- :param pulumi.Input[str] name: Tag name, e.g. department.
416
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SchemaTagArgs']]]] tags: Definitions of a tag to associate with the resource.
996
+ :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).
997
+ :param pulumi.Input[str] database: The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
998
+ :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).
999
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SchemaDescribeOutputArgs', 'SchemaDescribeOutputArgsDict']]]] 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.
1000
+ :param pulumi.Input[bool] enable_console_output: If true, enables stdout/stderr fast path logging for anonymous stored procedures.
1001
+ :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).
1002
+ :param pulumi.Input[str] fully_qualified_name: Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
1003
+ :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.
1004
+ :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).
1005
+ :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).
1006
+ :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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
1007
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SchemaParameterArgs', 'SchemaParameterArgsDict']]]] parameters: Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
1008
+ :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, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
1009
+ :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).
1010
+ :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).
1011
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SchemaShowOutputArgs', 'SchemaShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW SCHEMA` for the given object.
1012
+ :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).
1013
+ :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).
1014
+ :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).
1015
+ :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).
1016
+ :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).
1017
+ :param pulumi.Input[int] user_task_minimum_trigger_interval_in_seconds: Minimum amount of time between Triggered Task executions in seconds.
1018
+ :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).
1019
+ :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.
417
1020
  """
418
1021
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
419
1022
 
420
1023
  __props__ = _SchemaState.__new__(_SchemaState)
421
1024
 
1025
+ __props__.__dict__["catalog"] = catalog
422
1026
  __props__.__dict__["comment"] = comment
423
- __props__.__dict__["data_retention_days"] = data_retention_days
1027
+ __props__.__dict__["data_retention_time_in_days"] = data_retention_time_in_days
424
1028
  __props__.__dict__["database"] = database
425
- __props__.__dict__["is_managed"] = is_managed
1029
+ __props__.__dict__["default_ddl_collation"] = default_ddl_collation
1030
+ __props__.__dict__["describe_outputs"] = describe_outputs
1031
+ __props__.__dict__["enable_console_output"] = enable_console_output
1032
+ __props__.__dict__["external_volume"] = external_volume
1033
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
426
1034
  __props__.__dict__["is_transient"] = is_transient
1035
+ __props__.__dict__["log_level"] = log_level
1036
+ __props__.__dict__["max_data_extension_time_in_days"] = max_data_extension_time_in_days
427
1037
  __props__.__dict__["name"] = name
428
- __props__.__dict__["tags"] = tags
1038
+ __props__.__dict__["parameters"] = parameters
1039
+ __props__.__dict__["pipe_execution_paused"] = pipe_execution_paused
1040
+ __props__.__dict__["quoted_identifiers_ignore_case"] = quoted_identifiers_ignore_case
1041
+ __props__.__dict__["replace_invalid_characters"] = replace_invalid_characters
1042
+ __props__.__dict__["show_outputs"] = show_outputs
1043
+ __props__.__dict__["storage_serialization_policy"] = storage_serialization_policy
1044
+ __props__.__dict__["suspend_task_after_num_failures"] = suspend_task_after_num_failures
1045
+ __props__.__dict__["task_auto_retry_attempts"] = task_auto_retry_attempts
1046
+ __props__.__dict__["trace_level"] = trace_level
1047
+ __props__.__dict__["user_task_managed_initial_warehouse_size"] = user_task_managed_initial_warehouse_size
1048
+ __props__.__dict__["user_task_minimum_trigger_interval_in_seconds"] = user_task_minimum_trigger_interval_in_seconds
1049
+ __props__.__dict__["user_task_timeout_ms"] = user_task_timeout_ms
1050
+ __props__.__dict__["with_managed_access"] = with_managed_access
429
1051
  return Schema(resource_name, opts=opts, __props__=__props__)
430
1052
 
1053
+ @property
1054
+ @pulumi.getter
1055
+ def catalog(self) -> pulumi.Output[str]:
1056
+ """
1057
+ 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).
1058
+ """
1059
+ return pulumi.get(self, "catalog")
1060
+
431
1061
  @property
432
1062
  @pulumi.getter
433
1063
  def comment(self) -> pulumi.Output[Optional[str]]:
@@ -437,53 +1067,194 @@ class Schema(pulumi.CustomResource):
437
1067
  return pulumi.get(self, "comment")
438
1068
 
439
1069
  @property
440
- @pulumi.getter(name="dataRetentionDays")
441
- def data_retention_days(self) -> pulumi.Output[Optional[int]]:
1070
+ @pulumi.getter(name="dataRetentionTimeInDays")
1071
+ def data_retention_time_in_days(self) -> pulumi.Output[int]:
442
1072
  """
443
- 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.
1073
+ 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).
444
1074
  """
445
- return pulumi.get(self, "data_retention_days")
1075
+ return pulumi.get(self, "data_retention_time_in_days")
446
1076
 
447
1077
  @property
448
1078
  @pulumi.getter
449
1079
  def database(self) -> pulumi.Output[str]:
450
1080
  """
451
- Name of the database that the tag was created in.
1081
+ The database in which to create the schema. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
452
1082
  """
453
1083
  return pulumi.get(self, "database")
454
1084
 
455
1085
  @property
456
- @pulumi.getter(name="isManaged")
457
- def is_managed(self) -> pulumi.Output[Optional[bool]]:
1086
+ @pulumi.getter(name="defaultDdlCollation")
1087
+ def default_ddl_collation(self) -> pulumi.Output[str]:
1088
+ """
1089
+ 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).
1090
+ """
1091
+ return pulumi.get(self, "default_ddl_collation")
1092
+
1093
+ @property
1094
+ @pulumi.getter(name="describeOutputs")
1095
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.SchemaDescribeOutput']]:
1096
+ """
1097
+ 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.
1098
+ """
1099
+ return pulumi.get(self, "describe_outputs")
1100
+
1101
+ @property
1102
+ @pulumi.getter(name="enableConsoleOutput")
1103
+ def enable_console_output(self) -> pulumi.Output[bool]:
1104
+ """
1105
+ If true, enables stdout/stderr fast path logging for anonymous stored procedures.
1106
+ """
1107
+ return pulumi.get(self, "enable_console_output")
1108
+
1109
+ @property
1110
+ @pulumi.getter(name="externalVolume")
1111
+ def external_volume(self) -> pulumi.Output[str]:
1112
+ """
1113
+ 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).
1114
+ """
1115
+ return pulumi.get(self, "external_volume")
1116
+
1117
+ @property
1118
+ @pulumi.getter(name="fullyQualifiedName")
1119
+ def fully_qualified_name(self) -> pulumi.Output[str]:
458
1120
  """
459
- Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner.
1121
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
460
1122
  """
461
- return pulumi.get(self, "is_managed")
1123
+ return pulumi.get(self, "fully_qualified_name")
462
1124
 
463
1125
  @property
464
1126
  @pulumi.getter(name="isTransient")
465
- def is_transient(self) -> pulumi.Output[Optional[bool]]:
1127
+ def is_transient(self) -> pulumi.Output[Optional[str]]:
466
1128
  """
467
- 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.
1129
+ 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.
468
1130
  """
469
1131
  return pulumi.get(self, "is_transient")
470
1132
 
1133
+ @property
1134
+ @pulumi.getter(name="logLevel")
1135
+ def log_level(self) -> pulumi.Output[str]:
1136
+ """
1137
+ 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).
1138
+ """
1139
+ return pulumi.get(self, "log_level")
1140
+
1141
+ @property
1142
+ @pulumi.getter(name="maxDataExtensionTimeInDays")
1143
+ def max_data_extension_time_in_days(self) -> pulumi.Output[int]:
1144
+ """
1145
+ 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).
1146
+ """
1147
+ return pulumi.get(self, "max_data_extension_time_in_days")
1148
+
471
1149
  @property
472
1150
  @pulumi.getter
473
1151
  def name(self) -> pulumi.Output[str]:
474
1152
  """
475
- Tag name, e.g. department.
1153
+ 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. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
476
1154
  """
477
1155
  return pulumi.get(self, "name")
478
1156
 
479
1157
  @property
480
1158
  @pulumi.getter
481
- def tags(self) -> pulumi.Output[Optional[Sequence['outputs.SchemaTag']]]:
1159
+ def parameters(self) -> pulumi.Output[Sequence['outputs.SchemaParameter']]:
1160
+ """
1161
+ Outputs the result of `SHOW PARAMETERS IN SCHEMA` for the given object.
1162
+ """
1163
+ return pulumi.get(self, "parameters")
1164
+
1165
+ @property
1166
+ @pulumi.getter(name="pipeExecutionPaused")
1167
+ def pipe_execution_paused(self) -> pulumi.Output[bool]:
1168
+ """
1169
+ Specifies whether to pause a running pipe, primarily in preparation for transferring ownership of the pipe to a different role. For more information, check [PIPE*EXECUTION*PAUSED docs](https://docs.snowflake.com/en/sql-reference/parameters#pipe-execution-paused).
1170
+ """
1171
+ return pulumi.get(self, "pipe_execution_paused")
1172
+
1173
+ @property
1174
+ @pulumi.getter(name="quotedIdentifiersIgnoreCase")
1175
+ def quoted_identifiers_ignore_case(self) -> pulumi.Output[bool]:
1176
+ """
1177
+ 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).
1178
+ """
1179
+ return pulumi.get(self, "quoted_identifiers_ignore_case")
1180
+
1181
+ @property
1182
+ @pulumi.getter(name="replaceInvalidCharacters")
1183
+ def replace_invalid_characters(self) -> pulumi.Output[bool]:
1184
+ """
1185
+ 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).
1186
+ """
1187
+ return pulumi.get(self, "replace_invalid_characters")
1188
+
1189
+ @property
1190
+ @pulumi.getter(name="showOutputs")
1191
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.SchemaShowOutput']]:
1192
+ """
1193
+ Outputs the result of `SHOW SCHEMA` for the given object.
1194
+ """
1195
+ return pulumi.get(self, "show_outputs")
1196
+
1197
+ @property
1198
+ @pulumi.getter(name="storageSerializationPolicy")
1199
+ def storage_serialization_policy(self) -> pulumi.Output[str]:
1200
+ """
1201
+ 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).
1202
+ """
1203
+ return pulumi.get(self, "storage_serialization_policy")
1204
+
1205
+ @property
1206
+ @pulumi.getter(name="suspendTaskAfterNumFailures")
1207
+ def suspend_task_after_num_failures(self) -> pulumi.Output[int]:
1208
+ """
1209
+ 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).
1210
+ """
1211
+ return pulumi.get(self, "suspend_task_after_num_failures")
1212
+
1213
+ @property
1214
+ @pulumi.getter(name="taskAutoRetryAttempts")
1215
+ def task_auto_retry_attempts(self) -> pulumi.Output[int]:
1216
+ """
1217
+ 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).
1218
+ """
1219
+ return pulumi.get(self, "task_auto_retry_attempts")
1220
+
1221
+ @property
1222
+ @pulumi.getter(name="traceLevel")
1223
+ def trace_level(self) -> pulumi.Output[str]:
1224
+ """
1225
+ 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).
1226
+ """
1227
+ return pulumi.get(self, "trace_level")
1228
+
1229
+ @property
1230
+ @pulumi.getter(name="userTaskManagedInitialWarehouseSize")
1231
+ def user_task_managed_initial_warehouse_size(self) -> pulumi.Output[str]:
1232
+ """
1233
+ 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).
1234
+ """
1235
+ return pulumi.get(self, "user_task_managed_initial_warehouse_size")
1236
+
1237
+ @property
1238
+ @pulumi.getter(name="userTaskMinimumTriggerIntervalInSeconds")
1239
+ def user_task_minimum_trigger_interval_in_seconds(self) -> pulumi.Output[int]:
1240
+ """
1241
+ Minimum amount of time between Triggered Task executions in seconds.
1242
+ """
1243
+ return pulumi.get(self, "user_task_minimum_trigger_interval_in_seconds")
1244
+
1245
+ @property
1246
+ @pulumi.getter(name="userTaskTimeoutMs")
1247
+ def user_task_timeout_ms(self) -> pulumi.Output[int]:
482
1248
  """
483
- Definitions of a tag to associate with the resource.
1249
+ 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).
484
1250
  """
485
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
486
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
1251
+ return pulumi.get(self, "user_task_timeout_ms")
487
1252
 
488
- return pulumi.get(self, "tags")
1253
+ @property
1254
+ @pulumi.getter(name="withManagedAccess")
1255
+ def with_managed_access(self) -> pulumi.Output[Optional[str]]:
1256
+ """
1257
+ 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.
1258
+ """
1259
+ return pulumi.get(self, "with_managed_access")
489
1260