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
pulumi_snowflake/view.py CHANGED
@@ -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 *
@@ -19,48 +24,66 @@ class ViewArgs:
19
24
  database: pulumi.Input[str],
20
25
  schema: pulumi.Input[str],
21
26
  statement: pulumi.Input[str],
27
+ aggregation_policy: Optional[pulumi.Input['ViewAggregationPolicyArgs']] = None,
28
+ change_tracking: Optional[pulumi.Input[str]] = None,
29
+ columns: Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]] = None,
22
30
  comment: Optional[pulumi.Input[str]] = None,
23
31
  copy_grants: Optional[pulumi.Input[bool]] = None,
24
- is_secure: Optional[pulumi.Input[bool]] = None,
32
+ data_metric_functions: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]] = None,
33
+ data_metric_schedule: Optional[pulumi.Input['ViewDataMetricScheduleArgs']] = None,
34
+ is_recursive: Optional[pulumi.Input[str]] = None,
35
+ is_secure: Optional[pulumi.Input[str]] = None,
36
+ is_temporary: Optional[pulumi.Input[str]] = None,
25
37
  name: Optional[pulumi.Input[str]] = None,
26
- or_replace: Optional[pulumi.Input[bool]] = None,
27
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]] = None):
38
+ row_access_policy: Optional[pulumi.Input['ViewRowAccessPolicyArgs']] = None):
28
39
  """
29
40
  The set of arguments for constructing a View resource.
30
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
31
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
32
- :param pulumi.Input[str] statement: Specifies the query used to create the view.
41
+ :param pulumi.Input[str] database: The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
42
+ :param pulumi.Input[str] schema: The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
43
+ :param pulumi.Input[str] statement: Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
44
+ :param pulumi.Input['ViewAggregationPolicyArgs'] aggregation_policy: Specifies the aggregation policy to set on a view.
45
+ :param pulumi.Input[str] change_tracking: Specifies to enable or disable change tracking on the table. 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.
46
+ :param pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]] columns: If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
33
47
  :param pulumi.Input[str] comment: Specifies a comment for the view.
34
- :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
35
- :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
36
- :param pulumi.Input[str] name: Tag name, e.g. department.
37
- :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
38
- :param pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]] tags: Definitions of a tag to associate with the resource.
48
+ :param pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]] data_metric_functions: Data metric functions used for the view.
49
+ :param pulumi.Input['ViewDataMetricScheduleArgs'] data_metric_schedule: Specifies the schedule to run the data metric functions periodically.
50
+ :param pulumi.Input[str] is_recursive: Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
51
+ :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
52
+ :param pulumi.Input['ViewRowAccessPolicyArgs'] row_access_policy: Specifies the row access policy to set on a view.
39
53
  """
40
54
  pulumi.set(__self__, "database", database)
41
55
  pulumi.set(__self__, "schema", schema)
42
56
  pulumi.set(__self__, "statement", statement)
57
+ if aggregation_policy is not None:
58
+ pulumi.set(__self__, "aggregation_policy", aggregation_policy)
59
+ if change_tracking is not None:
60
+ pulumi.set(__self__, "change_tracking", change_tracking)
61
+ if columns is not None:
62
+ pulumi.set(__self__, "columns", columns)
43
63
  if comment is not None:
44
64
  pulumi.set(__self__, "comment", comment)
45
65
  if copy_grants is not None:
46
66
  pulumi.set(__self__, "copy_grants", copy_grants)
67
+ if data_metric_functions is not None:
68
+ pulumi.set(__self__, "data_metric_functions", data_metric_functions)
69
+ if data_metric_schedule is not None:
70
+ pulumi.set(__self__, "data_metric_schedule", data_metric_schedule)
71
+ if is_recursive is not None:
72
+ pulumi.set(__self__, "is_recursive", is_recursive)
47
73
  if is_secure is not None:
48
74
  pulumi.set(__self__, "is_secure", is_secure)
75
+ if is_temporary is not None:
76
+ pulumi.set(__self__, "is_temporary", is_temporary)
49
77
  if name is not None:
50
78
  pulumi.set(__self__, "name", name)
51
- if or_replace is not None:
52
- pulumi.set(__self__, "or_replace", or_replace)
53
- if tags is not None:
54
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
55
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
56
- if tags is not None:
57
- pulumi.set(__self__, "tags", tags)
79
+ if row_access_policy is not None:
80
+ pulumi.set(__self__, "row_access_policy", row_access_policy)
58
81
 
59
82
  @property
60
83
  @pulumi.getter
61
84
  def database(self) -> pulumi.Input[str]:
62
85
  """
63
- Name of the database that the tag was created in.
86
+ The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
64
87
  """
65
88
  return pulumi.get(self, "database")
66
89
 
@@ -72,7 +95,7 @@ class ViewArgs:
72
95
  @pulumi.getter
73
96
  def schema(self) -> pulumi.Input[str]:
74
97
  """
75
- Name of the schema that the tag was created in.
98
+ The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
76
99
  """
77
100
  return pulumi.get(self, "schema")
78
101
 
@@ -84,7 +107,7 @@ class ViewArgs:
84
107
  @pulumi.getter
85
108
  def statement(self) -> pulumi.Input[str]:
86
109
  """
87
- Specifies the query used to create the view.
110
+ Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
88
111
  """
89
112
  return pulumi.get(self, "statement")
90
113
 
@@ -92,6 +115,42 @@ class ViewArgs:
92
115
  def statement(self, value: pulumi.Input[str]):
93
116
  pulumi.set(self, "statement", value)
94
117
 
