pulumi-snowflake 0.59.0a1726827563__py3-none-any.whl → 0.59.0a1726831379__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.

@@ -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,37 +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,
119
124
  fully_qualified_name: Optional[pulumi.Input[str]] = None,
120
125
  name: Optional[pulumi.Input[str]] = None,
121
- row_access_expression: Optional[pulumi.Input[str]] = None,
122
126
  schema: Optional[pulumi.Input[str]] = None,
123
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
127
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['RowAccessPolicyShowOutputArgs']]]] = None):
124
128
  """
125
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.
126
132
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
127
- :param pulumi.Input[str] database: The database in which to create the row access policy.
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.
128
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).
129
- :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.
130
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
131
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
132
- :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.
133
- """
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)
134
144
  if comment is not None:
135
145
  pulumi.set(__self__, "comment", comment)
136
146
  if database is not None:
137
147
  pulumi.set(__self__, "database", database)
148
+ if describe_outputs is not None:
149
+ pulumi.set(__self__, "describe_outputs", describe_outputs)
138
150
  if fully_qualified_name is not None:
139
151
  pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
140
152
  if name is not None:
141
153
  pulumi.set(__self__, "name", name)
142
- if row_access_expression is not None:
143
- pulumi.set(__self__, "row_access_expression", row_access_expression)
144
154
  if schema is not None:
145
155
  pulumi.set(__self__, "schema", schema)
146
- if signature is not None:
147
- 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)
148
182
 
149
183
  @property
150
184
  @pulumi.getter
@@ -162,7 +196,7 @@ class _RowAccessPolicyState:
162
196
  @pulumi.getter
163
197
  def database(self) -> Optional[pulumi.Input[str]]:
164
198
  """
165
- 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: `|`, `.`, `(`, `)`, `"`
166
200
  """
167
201
  return pulumi.get(self, "database")
168
202
 
@@ -170,6 +204,18 @@ class _RowAccessPolicyState:
170
204
  def database(self, value: Optional[pulumi.Input[str]]):
171
205
  pulumi.set(self, "database", value)
172
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
+
173
219
  @property
174
220
  @pulumi.getter(name="fullyQualifiedName")
175
221
  def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
@@ -186,7 +232,7 @@ class _RowAccessPolicyState:
186
232
  @pulumi.getter
187
233
  def name(self) -> Optional[pulumi.Input[str]]:
188
234
  """
189
- 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: `|`, `.`, `(`, `)`, `"`
190
236
  """
191
237
  return pulumi.get(self, "name")
192
238
 
@@ -194,23 +240,11 @@ class _RowAccessPolicyState:
194
240
  def name(self, value: Optional[pulumi.Input[str]]):
195
241
  pulumi.set(self, "name", value)
196
242
 
197
- @property
198
- @pulumi.getter(name="rowAccessExpression")
199
- def row_access_expression(self) -> Optional[pulumi.Input[str]]:
200
- """
201
- Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
202
- """
203
- return pulumi.get(self, "row_access_expression")
204
-
205
- @row_access_expression.setter
206
- def row_access_expression(self, value: Optional[pulumi.Input[str]]):
207
- pulumi.set(self, "row_access_expression", value)
208
-
209
243
  @property
210
244
  @pulumi.getter
211
245
  def schema(self) -> Optional[pulumi.Input[str]]:
212
246
  """
213
- 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: `|`, `.`, `(`, `)`, `"`
214
248
  """
215
249
  return pulumi.get(self, "schema")
216
250
 
@@ -219,16 +253,16 @@ class _RowAccessPolicyState:
219
253
  pulumi.set(self, "schema", value)
220
254
 
221
255
  @property
222
- @pulumi.getter
223
- 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']]]]:
224
258
  """
225
- 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.
226
260
  """
227
- return pulumi.get(self, "signature")
261
+ return pulumi.get(self, "show_outputs")
228
262
 
229
- @signature.setter
230
- def signature(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
231
- 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)
232
266
 
