pulumi-snowflake 0.58.0a1726035035__py3-none-any.whl → 0.59.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. pulumi_snowflake/_inputs.py +8587 -2022
  2. pulumi_snowflake/account.py +28 -50
  3. pulumi_snowflake/account_parameter.py +0 -28
  4. pulumi_snowflake/account_password_policy_attachment.py +2 -30
  5. pulumi_snowflake/account_role.py +41 -36
  6. pulumi_snowflake/alert.py +28 -40
  7. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +35 -15
  8. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +35 -15
  9. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +35 -15
  10. pulumi_snowflake/api_integration.py +28 -54
  11. pulumi_snowflake/cortex_search_service.py +28 -76
  12. pulumi_snowflake/database.py +82 -15
  13. pulumi_snowflake/database_old.py +0 -72
  14. pulumi_snowflake/database_role.py +76 -42
  15. pulumi_snowflake/dynamic_table.py +28 -38
  16. pulumi_snowflake/email_notification_integration.py +28 -26
  17. pulumi_snowflake/external_function.py +28 -52
  18. pulumi_snowflake/external_oauth_integration.py +35 -15
  19. pulumi_snowflake/external_table.py +28 -48
  20. pulumi_snowflake/failover_group.py +28 -72
  21. pulumi_snowflake/file_format.py +28 -26
  22. pulumi_snowflake/function.py +28 -4
  23. pulumi_snowflake/get_database_roles.py +63 -36
  24. pulumi_snowflake/get_masking_policies.py +73 -48
  25. pulumi_snowflake/get_resource_monitors.py +28 -16
  26. pulumi_snowflake/get_row_access_policies.py +73 -48
  27. pulumi_snowflake/get_users.py +96 -33
  28. pulumi_snowflake/get_views.py +94 -51
  29. pulumi_snowflake/grant_account_role.py +0 -4
  30. pulumi_snowflake/grant_application_role.py +0 -4
  31. pulumi_snowflake/grant_database_role.py +0 -4
  32. pulumi_snowflake/grant_privileges_to_account_role.py +4 -4
  33. pulumi_snowflake/grant_privileges_to_database_role.py +6 -2
  34. pulumi_snowflake/grant_privileges_to_share.py +49 -2
  35. pulumi_snowflake/managed_account.py +28 -4
  36. pulumi_snowflake/masking_policy.py +208 -306
  37. pulumi_snowflake/materialized_view.py +28 -34
  38. pulumi_snowflake/network_policy.py +35 -15
  39. pulumi_snowflake/network_policy_attachment.py +0 -30
  40. pulumi_snowflake/network_rule.py +28 -66
  41. pulumi_snowflake/notification_integration.py +28 -34
  42. pulumi_snowflake/oauth_integration.py +0 -34
  43. pulumi_snowflake/oauth_integration_for_custom_clients.py +35 -101
  44. pulumi_snowflake/oauth_integration_for_partner_applications.py +35 -15
  45. pulumi_snowflake/object_parameter.py +0 -98
  46. pulumi_snowflake/outputs.py +13035 -4202
  47. pulumi_snowflake/password_policy.py +28 -28
  48. pulumi_snowflake/pipe.py +28 -4
  49. pulumi_snowflake/procedure.py +28 -4
  50. pulumi_snowflake/pulumi-plugin.json +1 -1
  51. pulumi_snowflake/resource_monitor.py +111 -307
  52. pulumi_snowflake/role.py +41 -36
  53. pulumi_snowflake/row_access_policy.py +195 -147
  54. pulumi_snowflake/saml2_integration.py +35 -15
  55. pulumi_snowflake/saml_integration.py +0 -34
  56. pulumi_snowflake/schema.py +39 -19
  57. pulumi_snowflake/scim_integration.py +35 -15
  58. pulumi_snowflake/secondary_database.py +35 -19
  59. pulumi_snowflake/sequence.py +4 -36
  60. pulumi_snowflake/session_parameter.py +0 -32
  61. pulumi_snowflake/share.py +28 -28
  62. pulumi_snowflake/shared_database.py +35 -15
  63. pulumi_snowflake/stage.py +28 -28
  64. pulumi_snowflake/storage_integration.py +28 -4
  65. pulumi_snowflake/stream.py +28 -4
  66. pulumi_snowflake/streamlit.py +36 -16
  67. pulumi_snowflake/table.py +28 -32
  68. pulumi_snowflake/table_column_masking_policy_application.py +2 -14
  69. pulumi_snowflake/table_constraint.py +0 -152
  70. pulumi_snowflake/tag.py +28 -40
  71. pulumi_snowflake/tag_association.py +0 -120
  72. pulumi_snowflake/tag_masking_policy_association.py +0 -4
  73. pulumi_snowflake/task.py +28 -92
  74. pulumi_snowflake/unsafe_execute.py +2 -20
  75. pulumi_snowflake/user.py +3341 -368
  76. pulumi_snowflake/user_password_policy_attachment.py +0 -46
  77. pulumi_snowflake/view.py +465 -185
  78. pulumi_snowflake/warehouse.py +39 -43
  79. {pulumi_snowflake-0.58.0a1726035035.dist-info → pulumi_snowflake-0.59.0.dist-info}/METADATA +1 -1
  80. pulumi_snowflake-0.59.0.dist-info/RECORD +129 -0
  81. {pulumi_snowflake-0.58.0a1726035035.dist-info → pulumi_snowflake-0.59.0.dist-info}/WHEEL +1 -1
  82. pulumi_snowflake-0.58.0a1726035035.dist-info/RECORD +0 -129
  83. {pulumi_snowflake-0.58.0a1726035035.dist-info → pulumi_snowflake-0.59.0.dist-info}/top_level.txt +0 -0