118
+ @property
119
+ @pulumi.getter(name="aggregationPolicy")
120
+ def aggregation_policy(self) -> Optional[pulumi.Input['ViewAggregationPolicyArgs']]:
121
+ """
122
+ Specifies the aggregation policy to set on a view.
123
+ """
124
+ return pulumi.get(self, "aggregation_policy")
125
+
126
+ @aggregation_policy.setter
127
+ def aggregation_policy(self, value: Optional[pulumi.Input['ViewAggregationPolicyArgs']]):
128
+ pulumi.set(self, "aggregation_policy", value)
129
+
130
+ @property
131
+ @pulumi.getter(name="changeTracking")
132
+ def change_tracking(self) -> Optional[pulumi.Input[str]]:
133
+ """
134
+ Specifies to enable or disable change tracking on the table. 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.
135
+ """
136
+ return pulumi.get(self, "change_tracking")
137
+
138
+ @change_tracking.setter
139
+ def change_tracking(self, value: Optional[pulumi.Input[str]]):
140
+ pulumi.set(self, "change_tracking", value)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]:
145
+ """
146
+ If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
147
+ """
148
+ return pulumi.get(self, "columns")
149
+
150
+ @columns.setter
151
+ def columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]):
152
+ pulumi.set(self, "columns", value)
153
+
95
154
  @property
96
155
  @pulumi.getter
97
156
  def comment(self) -> Optional[pulumi.Input[str]]:
@@ -107,9 +166,6 @@ class ViewArgs:
107
166
  @property
108
167
  @pulumi.getter(name="copyGrants")
109
168
  def copy_grants(self) -> Optional[pulumi.Input[bool]]:
110
- """
111
- Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
112
- """
113
169
  return pulumi.get(self, "copy_grants")
114
170
 
115
171
  @copy_grants.setter
@@ -117,22 +173,64 @@ class ViewArgs:
117
173
  pulumi.set(self, "copy_grants", value)
118
174
 
119
175
  @property
120
- @pulumi.getter(name="isSecure")
121
- def is_secure(self) -> Optional[pulumi.Input[bool]]:
176
+ @pulumi.getter(name="dataMetricFunctions")
177
+ def data_metric_functions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]]:
122
178
  """
123
- Specifies that the view is secure.
179
+ Data metric functions used for the view.
124
180
  """
181
+ return pulumi.get(self, "data_metric_functions")
182
+
183
+ @data_metric_functions.setter
184
+ def data_metric_functions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]]):
185
+ pulumi.set(self, "data_metric_functions", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="dataMetricSchedule")
189
+ def data_metric_schedule(self) -> Optional[pulumi.Input['ViewDataMetricScheduleArgs']]:
190
+ """
191
+ Specifies the schedule to run the data metric functions periodically.
192
+ """
193
+ return pulumi.get(self, "data_metric_schedule")
194
+
195
+ @data_metric_schedule.setter
196
+ def data_metric_schedule(self, value: Optional[pulumi.Input['ViewDataMetricScheduleArgs']]):
197
+ pulumi.set(self, "data_metric_schedule", value)
198
+
199
+ @property
200
+ @pulumi.getter(name="isRecursive")
201
+ def is_recursive(self) -> Optional[pulumi.Input[str]]:
202
+ """
203
+ Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
204
+ """
205
+ return pulumi.get(self, "is_recursive")
206
+
207
+ @is_recursive.setter
208
+ def is_recursive(self, value: Optional[pulumi.Input[str]]):
209
+ pulumi.set(self, "is_recursive", value)
210
+
211
+ @property
212
+ @pulumi.getter(name="isSecure")
213
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
125
214
  return pulumi.get(self, "is_secure")
126
215
 
127
216
  @is_secure.setter
128
- def is_secure(self, value: Optional[pulumi.Input[bool]]):
217
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
129
218
  pulumi.set(self, "is_secure", value)
130
219
 
220
+ @property
221
+ @pulumi.getter(name="isTemporary")
222
+ def is_temporary(self) -> Optional[pulumi.Input[str]]:
223
+ return pulumi.get(self, "is_temporary")
224
+
225
+ @is_temporary.setter
226
+ def is_temporary(self, value: Optional[pulumi.Input[str]]):
227
+ pulumi.set(self, "is_temporary", value)
228
+
131
229
  @property
132
230
  @pulumi.getter
133
231
  def name(self) -> Optional[pulumi.Input[str]]:
134
232
  """
135
- Tag name, e.g. department.
233
+ Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
136
234
  """
137
235
  return pulumi.get(self, "name")
138
236
 
@@ -141,82 +239,129 @@ class ViewArgs:
141
239
  pulumi.set(self, "name", value)
142
240
 
143
241
  @property
144
- @pulumi.getter(name="orReplace")
145
- def or_replace(self) -> Optional[pulumi.Input[bool]]:
242
+ @pulumi.getter(name="rowAccessPolicy")
243
+ def row_access_policy(self) -> Optional[pulumi.Input['ViewRowAccessPolicyArgs']]:
146
244
  """
147
- Overwrites the View if it exists.
245
+ Specifies the row access policy to set on a view.
148
246
  """
149
- return pulumi.get(self, "or_replace")
247
+ return pulumi.get(self, "row_access_policy")
150
248
 
151
- @or_replace.setter
152
- def or_replace(self, value: Optional[pulumi.Input[bool]]):
153
- pulumi.set(self, "or_replace", value)
154
-
155
- @property
156
- @pulumi.getter
157
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]]:
158
- """
159
- Definitions of a tag to associate with the resource.
160
- """
161
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
162
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
163
-
164
- return pulumi.get(self, "tags")
165
-
166
- @tags.setter
167
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]]):
168
- pulumi.set(self, "tags", value)
249
+ @row_access_policy.setter
250
+ def row_access_policy(self, value: Optional[pulumi.Input['ViewRowAccessPolicyArgs']]):
251
+ pulumi.set(self, "row_access_policy", value)
169
252
 
170
253
 
171
254
  @pulumi.input_type
172
255
  class _ViewState:
173
256
  def __init__(__self__, *,
257
+ aggregation_policy: Optional[pulumi.Input['ViewAggregationPolicyArgs']] = None,
258
+ change_tracking: Optional[pulumi.Input[str]] = None,
259
+ columns: Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]] = None,
174
260
  comment: Optional[pulumi.Input[str]] = None,
175
261
  copy_grants: Optional[pulumi.Input[bool]] = None,