233
267
 
234
268
  class RowAccessPolicy(pulumi.CustomResource):
@@ -236,30 +270,28 @@ class RowAccessPolicy(pulumi.CustomResource):
236
270
  def __init__(__self__,
237
271
  resource_name: str,
238
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,
239
275
  comment: Optional[pulumi.Input[str]] = None,
240
276
  database: Optional[pulumi.Input[str]] = None,
241
277
  name: Optional[pulumi.Input[str]] = None,
242
- row_access_expression: Optional[pulumi.Input[str]] = None,
243
278
  schema: Optional[pulumi.Input[str]] = None,
244
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
245
279
  __props__=None):
246
280
  """
247
281
  ## Import
248
282
 
249
- format is database name | schema name | policy name
250
-
251
283
  ```sh
252
- $ 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>"'
253
285
  ```
254
286
 
255
287
  :param str resource_name: The name of the resource.
256
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.
257
291
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
258
- :param pulumi.Input[str] database: The database in which to create the row access policy.
259
- :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.
260
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
261
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
262
- :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: `|`, `.`, `(`, `)`, `"`
263
295
  """
264
296
  ...
265
297
  @overload
@@ -270,10 +302,8 @@ class RowAccessPolicy(pulumi.CustomResource):
270
302
  """
271
303
  ## Import
272
304
 
273
- format is database name | schema name | policy name
274
-
275
305
  ```sh
276
- $ 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>"'
277
307
  ```
278
308
 
279
309
  :param str resource_name: The name of the resource.
@@ -291,12 +321,12 @@ class RowAccessPolicy(pulumi.CustomResource):
291
321
  def _internal_init(__self__,
292
322
  resource_name: str,
293
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,
294
326
  comment: Optional[pulumi.Input[str]] = None,
295
327
  database: Optional[pulumi.Input[str]] = None,
296
328
  name: Optional[pulumi.Input[str]] = None,
297
- row_access_expression: Optional[pulumi.Input[str]] = None,
298
329
  schema: Optional[pulumi.Input[str]] = None,
299
- signature: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
300
330
  __props__=None):
301
331
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
302
332
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -306,21 +336,23 @@ class RowAccessPolicy(pulumi.CustomResource):
306
336
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
307
337
  __props__ = RowAccessPolicyArgs.__new__(RowAccessPolicyArgs)
308
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
309
345
  __props__.__dict__["comment"] = comment
310
346
  if database is None and not opts.urn:
311
347
  raise TypeError("Missing required property 'database'")
312
348
  __props__.__dict__["database"] = database
313
349
  __props__.__dict__["name"] = name
314
- if row_access_expression is None and not opts.urn:
315
- raise TypeError("Missing required property 'row_access_expression'")
316
- __props__.__dict__["row_access_expression"] = row_access_expression
317
350
  if schema is None and not opts.urn:
318
351
  raise TypeError("Missing required property 'schema'")
319
352
  __props__.__dict__["schema"] = schema
320
- if signature is None and not opts.urn:
321
- raise TypeError("Missing required property 'signature'")
322
- __props__.__dict__["signature"] = signature
353
+ __props__.__dict__["describe_outputs"] = None
323
354
  __props__.__dict__["fully_qualified_name"] = None
355
+ __props__.__dict__["show_outputs"] = None
324
356
  super(RowAccessPolicy, __self__).__init__(
325
357
  'snowflake:index/rowAccessPolicy:RowAccessPolicy',
326
358
  resource_name,
@@ -331,13 +363,15 @@ class RowAccessPolicy(pulumi.CustomResource):
331
363
  def get(resource_name: str,
332
364
  id: pulumi.Input[str],
333
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,
334
368
  comment: Optional[pulumi.Input[str]] = None,
335
369
  database: Optional[pulumi.Input[str]] = None,
370
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RowAccessPolicyDescribeOutputArgs', 'RowAccessPolicyDescribeOutputArgsDict']]]]] = None,
336
371
  fully_qualified_name: Optional[pulumi.Input[str]] = None,
337
372
  name: Optional[pulumi.Input[str]] = None,
338
- row_access_expression: Optional[pulumi.Input[str]] = None,
339
373
  schema: Optional[pulumi.Input[str]] = None,
340
- 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':
341
375
  """