@@ -8,31 +8,33 @@ import pulumi
8
8
  import pulumi.runtime
9
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
11
13
 
12
14
  __all__ = ['RowAccessPolicyArgs', 'RowAccessPolicy']
13
15
 
14
16
  @pulumi.input_type
15
17
  class RowAccessPolicyArgs:
16
18
  def __init__(__self__, *,
19
+ arguments: pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]],
20
+ body: pulumi.Input[str],
17
21
  database: pulumi.Input[str],
18
- row_access_expression: pulumi.Input[str],
19
22
  schema: pulumi.Input[str],
20
- signature: pulumi.Input[Mapping[str, pulumi.Input[str]]],
21
23
  comment: Optional[pulumi.Input[str]] = None,
22
24
  name: Optional[pulumi.Input[str]] = None):
23
25
  """
24
26
  The set of arguments for constructing a RowAccessPolicy resource.
25
- :param pulumi.Input[str] database: The database in which to create the row access policy.
26
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
27
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
28
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] signature: Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
27
+ :param pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]] arguments: List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
28
+ :param pulumi.Input[str] body: Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
29
+ :param pulumi.Input[str] database: The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
30
+ :param pulumi.Input[str] schema: The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
29
31
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
30
- :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
32
+ :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
31
33
  """
34
+ pulumi.set(__self__, "arguments", arguments)
35
+ pulumi.set(__self__, "body", body)
32
36
  pulumi.set(__self__, "database", database)
33
- pulumi.set(__self__, "row_access_expression", row_access_expression)
34
37
  pulumi.set(__self__, "schema", schema)
35
- pulumi.set(__self__, "signature", signature)
36
38
  if comment is not None:
37
39
  pulumi.set(__self__, "comment", comment)
38
40
  if name is not None:
@@ -40,51 +42,51 @@ class RowAccessPolicyArgs:
40
42
 
41
43
  @property
42
44
  @pulumi.getter
43
- def database(self) -> pulumi.Input[str]:
45
+ def arguments(self) -> pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]]:
44
46
  """
45
- The database in which to create the row access policy.
47
+ List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
46
48
  """
47
- return pulumi.get(self, "database")
49
+ return pulumi.get(self, "arguments")
48
50
 
49
- @database.setter
50
- def database(self, value: pulumi.Input[str]):
51
- pulumi.set(self, "database", value)
51
+ @arguments.setter
52
+ def arguments(self, value: pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]]):
53
+ pulumi.set(self, "arguments", value)
52
54
 
53
55
  @property
54
- @pulumi.getter(name="rowAccessExpression")
55
- def row_access_expression(self) -> pulumi.Input[str]:
56
+ @pulumi.getter
57
+ def body(self) -> pulumi.Input[str]:
56
58
  """
57
- Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
59
+ Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
58
60
  """
59
- return pulumi.get(self, "row_access_expression")
61
+ return pulumi.get(self, "body")
60
62
 