176
- created_on: Optional[pulumi.Input[str]] = None,
262
+ data_metric_functions: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]] = None,
263
+ data_metric_schedule: Optional[pulumi.Input['ViewDataMetricScheduleArgs']] = None,
177
264
  database: Optional[pulumi.Input[str]] = None,
178
- is_secure: Optional[pulumi.Input[bool]] = None,
265
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDescribeOutputArgs']]]] = None,
266
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
267
+ is_recursive: Optional[pulumi.Input[str]] = None,
268
+ is_secure: Optional[pulumi.Input[str]] = None,
269
+ is_temporary: Optional[pulumi.Input[str]] = None,
179
270
  name: Optional[pulumi.Input[str]] = None,
180
- or_replace: Optional[pulumi.Input[bool]] = None,
271
+ row_access_policy: Optional[pulumi.Input['ViewRowAccessPolicyArgs']] = None,
181
272
  schema: Optional[pulumi.Input[str]] = None,
182
- statement: Optional[pulumi.Input[str]] = None,
183
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]] = None):
273
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['ViewShowOutputArgs']]]] = None,
274
+ statement: Optional[pulumi.Input[str]] = None):
184
275
  """
185
276
  Input properties used for looking up and filtering View resources.
277
+ :param pulumi.Input['ViewAggregationPolicyArgs'] aggregation_policy: Specifies the aggregation policy to set on a view.
278
+ :param pulumi.Input[str] change_tracking: Specifies to enable or disable change tracking on the table. 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.
279
+ :param pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]] columns: If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
186
280
  :param pulumi.Input[str] comment: Specifies a comment for the view.
187
- :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
188
- :param pulumi.Input[str] created_on: The timestamp at which the view was created.
189
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
190
- :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
191
- :param pulumi.Input[str] name: Tag name, e.g. department.
192
- :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
193
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
194
- :param pulumi.Input[str] statement: Specifies the query used to create the view.
195
- :param pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]] tags: Definitions of a tag to associate with the resource.
196
- """
281
+ :param pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]] data_metric_functions: Data metric functions used for the view.
282
+ :param pulumi.Input['ViewDataMetricScheduleArgs'] data_metric_schedule: Specifies the schedule to run the data metric functions periodically.
283
+ :param pulumi.Input[str] database: The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
284
+ :param pulumi.Input[Sequence[pulumi.Input['ViewDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE VIEW` for the given view.
285
+ :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).
286
+ :param pulumi.Input[str] is_recursive: Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
287
+ :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
288
+ :param pulumi.Input['ViewRowAccessPolicyArgs'] row_access_policy: Specifies the row access policy to set on a view.
289
+ :param pulumi.Input[str] schema: The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
290
+ :param pulumi.Input[Sequence[pulumi.Input['ViewShowOutputArgs']]] show_outputs: Outputs the result of `SHOW VIEW` for the given view.
291
+ :param pulumi.Input[str] statement: Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
292
+ """
293
+ if aggregation_policy is not None:
294
+ pulumi.set(__self__, "aggregation_policy", aggregation_policy)
295
+ if change_tracking is not None:
296
+ pulumi.set(__self__, "change_tracking", change_tracking)
297
+ if columns is not None:
298
+ pulumi.set(__self__, "columns", columns)
197
299
  if comment is not None:
198
300
  pulumi.set(__self__, "comment", comment)
199
301
  if copy_grants is not None:
200
302
  pulumi.set(__self__, "copy_grants", copy_grants)
201
- if created_on is not None:
202
- pulumi.set(__self__, "created_on", created_on)
303
+ if data_metric_functions is not None:
304
+ pulumi.set(__self__, "data_metric_functions", data_metric_functions)
305
+ if data_metric_schedule is not None:
306
+ pulumi.set(__self__, "data_metric_schedule", data_metric_schedule)
203
307
  if database is not None:
204
308
  pulumi.set(__self__, "database", database)
309
+ if describe_outputs is not None:
310
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
311
+ if fully_qualified_name is not None:
312
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
313
+ if is_recursive is not None:
314
+ pulumi.set(__self__, "is_recursive", is_recursive)
205
315
  if is_secure is not None:
206
316
  pulumi.set(__self__, "is_secure", is_secure)
317
+ if is_temporary is not None:
318
+ pulumi.set(__self__, "is_temporary", is_temporary)
207
319
  if name is not None:
208
320
  pulumi.set(__self__, "name", name)
209
- if or_replace is not None:
210
- pulumi.set(__self__, "or_replace", or_replace)
321
+ if row_access_policy is not None:
322
+ pulumi.set(__self__, "row_access_policy", row_access_policy)
211
323
  if schema is not None:
212
324
  pulumi.set(__self__, "schema", schema)
325
+ if show_outputs is not None:
326
+ pulumi.set(__self__, "show_outputs", show_outputs)
213
327
  if statement is not None:
214
328
  pulumi.set(__self__, "statement", statement)
215
- if tags is not None:
216
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
217
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
218
- if tags is not None:
219
- pulumi.set(__self__, "tags", tags)
329
+
330
+ @property
331
+ @pulumi.getter(name="aggregationPolicy")
332
+ def aggregation_policy(self) -> Optional[pulumi.Input['ViewAggregationPolicyArgs']]:
333
+ """
334
+ Specifies the aggregation policy to set on a view.
335
+ """
336
+ return pulumi.get(self, "aggregation_policy")
337
+
338
+ @aggregation_policy.setter
339
+ def aggregation_policy(self, value: Optional[pulumi.Input['ViewAggregationPolicyArgs']]):
340
+ pulumi.set(self, "aggregation_policy", value)
341
+
342
+ @property
343
+ @pulumi.getter(name="changeTracking")
344
+ def change_tracking(self) -> Optional[pulumi.Input[str]]:
345
+ """
346
+ Specifies to enable or disable change tracking on the table. 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.
347
+ """
348
+ return pulumi.get(self, "change_tracking")
349
+
350
+ @change_tracking.setter
351
+ def change_tracking(self, value: Optional[pulumi.Input[str]]):
352
+ pulumi.set(self, "change_tracking", value)
353
+
354
+ @property
355
+ @pulumi.getter
356
+ def columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]:
357
+ """
358
+ If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
359
+ """
360
+ return pulumi.get(self, "columns")
361
+
362
+ @columns.setter
363
+ def columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]):
364
+ pulumi.set(self, "columns", value)
220
365
 
221
366
  @property
222
367
  @pulumi.getter
@@ -233,9 +378,6 @@ class _ViewState:
233
378
  @property
234
379
  @pulumi.getter(name="copyGrants")
235
380
  def copy_grants(self) -> Optional[pulumi.Input[bool]]:
236
- """
237
- Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
238
- """
239
381
  return pulumi.get(self, "copy_grants")
240
382
 
241
383
  @copy_grants.setter
@@ -243,22 +385,34 @@ class _ViewState:
243
385
  pulumi.set(self, "copy_grants", value)
244
386
 
245
387
  @property
246
- @pulumi.getter(name="createdOn")
247
- def created_on(self) -> Optional[pulumi.Input[str]]:
388
+ @pulumi.getter(name="dataMetricFunctions")
389
+ def data_metric_functions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]]:
390
+ """
391
+ Data metric functions used for the view.
392
+ """
393
+ return pulumi.get(self, "data_metric_functions")
394
+
395
+ @data_metric_functions.setter
396
+ def data_metric_functions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]]]):
397
+ pulumi.set(self, "data_metric_functions", value)
398
+
399
+ @property
400
+ @pulumi.getter(name="dataMetricSchedule")
401
+ def data_metric_schedule(self) -> Optional[pulumi.Input['ViewDataMetricScheduleArgs']]:
248
402
  """
249
- The timestamp at which the view was created.
403
+ Specifies the schedule to run the data metric functions periodically.
250
404
  """
251
- return pulumi.get(self, "created_on")
405
+ return pulumi.get(self, "data_metric_schedule")
252
406
 
253
- @created_on.setter
254
- def created_on(self, value: Optional[pulumi.Input[str]]):
255
- pulumi.set(self, "created_on", value)
407
+ @data_metric_schedule.setter
408
+ def data_metric_schedule(self, value: Optional[pulumi.Input['ViewDataMetricScheduleArgs']]):
409
+ pulumi.set(self, "data_metric_schedule", value)
256
410
 
257
411
  @property
258
412
  @pulumi.getter
259
413
  def database(self) -> Optional[pulumi.Input[str]]:
260
414
  """
261
- Name of the database that the tag was created in.
415
+ The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
262
416
  """
263
417
  return pulumi.get(self, "database")
264
418
 
@@ -267,22 +421,64 @@ class _ViewState:
267
421
  pulumi.set(self, "database", value)
268
422
 
269
423
  @property
270
- @pulumi.getter(name="isSecure")
271
- def is_secure(self) -> Optional[pulumi.Input[bool]]:
424
+ @pulumi.getter(name="describeOutputs")
425
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewDescribeOutputArgs']]]]:
272
426
  """
273
- Specifies that the view is secure.
427
+ Outputs the result of `DESCRIBE VIEW` for the given view.
428
+ """
429
+ return pulumi.get(self, "describe_outputs")
430
+
431
+ @describe_outputs.setter
432
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewDescribeOutputArgs']]]]):
433
+ pulumi.set(self, "describe_outputs", value)
434
+
435
+ @property
436
+ @pulumi.getter(name="fullyQualifiedName")
437
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
274
438
  """
439
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
440
+ """
441
+ return pulumi.get(self, "fully_qualified_name")
442
+
443
+ @fully_qualified_name.setter
444
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
445
+ pulumi.set(self, "fully_qualified_name", value)
446
+
447
+ @property
448
+ @pulumi.getter(name="isRecursive")
449
+ def is_recursive(self) -> Optional[pulumi.Input[str]]:
450
+ """
451
+ Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
452
+ """
453
+ return pulumi.get(self, "is_recursive")
454
+
455
+ @is_recursive.setter
456
+ def is_recursive(self, value: Optional[pulumi.Input[str]]):
457
+ pulumi.set(self, "is_recursive", value)
458
+
459
+ @property
460
+ @pulumi.getter(name="isSecure")
461
+ def is_secure(self) -> Optional[pulumi.Input[str]]:
275
462
  return pulumi.get(self, "is_secure")
276
463
 
277
464
  @is_secure.setter
278
- def is_secure(self, value: Optional[pulumi.Input[bool]]):
465
+ def is_secure(self, value: Optional[pulumi.Input[str]]):
279
466
  pulumi.set(self, "is_secure", value)
280
467
 
468
+ @property
469
+ @pulumi.getter(name="isTemporary")
470
+ def is_temporary(self) -> Optional[pulumi.Input[str]]:
471
+ return pulumi.get(self, "is_temporary")
472
+
473
+ @is_temporary.setter
474
+ def is_temporary(self, value: Optional[pulumi.Input[str]]):
475
+ pulumi.set(self, "is_temporary", value)
476
+
281
477
  @property
282
478
  @pulumi.getter
283
479
  def name(self) -> Optional[pulumi.Input[str]]:
284
480
  """
285
- Tag name, e.g. department.
481
+ Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
286
482
  """
287
483
  return pulumi.get(self, "name")
288
484
 
@@ -291,22 +487,22 @@ class _ViewState:
291
487
  pulumi.set(self, "name", value)
292
488
 
293
489
  @property
294
- @pulumi.getter(name="orReplace")
295
- def or_replace(self) -> Optional[pulumi.Input[bool]]:
490
+ @pulumi.getter(name="rowAccessPolicy")
491
+ def row_access_policy(self) -> Optional[pulumi.Input['ViewRowAccessPolicyArgs']]:
296
492
  """
297
- Overwrites the View if it exists.
493
+ Specifies the row access policy to set on a view.
298
494
  """
299
- return pulumi.get(self, "or_replace")
495
+ return pulumi.get(self, "row_access_policy")
300
496
 
301
- @or_replace.setter
302
- def or_replace(self, value: Optional[pulumi.Input[bool]]):
303
- pulumi.set(self, "or_replace", value)
497
+ @row_access_policy.setter
498
+ def row_access_policy(self, value: Optional[pulumi.Input['ViewRowAccessPolicyArgs']]):
499
+ pulumi.set(self, "row_access_policy", value)
304
500
 
305
501
  @property
306
502
  @pulumi.getter
307
503
  def schema(self) -> Optional[pulumi.Input[str]]:
308
504
  """
309
- Name of the schema that the tag was created in.
505
+ The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
310
506
  """
311
507
  return pulumi.get(self, "schema")
312
508
 
@@ -315,31 +511,28 @@ class _ViewState:
315
511
  pulumi.set(self, "schema", value)
316
512
 
317
513
  @property
318
- @pulumi.getter
319
- def statement(self) -> Optional[pulumi.Input[str]]:
514
+ @pulumi.getter(name="showOutputs")
515
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewShowOutputArgs']]]]:
320
516
  """
321
- Specifies the query used to create the view.
517
+ Outputs the result of `SHOW VIEW` for the given view.
322
518
  """
323
- return pulumi.get(self, "statement")
519
+ return pulumi.get(self, "show_outputs")
324
520
 
325
- @statement.setter
326
- def statement(self, value: Optional[pulumi.Input[str]]):
327
- pulumi.set(self, "statement", value)
521
+ @show_outputs.setter
522
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewShowOutputArgs']]]]):
523
+ pulumi.set(self, "show_outputs", value)
328
524
 
329
525
  @property
330
526
  @pulumi.getter
331
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]]:
527
+ def statement(self) -> Optional[pulumi.Input[str]]:
332
528
  """
333
- Definitions of a tag to associate with the resource.
529
+ Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
334
530
  """
335
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
336
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
337
-
338
- return pulumi.get(self, "tags")
531
+ return pulumi.get(self, "statement")
339
532
 
340
- @tags.setter
341
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ViewTagArgs']]]]):
342
- pulumi.set(self, "tags", value)
533
+ @statement.setter
534
+ def statement(self, value: Optional[pulumi.Input[str]]):
535
+ pulumi.set(self, "statement", value)
343
536
 
344
537
 
345
538
  class View(pulumi.CustomResource):
@@ -347,53 +540,43 @@ class View(pulumi.CustomResource):
347
540
  def __init__(__self__,
348
541
  resource_name: str,
349
542
  opts: Optional[pulumi.ResourceOptions] = None,
543
+ aggregation_policy: Optional[pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']]] = None,
544
+ change_tracking: Optional[pulumi.Input[str]] = None,
545
+ columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewColumnArgs', 'ViewColumnArgsDict']]]]] = None,
350
546
  comment: Optional[pulumi.Input[str]] = None,
351
547
  copy_grants: Optional[pulumi.Input[bool]] = None,
548
+ data_metric_functions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]]] = None,
549
+ data_metric_schedule: Optional[pulumi.Input[Union['ViewDataMetricScheduleArgs', 'ViewDataMetricScheduleArgsDict']]] = None,
352
550
  database: Optional[pulumi.Input[str]] = None,
353
- is_secure: Optional[pulumi.Input[bool]] = None,
551
+ is_recursive: Optional[pulumi.Input[str]] = None,
552
+ is_secure: Optional[pulumi.Input[str]] = None,
553
+ is_temporary: Optional[pulumi.Input[str]] = None,
354
554
  name: Optional[pulumi.Input[str]] = None,
355
- or_replace: Optional[pulumi.Input[bool]] = None,
555
+ row_access_policy: Optional[pulumi.Input[Union['ViewRowAccessPolicyArgs', 'ViewRowAccessPolicyArgsDict']]] = None,
356
556
  schema: Optional[pulumi.Input[str]] = None,
357
557
  statement: Optional[pulumi.Input[str]] = None,
358
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ViewTagArgs']]]]] = None,
359
558
  __props__=None):
360
559
  """
361
- ## Example Usage
362
-
363
- <!--Start PulumiCodeChooser -->
364
- ```python
365
- import pulumi
366
- import pulumi_snowflake as snowflake
367
-
368
- view = snowflake.View("view",
369
- database="database",
370
- schema="schema",
371
- comment="comment",
372
- statement="select * from foo;\\n",
373
- or_replace=False,
374
- is_secure=False)
375
- ```
376
- <!--End PulumiCodeChooser -->
377
-
378
560
  ## Import
379
561
 
380
- format is database name | schema name | view name
381
-
382
562
  ```sh
383
- $ pulumi import snowflake:index/view:View example 'dbName|schemaName|viewName'
563
+ $ pulumi import snowflake:index/view:View example '"<database_name>"."<schema_name>"."<view_name>"'
384
564
  ```
385
565
 
386
566
  :param str resource_name: The name of the resource.
387
567
  :param pulumi.ResourceOptions opts: Options for the resource.
568
+ :param pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']] aggregation_policy: Specifies the aggregation policy to set on a view.
569
+ :param pulumi.Input[str] change_tracking: Specifies to enable or disable change tracking on the table. 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.
570
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewColumnArgs', 'ViewColumnArgsDict']]]] columns: If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
388
571
  :param pulumi.Input[str] comment: Specifies a comment for the view.
389
- :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
390
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
391
- :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
392
- :param pulumi.Input[str] name: Tag name, e.g. department.
393
- :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
394
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
395
- :param pulumi.Input[str] statement: Specifies the query used to create the view.
396
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ViewTagArgs']]]] tags: Definitions of a tag to associate with the resource.
572
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]] data_metric_functions: Data metric functions used for the view.
573
+ :param pulumi.Input[Union['ViewDataMetricScheduleArgs', 'ViewDataMetricScheduleArgsDict']] data_metric_schedule: Specifies the schedule to run the data metric functions periodically.
574
+ :param pulumi.Input[str] database: The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
575
+ :param pulumi.Input[str] is_recursive: Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
576
+ :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
577
+ :param pulumi.Input[Union['ViewRowAccessPolicyArgs', 'ViewRowAccessPolicyArgsDict']] row_access_policy: Specifies the row access policy to set on a view.
578
+ :param pulumi.Input[str] schema: The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
579
+ :param pulumi.Input[str] statement: Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
397
580
  """
398
581
  ...
399
582
  @overload
@@ -402,29 +585,10 @@ class View(pulumi.CustomResource):
402
585
  args: ViewArgs,
403
586
  opts: Optional[pulumi.ResourceOptions] = None):
404
587
  """