342
376
  Get an existing RowAccessPolicy resource's state with the given name, id, and optional extra
343
377
  properties used to qualify the lookup.
@@ -345,27 +379,47 @@ class RowAccessPolicy(pulumi.CustomResource):
345
379
  :param str resource_name: The unique name of the resulting resource.
346
380
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
347
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.
348
384
  :param pulumi.Input[str] comment: Specifies a comment for the row access policy.
349
- :param pulumi.Input[str] database: The database in which to create 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.
350
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).
351
- :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.
352
- :param pulumi.Input[str] row_access_expression: Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
353
- :param pulumi.Input[str] schema: The schema in which to create the row access policy.
354
- :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.
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.
355
391
  """
356
392
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
357
393
 
358
394
  __props__ = _RowAccessPolicyState.__new__(_RowAccessPolicyState)
359
395
 
396
+ __props__.__dict__["arguments"] = arguments
397
+ __props__.__dict__["body"] = body
360
398
  __props__.__dict__["comment"] = comment
361
399
  __props__.__dict__["database"] = database
400
+ __props__.__dict__["describe_outputs"] = describe_outputs
362
401
  __props__.__dict__["fully_qualified_name"] = fully_qualified_name
363
402
  __props__.__dict__["name"] = name
364
- __props__.__dict__["row_access_expression"] = row_access_expression
365
403
  __props__.__dict__["schema"] = schema
366
- __props__.__dict__["signature"] = signature
404
+ __props__.__dict__["show_outputs"] = show_outputs
367
405
  return RowAccessPolicy(resource_name, opts=opts, __props__=__props__)
368
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
+
369
423
  @property
370
424
  @pulumi.getter
371
425
  def comment(self) -> pulumi.Output[Optional[str]]:
@@ -378,10 +432,18 @@ class RowAccessPolicy(pulumi.CustomResource):
378
432
  @pulumi.getter
379
433
  def database(self) -> pulumi.Output[str]:
380
434
  """
381
- 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: `|`, `.`, `(`, `)`, `"`
382
436
  """
383
437
  return pulumi.get(self, "database")
384
438
 
439
+ @property
440
+ @pulumi.getter(name="describeOutputs")
441
+ def describe_outputs(self) -> pulumi.Output[Sequence['outputs.RowAccessPolicyDescribeOutput']]:
442
+ """
443
+ Outputs the result of `DESCRIBE ROW ACCESS POLICY` for the given row access policy.
444
+ """
445
+ return pulumi.get(self, "describe_outputs")
446
+
385
447
  @property
386
448
  @pulumi.getter(name="fullyQualifiedName")
387
449
  def fully_qualified_name(self) -> pulumi.Output[str]:
@@ -394,31 +456,23 @@ class RowAccessPolicy(pulumi.CustomResource):
394
456
  @pulumi.getter
395
457
  def name(self) -> pulumi.Output[str]:
396
458
  """
397
- Specifies the identifier for the row access policy; must be unique for the database and schema in which the row access policy is created.
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: `|`, `.`, `(`, `)`, `"`
398
460
  """
399
461
  return pulumi.get(self, "name")
400
462
 
401
- @property
402
- @pulumi.getter(name="rowAccessExpression")
403
- def row_access_expression(self) -> pulumi.Output[str]:
404
- """
405
- Specifies the SQL expression. The expression can be any boolean-valued SQL expression.
406
- """
407
- return pulumi.get(self, "row_access_expression")
408
-
409
463
  @property
410
464
  @pulumi.getter
411
465
  def schema(self) -> pulumi.Output[str]:
412
466
  """