61
- @row_access_expression.setter
62
- def row_access_expression(self, value: pulumi.Input[str]):
63
- pulumi.set(self, "row_access_expression", value)
63
+ @body.setter
64
+ def body(self, value: pulumi.Input[str]):
65
+ pulumi.set(self, "body", value)
64
66
 
65
67
  @property
66
68
  @pulumi.getter
67
- def schema(self) -> pulumi.Input[str]:
69
+ def database(self) -> pulumi.Input[str]:
68
70
  """
69
- The schema in which to create the row access policy.
71
+ The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
70
72
  """
71
- return pulumi.get(self, "schema")
73
+ return pulumi.get(self, "database")
72
74
 
73
- @schema.setter
74
- def schema(self, value: pulumi.Input[str]):
75
- pulumi.set(self, "schema", value)
75
+ @database.setter
76
+ def database(self, value: pulumi.Input[str]):
77
+ pulumi.set(self, "database", value)
76
78
 
77
79
  @property
78
80
  @pulumi.getter
79
- def signature(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
81
+ def schema(self) -> pulumi.Input[str]:
80
82
  """
81
- Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
83
+ The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
82
84
  """
83
- return pulumi.get(self, "signature")
85
+ return pulumi.get(self, "schema")
84
86
 
85
- @signature.setter
86
- def signature(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]):
87
- pulumi.set(self, "signature", value)
87
+ @schema.setter
88
+ def schema(self, value: pulumi.Input[str]):
89
+ pulumi.set(self, "schema", value)
88
90
 
89
91
  @property
90
92
  @pulumi.getter
@@ -102,7 +104,7 @@ class RowAccessPolicyArgs:
102
104
  @pulumi.getter
103
105
  def name(self) -> Optional[pulumi.Input[str]]:
104
106
  """
105
- Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
107
+ Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
106
108
  """
107
109
  return pulumi.get(self, "name")
108
110
 
@@ -114,33 +116,69 @@ class RowAccessPolicyArgs:
114
116
  @pulumi.input_type
115
117
  class _RowAccessPolicyState:
116
118
  def __init__(__self__, *,
119
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]]] = None,
120
+ body: Optional[pulumi.Input[str]] = None,
117
121
  comment: Optional[pulumi.Input[str]] = None,
118
122
  database: Optional[pulumi.Input[str]] = None,
123
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyDescribeOutputArgs']]]] = None,
124
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
119
125
  name: Optional[pulumi.Input[str]] = None,
120
- row_access_expression: Optional[pulumi.Input[str]] = None,
121
126
  schema: Optional[pulumi.Input[str]] = None,