405
- ## Example Usage
406
-
407
- <!--Start PulumiCodeChooser -->
408
- ```python
409
- import pulumi
410
- import pulumi_snowflake as snowflake
411
-
412
- view = snowflake.View("view",
413
- database="database",
414
- schema="schema",
415
- comment="comment",
416
- statement="select * from foo;\\n",
417
- or_replace=False,
418
- is_secure=False)
419
- ```
420
- <!--End PulumiCodeChooser -->
421
-
422
588
  ## Import
423
589
 
424
- format is database name | schema name | view name
425
-
426
590
  ```sh
427
- $ pulumi import snowflake:index/view:View example 'dbName|schemaName|viewName'
591
+ $ pulumi import snowflake:index/view:View example '"<database_name>"."<schema_name>"."<view_name>"'
428
592
  ```
429
593
 
430
594
  :param str resource_name: The name of the resource.
@@ -442,15 +606,21 @@ class View(pulumi.CustomResource):
442
606
  def _internal_init(__self__,
443
607
  resource_name: str,
444
608
  opts: Optional[pulumi.ResourceOptions] = None,
609
+ aggregation_policy: Optional[pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']]] = None,
610
+ change_tracking: Optional[pulumi.Input[str]] = None,
611
+ columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewColumnArgs', 'ViewColumnArgsDict']]]]] = None,
445
612
  comment: Optional[pulumi.Input[str]] = None,
446
613
  copy_grants: Optional[pulumi.Input[bool]] = None,
614
+ data_metric_functions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]]] = None,
615
+ data_metric_schedule: Optional[pulumi.Input[Union['ViewDataMetricScheduleArgs', 'ViewDataMetricScheduleArgsDict']]] = None,
447
616
  database: Optional[pulumi.Input[str]] = None,