413
- 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: `|`, `.`, `(`, `)`, `"`
414
468
  """
415
469
  return pulumi.get(self, "schema")
416
470
 
417
471
  @property
418
- @pulumi.getter
419
- def signature(self) -> pulumi.Output[Mapping[str, str]]:
472
+ @pulumi.getter(name="showOutputs")
473
+ def show_outputs(self) -> pulumi.Output[Sequence['outputs.RowAccessPolicyShowOutput']]:
420
474
  """
421
- 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.
422
476
  """
423
- return pulumi.get(self, "signature")
477
+ return pulumi.get(self, "show_outputs")
424
478
 
pulumi_snowflake/view.py CHANGED
@@ -38,7 +38,7 @@ class ViewArgs:
38
38
  :param pulumi.Input[str] statement: Specifies the query used to create the view.
39
39
  :param pulumi.Input['ViewAggregationPolicyArgs'] aggregation_policy: Specifies the aggregation policy to set on a view.
40
40
  :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.
41
- :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.)
41
+ :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.
42
42
  :param pulumi.Input[str] comment: Specifies a comment for the view.
43
43
  :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.
44
44
  :param pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]] data_metric_functions: Data metric functions used for the view.
@@ -139,7 +139,7 @@ class ViewArgs:
139
139
  @pulumi.getter
140
140
  def columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]:
141
141
  """
142
- 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.)
142
+ 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.
143
143
  """
144
144
  return pulumi.get(self, "columns")
145
145
 
@@ -275,7 +275,7 @@ class _ViewState:
275
275
  Input properties used for looking up and filtering View resources.
276
276
  :param pulumi.Input['ViewAggregationPolicyArgs'] aggregation_policy: Specifies the aggregation policy to set on a view.
277
277
  :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.
278
- :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.)
278
+ :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.
279
279
  :param pulumi.Input[str] comment: Specifies a comment for the view.
280
280
  :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.
281
281
  :param pulumi.Input[Sequence[pulumi.Input['ViewDataMetricFunctionArgs']]] data_metric_functions: Data metric functions used for the view.
@@ -355,7 +355,7 @@ class _ViewState:
355
355
  @pulumi.getter
356
356
  def columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ViewColumnArgs']]]]:
357
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.)
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
359
  """
360
360
  return pulumi.get(self, "columns")
361
361
 
@@ -570,7 +570,7 @@ class View(pulumi.CustomResource):
570
570
  :param pulumi.ResourceOptions opts: Options for the resource.
571
571
  :param pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']] aggregation_policy: Specifies the aggregation policy to set on a view.
572
572
  :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.
573
- :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.)
573
+ :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.
574
574
  :param pulumi.Input[str] comment: Specifies a comment for the view.
575
575
  :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.
576
576
  :param pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]] data_metric_functions: Data metric functions used for the view.
@@ -695,7 +695,7 @@ class View(pulumi.CustomResource):
695
695
  :param pulumi.ResourceOptions opts: Options for the resource.
696
696
  :param pulumi.Input[Union['ViewAggregationPolicyArgs', 'ViewAggregationPolicyArgsDict']] aggregation_policy: Specifies the aggregation policy to set on a view.
697
697
  :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.
698
- :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.)
698
+ :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.
699
699
  :param pulumi.Input[str] comment: Specifies a comment for the view.
700
700
  :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.
701
701
  :param pulumi.Input[Sequence[pulumi.Input[Union['ViewDataMetricFunctionArgs', 'ViewDataMetricFunctionArgsDict']]]] data_metric_functions: Data metric functions used for the view.
@@ -754,7 +754,7 @@ class View(pulumi.CustomResource):
754
754
  @pulumi.getter
755
755
  def columns(self) -> pulumi.Output[Optional[Sequence['outputs.ViewColumn']]]:
756
756
  """
757
- 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.)
757
+ 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.
758
758
  """
759
759
  return pulumi.get(self, "columns")
760
760