122
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
127
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyShowOutputArgs']]]] = None):
123
128
  """
124
129
  Input properties used for looking up and filtering RowAccessPolicy resources.
130
+ :param pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]] arguments: List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
131
+ :param pulumi.Input[str] body: Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
125
132
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
126
- :param pulumi.Input[str] database: The database in which to create the row access policy.
127
- :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
128
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
129
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
130
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] signature: Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
131
- """
133
+ :param pulumi.Input[str] database: The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
134
+ :param pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE ROW ACCESS POLICY` for the given row access policy.
135
+ :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).
136
+ :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
137
+ :param pulumi.Input[str] schema: The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
138
+ :param pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyShowOutputArgs']]] show_outputs: Outputs the result of `SHOW ROW ACCESS POLICY` for the given row access policy.
139
+ """
140
+ if arguments is not None:
141
+ pulumi.set(__self__, "arguments", arguments)
142
+ if body is not None:
143
+ pulumi.set(__self__, "body", body)
132
144
  if comment is not None:
133
145
  pulumi.set(__self__, "comment", comment)
134
146
  if database is not None:
135
147
  pulumi.set(__self__, "database", database)
148
+ if describe_outputs is not None:
149
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
150
+ if fully_qualified_name is not None:
151
+ pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
136
152
  if name is not None:
137
153
  pulumi.set(__self__, "name", name)
138
- if row_access_expression is not None:
139
- pulumi.set(__self__, "row_access_expression", row_access_expression)
140
154
  if schema is not None:
141
155
  pulumi.set(__self__, "schema", schema)
142
- if signature is not None:
143
- pulumi.set(__self__, "signature", signature)
156
+ if show_outputs is not None:
157
+ pulumi.set(__self__, "show_outputs", show_outputs)
158
+
159
+ @property
160
+ @pulumi.getter
161
+ def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]]]:
162
+ """
163
+ List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
164
+ """
165
+ return pulumi.get(self, "arguments")
166
+
167
+ @arguments.setter
168
+ def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyArgumentArgs']]]]):
169
+ pulumi.set(self, "arguments", value)
170
+
171
+ @property
172
+ @pulumi.getter
173
+ def body(self) -> Optional[pulumi.Input[str]]:
174
+ """
175
+ Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
176
+ """
177
+ return pulumi.get(self, "body")
178
+
179
+ @body.setter
180
+ def body(self, value: Optional[pulumi.Input[str]]):
181
+ pulumi.set(self, "body", value)
144
182
 
145
183
  @property
146
184
  @pulumi.getter
@@ -158,7 +196,7 @@ class _RowAccessPolicyState:
158
196
  @pulumi.getter
159
197
  def database(self) -> Optional[pulumi.Input[str]]:
160
198
  """
161
- The database in which to create the row access policy.
199
+ The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
162
200
  """
163
201
  return pulumi.get(self, "database")
164
202
 
@@ -166,11 +204,35 @@ class _RowAccessPolicyState:
166
204
  def database(self, value: Optional[pulumi.Input[str]]):
167
205
  pulumi.set(self, "database", value)
168
206
 
207
+ @property
208
+ @pulumi.getter(name="describeOutputs")
209
+ def describe_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyDescribeOutputArgs']]]]:
210
+ """
211
+ Outputs the result of `DESCRIBE ROW ACCESS POLICY` for the given row access policy.
212
+ """
213
+ return pulumi.get(self, "describe_outputs")
214
+
215
+ @describe_outputs.setter
216
+ def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyDescribeOutputArgs']]]]):
217
+ pulumi.set(self, "describe_outputs", value)
218
+
219
+ @property
220
+ @pulumi.getter(name="fullyQualifiedName")
221
+ def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
222
+ """
223
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
224
+ """
225
+ return pulumi.get(self, "fully_qualified_name")
226
+
227
+ @fully_qualified_name.setter
228
+ def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
229
+ pulumi.set(self, "fully_qualified_name", value)
230
+
169
231
  @property
170
232
  @pulumi.getter
171
233
  def name(self) -> Optional[pulumi.Input[str]]:
172
234
  """
173
- Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
235
+ Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
174
236
  """
175
237
  return pulumi.get(self, "name")
176
238
 
@@ -178,23 +240,11 @@ class _RowAccessPolicyState:
178
240
  def name(self, value: Optional[pulumi.Input[str]]):
179
241
  pulumi.set(self, "name", value)
180
242
 
181
- @property
182
- @pulumi.getter(name="rowAccessExpression")
183
- def row_access_expression(self) -> Optional[pulumi.Input[str]]:
184
- """
185
- Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
186
- """
187
- return pulumi.get(self, "row_access_expression")
188
-
189
- @row_access_expression.setter
190
- def row_access_expression(self, value: Optional[pulumi.Input[str]]):
191
- pulumi.set(self, "row_access_expression", value)
192
-
193
243
  @property
194
244
  @pulumi.getter
195
245
  def schema(self) -> Optional[pulumi.Input[str]]:
196
246
  """
197
- The schema in which to create the row access policy.
247
+ The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
198
248
  """
199
249
  return pulumi.get(self, "schema")
200
250
 
@@ -203,16 +253,16 @@ class _RowAccessPolicyState:
203
253
  pulumi.set(self, "schema", value)
204
254
 
205
255
  @property
206
- @pulumi.getter
207
- def signature(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
256
+ @pulumi.getter(name="showOutputs")
257
+ def show_outputs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyShowOutputArgs']]]]:
208
258
  """
209
- Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
259
+ Outputs the result of `SHOW ROW ACCESS POLICY` for the given row access policy.
210
260
  """
211
- return pulumi.get(self, "signature")
261
+ return pulumi.get(self, "show_outputs")
212
262
 
213
- @signature.setter
214
- def signature(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
215
- pulumi.set(self, "signature", value)
263
+ @show_outputs.setter
264
+ def show_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyShowOutputArgs']]]]):
265
+ pulumi.set(self, "show_outputs", value)
216
266
 
217
267
 
218
268
  class RowAccessPolicy(pulumi.CustomResource):
@@ -220,47 +270,28 @@ class RowAccessPolicy(pulumi.CustomResource):
220
270
  def __init__(__self__,
221
271
  resource_name: str,
222
272
  opts: Optional[pulumi.ResourceOptions] = None,
273
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyArgumentArgs', 'RowAccessPolicyArgumentArgsDict']]]]] = None,
274
+ body: Optional[pulumi.Input[str]] = None,
223
275
  comment: Optional[pulumi.Input[str]] = None,
224
276
  database: Optional[pulumi.Input[str]] = None,
225
277
  name: Optional[pulumi.Input[str]] = None,
226
- row_access_expression: Optional[pulumi.Input[str]] = None,
227
278
  schema: Optional[pulumi.Input[str]] = None,
228
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
229
279
  __props__=None):
230
280
  """
231
- ## Example Usage
232
-
233
- ```python
234
- import pulumi
235
- import pulumi_snowflake as snowflake
236
-
237
- example_row_access_policy = snowflake.RowAccessPolicy("example_row_access_policy",
238
- name="EXAMPLE_ROW_ACCESS_POLICY",
239
- database="EXAMPLE_DB",
240
- schema="EXAMPLE_SCHEMA",
241
- signature={
242
- "A": "VARCHAR",
243
- "B": "VARCHAR",
244
- },
245
- row_access_expression="case when current_role() in ('ANALYST') then true else false end")
246
- ```
247
-
248
281
  ## Import
249
282
 
250
- format is database name | schema name | policy name
251
-
252
283
  ```sh