448
- is_secure: Optional[pulumi.Input[bool]] = None,
617
+ is_recursive: Optional[pulumi.Input[str]] = None,
618
+ is_secure: Optional[pulumi.Input[str]] = None,
619
+ is_temporary: Optional[pulumi.Input[str]] = None,
449
620
  name: Optional[pulumi.Input[str]] = None,
450
- or_replace: Optional[pulumi.Input[bool]] = None,
621
+ row_access_policy: Optional[pulumi.Input[Union['ViewRowAccessPolicyArgs', 'ViewRowAccessPolicyArgsDict']]] = None,
451
622
  schema: Optional[pulumi.Input[str]] = None,
452
623
  statement: Optional[pulumi.Input[str]] = None,
453
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ViewTagArgs']]]]] = None,
454
624
  __props__=None):
455
625
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
456
626
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -460,22 +630,30 @@ class View(pulumi.CustomResource):
460
630
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
461
631
  __props__ = ViewArgs.__new__(ViewArgs)
462
632
 
633
+ __props__.__dict__["aggregation_policy"] = aggregation_policy
634
+ __props__.__dict__["change_tracking"] = change_tracking
635
+ __props__.__dict__["columns"] = columns
463
636
  __props__.__dict__["comment"] = comment
464
637
  __props__.__dict__["copy_grants"] = copy_grants