253
- $ pulumi import snowflake:index/rowAccessPolicy:RowAccessPolicy example 'dbName|schemaName|policyName'
284
+ $ pulumi import snowflake:index/rowAccessPolicy:RowAccessPolicy example '"<database_name>"."<schema_name>"."<row_access_policy_name>"'
254
285
  ```
255
286
 
256
287
  :param str resource_name: The name of the resource.
257
288
  :param pulumi.ResourceOptions opts: Options for the resource.
289
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyArgumentArgs', 'RowAccessPolicyArgumentArgsDict']]]] arguments: List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
290
+ :param pulumi.Input[str] body: Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
258
291
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
259
- :param pulumi.Input[str] database: The database in which to create the row access policy.
260
- :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
261
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
262
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
263
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] signature: Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
292
+ :param pulumi.Input[str] database: The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
293
+ :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
294
+ :param pulumi.Input[str] schema: The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
264
295
  """
265
296
  ...
266
297
  @overload
@@ -269,29 +300,10 @@ class RowAccessPolicy(pulumi.CustomResource):
269
300
  args: RowAccessPolicyArgs,
270
301
  opts: Optional[pulumi.ResourceOptions] = None):
271
302
  """
272
- ## Example Usage
273
-
274
- ```python
275
- import pulumi
276
- import pulumi_snowflake as snowflake
277
-
278
- example_row_access_policy = snowflake.RowAccessPolicy("example_row_access_policy",
279
- name="EXAMPLE_ROW_ACCESS_POLICY",
280
- database="EXAMPLE_DB",
281
- schema="EXAMPLE_SCHEMA",
282
- signature={
283
- "A": "VARCHAR",
284
- "B": "VARCHAR",
285
- },
286
- row_access_expression="case when current_role() in ('ANALYST') then true else false end")
287
- ```
288
-
289
303
  ## Import
290
304
 
291
- format is database name | schema name | policy name
292
-
293
305
  ```sh