638
+ __props__.__dict__["data_metric_functions"] = data_metric_functions
639
+ __props__.__dict__["data_metric_schedule"] = data_metric_schedule
465
640
  if database is None and not opts.urn:
466
641
  raise TypeError("Missing required property 'database'")
467
642
  __props__.__dict__["database"] = database
643
+ __props__.__dict__["is_recursive"] = is_recursive
468
644
  __props__.__dict__["is_secure"] = is_secure
645
+ __props__.__dict__["is_temporary"] = is_temporary
469
646
  __props__.__dict__["name"] = name
470
- __props__.__dict__["or_replace"] = or_replace
647
+ __props__.__dict__["row_access_policy"] = row_access_policy
471
648
  if schema is None and not opts.urn:
472
649
  raise TypeError("Missing required property 'schema'")
473
650
  __props__.__dict__["schema"] = schema
474
651
  if statement is None and not opts.urn:
475
652
  raise TypeError("Missing required property 'statement'")
476
653
  __props__.__dict__["statement"] = statement
477
- __props__.__dict__["tags"] = tags
478
- __props__.__dict__["created_on"] = None
654
+ __props__.__dict__["describe_outputs"] = None
655
+ __props__.__dict__["fully_qualified_name"] = None
656
+ __props__.__dict__["show_outputs"] = None
479
657
  super(View, __self__).__init__(
480
658
  'snowflake:index/view:View',
481
659
  resource_name,
@@ -486,16 +664,24 @@ class View(pulumi.CustomResource):
486
664
  def get(resource_name: str,
487
665
  id: pulumi.Input[str],
488
666
  opts: Optional[pulumi.ResourceOptions] = None,
667
+ aggregation_policy: Optional[pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']]] = None,
668
+ change_tracking: Optional[pulumi.Input[str]] = None,
669
+ columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewColumnArgs', 'ViewColumnArgsDict']]]]] = None,
489
670
  comment: Optional[pulumi.Input[str]] = None,
490
671
  copy_grants: Optional[pulumi.Input[bool]] = None,
491
- created_on: Optional[pulumi.Input[str]] = None,
672
+ data_metric_functions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]]] = None,
673
+ data_metric_schedule: Optional[pulumi.Input[Union['ViewDataMetricScheduleArgs', 'ViewDataMetricScheduleArgsDict']]] = None,
492
674
  database: Optional[pulumi.Input[str]] = None,