294
- $ pulumi import snowflake:index/rowAccessPolicy:RowAccessPolicy example 'dbName|schemaName|policyName'
306
+ $ pulumi import snowflake:index/rowAccessPolicy:RowAccessPolicy example '"<database_name>"."<schema_name>"."<row_access_policy_name>"'
295
307
  ```
296
308
 
297
309
  :param str resource_name: The name of the resource.
@@ -309,12 +321,12 @@ class RowAccessPolicy(pulumi.CustomResource):
309
321
  def _internal_init(__self__,
310
322
  resource_name: str,
311
323
  opts: Optional[pulumi.ResourceOptions] = None,
324
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyArgumentArgs', 'RowAccessPolicyArgumentArgsDict']]]]] = None,
325
+ body: Optional[pulumi.Input[str]] = None,
312
326
  comment: Optional[pulumi.Input[str]] = None,
313
327
  database: Optional[pulumi.Input[str]] = None,
314
328
  name: Optional[pulumi.Input[str]] = None,
315
- row_access_expression: Optional[pulumi.Input[str]] = None,
316
329
  schema: Optional[pulumi.Input[str]] = None,
317
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
318
330
  __props__=None):
319
331
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
320
332
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -324,20 +336,23 @@ class RowAccessPolicy(pulumi.CustomResource):
324
336
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
325
337
  __props__ = RowAccessPolicyArgs.__new__(RowAccessPolicyArgs)
326
338
 
339
+ if arguments is None and not opts.urn:
340
+ raise TypeError("Missing required property 'arguments'")
341
+ __props__.__dict__["arguments"] = arguments
342
+ if body is None and not opts.urn:
343
+ raise TypeError("Missing required property 'body'")
344
+ __props__.__dict__["body"] = body
327
345
  __props__.__dict__["comment"] = comment
328
346
  if database is None and not opts.urn:
329
347
  raise TypeError("Missing required property 'database'")
330
348
  __props__.__dict__["database"] = database
331
349
  __props__.__dict__["name"] = name
332
- if row_access_expression is None and not opts.urn:
333
- raise TypeError("Missing required property 'row_access_expression'")
334
- __props__.__dict__["row_access_expression"] = row_access_expression
335
350
  if schema is None and not opts.urn:
336
351
  raise TypeError("Missing required property 'schema'")
337
352
  __props__.__dict__["schema"] = schema
338
- if signature is None and not opts.urn:
339
- raise TypeError("Missing required property 'signature'")
340
- __props__.__dict__["signature"] = signature
353
+ __props__.__dict__["describe_outputs"] = None
354
+ __props__.__dict__["fully_qualified_name"] = None
355
+ __props__.__dict__["show_outputs"] = None
341
356
  super(RowAccessPolicy, __self__).__init__(
342
357
  'snowflake:index/rowAccessPolicy:RowAccessPolicy',
343
358
  resource_name,
@@ -348,12 +363,15 @@ class RowAccessPolicy(pulumi.CustomResource):
348
363
  def get(resource_name: str,
349
364
  id: pulumi.Input[str],
350
365
  opts: Optional[pulumi.ResourceOptions] = None,
366
+ arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyArgumentArgs', 'RowAccessPolicyArgumentArgsDict']]]]] = None,
367
+ body: Optional[pulumi.Input[str]] = None,
351
368
  comment: Optional[pulumi.Input[str]] = None,
352
369
  database: Optional[pulumi.Input[str]] = None,
370
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyDescribeOutputArgs', 'RowAccessPolicyDescribeOutputArgsDict']]]]] = None,
371
+ fully_qualified_name: Optional[pulumi.Input[str]] = None,
353
372
  name: Optional[pulumi.Input[str]] = None,
354
- row_access_expression: Optional[pulumi.Input[str]] = None,
355
373
  schema: Optional[pulumi.Input[str]] = None,
356
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'RowAccessPolicy':
374
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyShowOutputArgs', 'RowAccessPolicyShowOutputArgsDict']]]]] = None) -> 'RowAccessPolicy':
357
375
  """
358
376
  Get an existing RowAccessPolicy resource's state with the given name, id, and optional extra
359
377
  properties used to qualify the lookup.
@@ -361,25 +379,47 @@ class RowAccessPolicy(pulumi.CustomResource):
361
379
  :param str resource_name: The unique name of the resulting resource.
362
380
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
363
381
  :param pulumi.ResourceOptions opts: Options for the resource.
382
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyArgumentArgs', 'RowAccessPolicyArgumentArgsDict']]]] arguments: List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
383
+ :param pulumi.Input[str] body: Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
364
384
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
365
- :param pulumi.Input[str] database: The database in which to create the row access policy.
366
- :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
367
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
368
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
369
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] signature: Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
385
+ :param pulumi.Input[str] database: The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
386
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyDescribeOutputArgs', 'RowAccessPolicyDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE ROW ACCESS POLICY` for the given row access policy.
387
+ :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).
388
+ :param pulumi.Input[str] name: Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
389
+ :param pulumi.Input[str] schema: The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
390
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyShowOutputArgs', 'RowAccessPolicyShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW ROW ACCESS POLICY` for the given row access policy.
370
391
  """
371
392
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
372
393
 
373
394
  __props__ = _RowAccessPolicyState.__new__(_RowAccessPolicyState)
374
395
 
396
+ __props__.__dict__["arguments"] = arguments
397
+ __props__.__dict__["body"] = body
375
398
  __props__.__dict__["comment"] = comment
376
399
  __props__.__dict__["database"] = database
400
+ __props__.__dict__["describe_outputs"] = describe_outputs
401
+ __props__.__dict__["fully_qualified_name"] = fully_qualified_name
377
402
  __props__.__dict__["name"] = name
378
- __props__.__dict__["row_access_expression"] = row_access_expression
379
403
  __props__.__dict__["schema"] = schema
380
- __props__.__dict__["signature"] = signature
404
+ __props__.__dict__["show_outputs"] = show_outputs
381
405
  return RowAccessPolicy(resource_name, opts=opts, __props__=__props__)
382
406
 
407
+ @property
408
+ @pulumi.getter
409
+ def arguments(self) -> pulumi.Output[Sequence['outputs.RowAccessPolicyArgument']]:
410
+ """
411
+ List of the arguments for the row access policy. A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy. If any argument name or type is changed, the resource is recreated.
412
+ """
413
+ return pulumi.get(self, "arguments")
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def body(self) -> pulumi.Output[str]:
418
+ """
419
+ Specifies the SQL expression. The expression can be any boolean-valued SQL expression. 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.
420
+ """
421
+ return pulumi.get(self, "body")
422
+
383
423
  @property
384
424
  @pulumi.getter
385
425
  def comment(self) -> pulumi.Output[Optional[str]]:
@@ -392,39 +432,47 @@ class RowAccessPolicy(pulumi.CustomResource):
392
432
  @pulumi.getter
393
433
  def database(self) -> pulumi.Output[str]:
394
434
  """
395
- The database in which to create the row access policy.
435
+ The database in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
396
436
  """
397
437
  return pulumi.get(self, "database")
398
438
 
399
439
  @property
400
- @pulumi.getter
401
- def name(self) -> pulumi.Output[str]:
440
+ @pulumi.getter(name="describeOutputs")
441
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.RowAccessPolicyDescribeOutput']]:
402
442
  """
403
- Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
443
+ Outputs the result of `DESCRIBE ROW ACCESS POLICY` for the given row access policy.
404
444
  """
405
- return pulumi.get(self, "name")
445
+ return pulumi.get(self, "describe_outputs")
406
446
 
407
447
  @property
408
- @pulumi.getter(name="rowAccessExpression")
409
- def row_access_expression(self) -> pulumi.Output[str]:
448
+ @pulumi.getter(name="fullyQualifiedName")
449
+ def fully_qualified_name(self) -> pulumi.Output[str]:
410
450
  """
411
- Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
451
+ Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
412
452
  """
413
- return pulumi.get(self, "row_access_expression")
453
+ return pulumi.get(self, "fully_qualified_name")
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def name(self) -> pulumi.Output[str]:
458
+ """
459
+ Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
460
+ """
461
+ return pulumi.get(self, "name")
414
462
 
415
463
  @property
416
464
  @pulumi.getter
417
465
  def schema(self) -> pulumi.Output[str]:
418
466
  """
419
- The schema in which to create the row access policy.
467
+ The schema in which to create the row access policy. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
420
468
  """
421
469
  return pulumi.get(self, "schema")
422
470
 
423
471
  @property
424
- @pulumi.getter
425
- def signature(self) -> pulumi.Output[Mapping[str, str]]:
472
+ @pulumi.getter(name="showOutputs")
473
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.RowAccessPolicyShowOutput']]:
426
474
  """
427
- Specifies signature (arguments) for the row access policy (uppercase and sorted to avoid recreation of resource). A signature specifies a set of attributes that must be considered to determine whether the row is accessible. The attribute values come from the database object (e.g. table or view) to be protected by the row access policy.
475
+ Outputs the result of `SHOW ROW ACCESS POLICY` for the given row access policy.
428
476
  """
429
- return pulumi.get(self, "signature")
477
+ return pulumi.get(self, "show_outputs")
430
478