493
- is_secure: Optional[pulumi.Input[bool]] = None,
675
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewDescribeOutputArgs', 'ViewDescribeOutputArgsDict']]]]] = None,
676
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
677
+ is_recursive: Optional[pulumi.Input[str]] = None,
678
+ is_secure: Optional[pulumi.Input[str]] = None,
679
+ is_temporary: Optional[pulumi.Input[str]] = None,
494
680
  name: Optional[pulumi.Input[str]] = None,
495
- or_replace: Optional[pulumi.Input[bool]] = None,
681
+ row_access_policy: Optional[pulumi.Input[Union['ViewRowAccessPolicyArgs', 'ViewRowAccessPolicyArgsDict']]] = None,
496
682
  schema: Optional[pulumi.Input[str]] = None,
497
- statement: Optional[pulumi.Input[str]] = None,
498
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ViewTagArgs']]]]] = None) -> 'View':
683
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ViewShowOutputArgs', 'ViewShowOutputArgsDict']]]]] = None,
684
+ statement: Optional[pulumi.Input[str]] = None) -> 'View':
499
685
  """
500
686
  Get an existing View resource's state with the given name, id, and optional extra
501
687
  properties used to qualify the lookup.
@@ -503,33 +689,70 @@ class View(pulumi.CustomResource):
503
689
  :param str resource_name: The unique name of the resulting resource.
504
690
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
505
691
  :param pulumi.ResourceOptions opts: Options for the resource.
692
+ :param pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']] aggregation_policy: Specifies the aggregation policy to set on a view.
693
+ :param pulumi.Input[str] change_tracking: Specifies to enable or disable change tracking on the table. 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.
694
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewColumnArgs', 'ViewColumnArgsDict']]]] columns: If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
506
695
  :param pulumi.Input[str] comment: Specifies a comment for the view.
507
- :param pulumi.Input[bool] copy_grants: Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
508
- :param pulumi.Input[str] created_on: The timestamp at which the view was created.
509
- :param pulumi.Input[str] database: Name of the database that the tag was created in.
510
- :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
511
- :param pulumi.Input[str] name: Tag name, e.g. department.
512
- :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
513
- :param pulumi.Input[str] schema: Name of the schema that the tag was created in.
514
- :param pulumi.Input[str] statement: Specifies the query used to create the view.
515
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ViewTagArgs']]]] tags: Definitions of a tag to associate with the resource.
696
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]] data_metric_functions: Data metric functions used for the view.
697
+ :param pulumi.Input[Union['ViewDataMetricScheduleArgs', 'ViewDataMetricScheduleArgsDict']] data_metric_schedule: Specifies the schedule to run the data metric functions periodically.
698
+ :param pulumi.Input[str] database: The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
699
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewDescribeOutputArgs', 'ViewDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE VIEW` for the given view.
700
+ :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).
701
+ :param pulumi.Input[str] is_recursive: Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
702
+ :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
703
+ :param pulumi.Input[Union['ViewRowAccessPolicyArgs', 'ViewRowAccessPolicyArgsDict']] row_access_policy: Specifies the row access policy to set on a view.
704
+ :param pulumi.Input[str] schema: The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
705
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ViewShowOutputArgs', 'ViewShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW VIEW` for the given view.
706
+ :param pulumi.Input[str] statement: Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
516
707
  """
517
708
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
518
709
 
519
710
  __props__ = _ViewState.__new__(_ViewState)
520
711
 
712
+ __props__.__dict__["aggregation_policy"] = aggregation_policy
713
+ __props__.__dict__["change_tracking"] = change_tracking
714
+ __props__.__dict__["columns"] = columns
521
715
  __props__.__dict__["comment"] = comment
522
716
  __props__.__dict__["copy_grants"] = copy_grants
523
- __props__.__dict__["created_on"] = created_on
717
+ __props__.__dict__["data_metric_functions"] = data_metric_functions
718
+ __props__.__dict__["data_metric_schedule"] = data_metric_schedule
524
719
  __props__.__dict__["database"] = database
720
+ __props__.__dict__["describe_outputs"] = describe_outputs
721
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
722
+ __props__.__dict__["is_recursive"] = is_recursive
525
723
  __props__.__dict__["is_secure"] = is_secure
724
+ __props__.__dict__["is_temporary"] = is_temporary
526
725
  __props__.__dict__["name"] = name
527
- __props__.__dict__["or_replace"] = or_replace
726
+ __props__.__dict__["row_access_policy"] = row_access_policy
528
727
  __props__.__dict__["schema"] = schema
728
+ __props__.__dict__["show_outputs"] = show_outputs
529
729
  __props__.__dict__["statement"] = statement
530
- __props__.__dict__["tags"] = tags
531
730
  return View(resource_name, opts=opts, __props__=__props__)
532
731
 
732
+ @property
733
+ @pulumi.getter(name="aggregationPolicy")
734
+ def aggregation_policy(self) -> pulumi.Output[Optional['outputs.ViewAggregationPolicy']]:
735
+ """
736
+ Specifies the aggregation policy to set on a view.
737
+ """
738
+ return pulumi.get(self, "aggregation_policy")
739
+
740
+ @property
741
+ @pulumi.getter(name="changeTracking")
742
+ def change_tracking(self) -> pulumi.Output[Optional[str]]:
743
+ """
744
+ Specifies to enable or disable change tracking on the table. 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.
745
+ """
746
+ return pulumi.get(self, "change_tracking")
747
+
748
+ @property
749
+ @pulumi.getter
750
+ def columns(self) -> pulumi.Output[Optional[Sequence['outputs.ViewColumn']]]:
751
+ """
752
+ If you want to change the name of a column or add a comment to a column in the new view, include a column list that specifies the column names and (if needed) comments about the columns. You do not need to specify the data types of the columns. If this field is not specified, columns are inferred from the `statement` field by Snowflake.
753
+ """
754
+ return pulumi.get(self, "columns")
755
+
533
756
  @property
534
757
  @pulumi.getter
535
758
  def comment(self) -> pulumi.Output[Optional[str]]:
@@ -541,75 +764,103 @@ class View(pulumi.CustomResource):
541
764
  @property
542
765
  @pulumi.getter(name="copyGrants")
543
766
  def copy_grants(self) -> pulumi.Output[Optional[bool]]:
767
+ return pulumi.get(self, "copy_grants")
768
+
769
+ @property
770
+ @pulumi.getter(name="dataMetricFunctions")
771
+ def data_metric_functions(self) -> pulumi.Output[Optional[Sequence['outputs.ViewDataMetricFunction']]]:
544
772
  """
545
- Retains the access permissions from the original view when a new view is created using the OR REPLACE clause. OR REPLACE must be set when COPY GRANTS is set.
773
+ Data metric functions used for the view.
546
774
  """
547
- return pulumi.get(self, "copy_grants")
775
+ return pulumi.get(self, "data_metric_functions")
548
776
 
549
777
  @property
550
- @pulumi.getter(name="createdOn")
551
- def created_on(self) -> pulumi.Output[str]:
778
+ @pulumi.getter(name="dataMetricSchedule")
779
+ def data_metric_schedule(self) -> pulumi.Output[Optional['outputs.ViewDataMetricSchedule']]:
552
780
  """
553
- The timestamp at which the view was created.
781
+ Specifies the schedule to run the data metric functions periodically.
554
782
  """
555
- return pulumi.get(self, "created_on")
783
+ return pulumi.get(self, "data_metric_schedule")
556
784
 
557
785
  @property
558
786
  @pulumi.getter
559
787
  def database(self) -> pulumi.Output[str]:
560
788
  """
561
- Name of the database that the tag was created in.
789
+ The database in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
562
790
  """
563
791
  return pulumi.get(self, "database")
564
792
 
565
793
  @property
566
- @pulumi.getter(name="isSecure")
567
- def is_secure(self) -> pulumi.Output[Optional[bool]]:
794
+ @pulumi.getter(name="describeOutputs")
795
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.ViewDescribeOutput']]:
796
+ """
797
+ Outputs the result of `DESCRIBE VIEW` for the given view.
568
798
  """
569
- Specifies that the view is secure.
799
+ return pulumi.get(self, "describe_outputs")
800
+
801
+ @property
802
+ @pulumi.getter(name="fullyQualifiedName")
803
+ def fully_qualified_name(self) -> pulumi.Output[str]:
804
+ """
805
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
570
806
  """
807
+ return pulumi.get(self, "fully_qualified_name")
808
+
809
+ @property
810
+ @pulumi.getter(name="isRecursive")
811
+ def is_recursive(self) -> pulumi.Output[Optional[str]]:
812
+ """
813
+ Specifies that the view can refer to itself using recursive syntax without necessarily using a CTE (common table expression). 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.
814
+ """
815
+ return pulumi.get(self, "is_recursive")
816
+
817
+ @property
818
+ @pulumi.getter(name="isSecure")
819
+ def is_secure(self) -> pulumi.Output[Optional[str]]:
571
820
  return pulumi.get(self, "is_secure")
572
821
 
822
+ @property
823
+ @pulumi.getter(name="isTemporary")
824
+ def is_temporary(self) -> pulumi.Output[Optional[str]]:
825
+ return pulumi.get(self, "is_temporary")
826
+
573
827
  @property
574
828
  @pulumi.getter
575
829
  def name(self) -> pulumi.Output[str]:
576
830
  """
577
- Tag name, e.g. department.
831
+ Specifies the identifier for the view; must be unique for the schema in which the view is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
578
832
  """
579
833
  return pulumi.get(self, "name")
580
834
 
581
835
  @property
582
- @pulumi.getter(name="orReplace")
583
- def or_replace(self) -> pulumi.Output[Optional[bool]]:
836
+ @pulumi.getter(name="rowAccessPolicy")
837
+ def row_access_policy(self) -> pulumi.Output[Optional['outputs.ViewRowAccessPolicy']]:
584
838
  """
585
- Overwrites the View if it exists.
839
+ Specifies the row access policy to set on a view.
586
840
  """
587
- return pulumi.get(self, "or_replace")
841
+ return pulumi.get(self, "row_access_policy")
588
842
 
589
843
  @property
590
844
  @pulumi.getter
591
845
  def schema(self) -> pulumi.Output[str]:
592
846
  """
593
- Name of the schema that the tag was created in.
847
+ The schema in which to create the view. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
594
848
  """
595
849
  return pulumi.get(self, "schema")
596
850
 
597
851
  @property
598
- @pulumi.getter
599
- def statement(self) -> pulumi.Output[str]:
852
+ @pulumi.getter(name="showOutputs")
853
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.ViewShowOutput']]:
600
854
  """
601
- Specifies the query used to create the view.
855
+ Outputs the result of `SHOW VIEW` for the given view.
602
856
  """
603
- return pulumi.get(self, "statement")
857
+ return pulumi.get(self, "show_outputs")
604
858
 
605
859
  @property
606
860
  @pulumi.getter
607
- def tags(self) -> pulumi.Output[Optional[Sequence['outputs.ViewTag']]]:
861
+ def statement(self) -> pulumi.Output[str]:
608
862
  """
609
- Definitions of a tag to associate with the resource.
863
+ Specifies the query used to create the view. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
610
864
  """
611
- warnings.warn("""Use the 'snowflake_tag_association' resource instead.""", DeprecationWarning)
612
- pulumi.log.warn("""tags is deprecated: Use the 'snowflake_tag_association' resource instead.""")
613
-
614
- return pulumi.get(self, "tags")
865
+ return pulumi.get(self, "statement")
615
866