pulumi-snowflake 0.58.0__py3-none-any.whl → 0.58.0a1722528062__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 (92) hide show
  1. pulumi_snowflake/_inputs.py +125 -5857
  2. pulumi_snowflake/account.py +50 -28
  3. pulumi_snowflake/account_parameter.py +28 -0
  4. pulumi_snowflake/account_password_policy_attachment.py +30 -2
  5. pulumi_snowflake/account_role.py +32 -51
  6. pulumi_snowflake/alert.py +45 -33
  7. pulumi_snowflake/api_authentication_integration_with_authorization_code_grant.py +19 -39
  8. pulumi_snowflake/api_authentication_integration_with_client_credentials.py +19 -39
  9. pulumi_snowflake/api_authentication_integration_with_jwt_bearer.py +19 -39
  10. pulumi_snowflake/api_integration.py +54 -28
  11. pulumi_snowflake/cortex_search_service.py +0 -28
  12. pulumi_snowflake/database.py +148 -97
  13. pulumi_snowflake/database_old.py +77 -5
  14. pulumi_snowflake/database_role.py +42 -76
  15. pulumi_snowflake/dynamic_table.py +43 -33
  16. pulumi_snowflake/email_notification_integration.py +26 -28
  17. pulumi_snowflake/external_function.py +62 -38
  18. pulumi_snowflake/external_oauth_integration.py +21 -41
  19. pulumi_snowflake/external_table.py +58 -38
  20. pulumi_snowflake/failover_group.py +82 -38
  21. pulumi_snowflake/file_format.py +26 -28
  22. pulumi_snowflake/function.py +9 -33
  23. pulumi_snowflake/get_cortex_search_services.py +16 -16
  24. pulumi_snowflake/get_database_roles.py +38 -61
  25. pulumi_snowflake/get_databases.py +6 -6
  26. pulumi_snowflake/get_dynamic_tables.py +12 -12
  27. pulumi_snowflake/get_grants.py +138 -138
  28. pulumi_snowflake/get_network_policies.py +2 -2
  29. pulumi_snowflake/get_roles.py +2 -2
  30. pulumi_snowflake/get_schemas.py +8 -12
  31. pulumi_snowflake/get_security_integrations.py +2 -2
  32. pulumi_snowflake/get_streamlits.py +10 -10
  33. pulumi_snowflake/get_users.py +33 -96
  34. pulumi_snowflake/get_views.py +53 -92
  35. pulumi_snowflake/get_warehouses.py +2 -2
  36. pulumi_snowflake/grant_account_role.py +4 -0
  37. pulumi_snowflake/grant_application_role.py +4 -0
  38. pulumi_snowflake/grant_database_role.py +4 -0
  39. pulumi_snowflake/grant_ownership.py +5 -5
  40. pulumi_snowflake/grant_privileges_to_account_role.py +15 -15
  41. pulumi_snowflake/grant_privileges_to_database_role.py +12 -16
  42. pulumi_snowflake/grant_privileges_to_share.py +0 -47
  43. pulumi_snowflake/managed_account.py +4 -28
  44. pulumi_snowflake/masking_policy.py +89 -33
  45. pulumi_snowflake/materialized_view.py +39 -33
  46. pulumi_snowflake/network_policy.py +49 -47
  47. pulumi_snowflake/network_policy_attachment.py +30 -0
  48. pulumi_snowflake/network_rule.py +66 -28
  49. pulumi_snowflake/notification_integration.py +34 -28
  50. pulumi_snowflake/oauth_integration.py +34 -0
  51. pulumi_snowflake/oauth_integration_for_custom_clients.py +105 -39
  52. pulumi_snowflake/oauth_integration_for_partner_applications.py +19 -39
  53. pulumi_snowflake/object_parameter.py +103 -5
  54. pulumi_snowflake/outputs.py +4207 -12013
  55. pulumi_snowflake/password_policy.py +28 -28
  56. pulumi_snowflake/pipe.py +4 -28
  57. pulumi_snowflake/procedure.py +9 -33
  58. pulumi_snowflake/provider.py +16 -16
  59. pulumi_snowflake/pulumi-plugin.json +1 -1
  60. pulumi_snowflake/resource_monitor.py +48 -28
  61. pulumi_snowflake/role.py +32 -51
  62. pulumi_snowflake/row_access_policy.py +34 -28
  63. pulumi_snowflake/saml2_integration.py +19 -39
  64. pulumi_snowflake/saml_integration.py +34 -0
  65. pulumi_snowflake/schema.py +28 -52
  66. pulumi_snowflake/scim_integration.py +19 -39
  67. pulumi_snowflake/secondary_database.py +19 -35
  68. pulumi_snowflake/sequence.py +36 -4
  69. pulumi_snowflake/session_parameter.py +32 -0
  70. pulumi_snowflake/share.py +28 -28
  71. pulumi_snowflake/shared_database.py +15 -35
  72. pulumi_snowflake/stage.py +33 -33
  73. pulumi_snowflake/storage_integration.py +4 -28
  74. pulumi_snowflake/stream.py +4 -28
  75. pulumi_snowflake/streamlit.py +19 -39
  76. pulumi_snowflake/table.py +47 -43
  77. pulumi_snowflake/table_column_masking_policy_application.py +14 -2
  78. pulumi_snowflake/table_constraint.py +157 -5
  79. pulumi_snowflake/tag.py +40 -28
  80. pulumi_snowflake/tag_association.py +125 -5
  81. pulumi_snowflake/tag_masking_policy_association.py +4 -0
  82. pulumi_snowflake/task.py +92 -28
  83. pulumi_snowflake/unsafe_execute.py +20 -2
  84. pulumi_snowflake/user.py +373 -3346
  85. pulumi_snowflake/user_password_policy_attachment.py +36 -0
  86. pulumi_snowflake/view.py +185 -465
  87. pulumi_snowflake/warehouse.py +43 -39
  88. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722528062.dist-info}/METADATA +1 -1
  89. pulumi_snowflake-0.58.0a1722528062.dist-info/RECORD +129 -0
  90. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722528062.dist-info}/WHEEL +1 -1
  91. pulumi_snowflake-0.58.0.dist-info/RECORD +0 -129
  92. {pulumi_snowflake-0.58.0.dist-info → pulumi_snowflake-0.58.0a1722528062.dist-info}/top_level.txt +0 -0
@@ -182,11 +182,11 @@ class _MaskingPolicyState:
182
182
  comment: Optional[pulumi.Input[str]] = None,
183
183
  database: Optional[pulumi.Input[str]] = None,
184
184
  exempt_other_policies: Optional[pulumi.Input[bool]] = None,
185
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
186
185
  if_not_exists: Optional[pulumi.Input[bool]] = None,
187
186
  masking_expression: Optional[pulumi.Input[str]] = None,
188
187
  name: Optional[pulumi.Input[str]] = None,
189
188
  or_replace: Optional[pulumi.Input[bool]] = None,
189
+ qualified_name: Optional[pulumi.Input[str]] = None,
190
190
  return_data_type: Optional[pulumi.Input[str]] = None,
191
191
  schema: Optional[pulumi.Input[str]] = None,
192
192
  signature: Optional[pulumi.Input['MaskingPolicySignatureArgs']] = None):
@@ -195,11 +195,11 @@ class _MaskingPolicyState:
195
195
  :param pulumi.Input[str] comment: Specifies a comment for the masking policy.
196
196
  :param pulumi.Input[str] database: The database in which to create the masking policy.
197
197
  :param pulumi.Input[bool] exempt_other_policies: Specifies whether the row access policy or conditional masking policy can reference a column that is already protected by a masking policy.
198
- :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).
199
198
  :param pulumi.Input[bool] if_not_exists: Prevent overwriting a previous masking policy with the same name.
200
199
  :param pulumi.Input[str] masking_expression: Specifies the SQL expression that transforms the data.
201
200
  :param pulumi.Input[str] name: Specifies the identifier for the masking policy; must be unique for the database and schema in which the masking policy is created.
202
201
  :param pulumi.Input[bool] or_replace: Whether to override a previous masking policy with the same name.
202
+ :param pulumi.Input[str] qualified_name: Specifies the qualified identifier for the masking policy.
203
203
  :param pulumi.Input[str] return_data_type: Specifies the data type to return.
204
204
  :param pulumi.Input[str] schema: The schema in which to create the masking policy.
205
205
  :param pulumi.Input['MaskingPolicySignatureArgs'] signature: The signature for the masking policy; specifies the input columns and data types to evaluate at query runtime.
@@ -210,8 +210,6 @@ class _MaskingPolicyState:
210
210
  pulumi.set(__self__, "database", database)
211
211
  if exempt_other_policies is not None:
212
212
  pulumi.set(__self__, "exempt_other_policies", exempt_other_policies)
213
- if fully_qualified_name is not None:
214
- pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
215
213
  if if_not_exists is not None:
216
214
  pulumi.set(__self__, "if_not_exists", if_not_exists)
217
215
  if masking_expression is not None:
@@ -220,6 +218,8 @@ class _MaskingPolicyState:
220
218
  pulumi.set(__self__, "name", name)
221
219
  if or_replace is not None:
222
220
  pulumi.set(__self__, "or_replace", or_replace)
221
+ if qualified_name is not None:
222
+ pulumi.set(__self__, "qualified_name", qualified_name)
223
223
  if return_data_type is not None:
224
224
  pulumi.set(__self__, "return_data_type", return_data_type)
225
225
  if schema is not None:
@@ -263,18 +263,6 @@ class _MaskingPolicyState:
263
263
  def exempt_other_policies(self, value: Optional[pulumi.Input[bool]]):
264
264
  pulumi.set(self, "exempt_other_policies", value)
265
265
 
266
- @property
267
- @pulumi.getter(name="fullyQualifiedName")
268
- def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
269
- """
270
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
271
- """
272
- return pulumi.get(self, "fully_qualified_name")
273
-
274
- @fully_qualified_name.setter
275
- def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
276
- pulumi.set(self, "fully_qualified_name", value)
277
-
278
266
  @property
279
267
  @pulumi.getter(name="ifNotExists")
280
268
  def if_not_exists(self) -> Optional[pulumi.Input[bool]]:
@@ -323,6 +311,18 @@ class _MaskingPolicyState:
323
311
  def or_replace(self, value: Optional[pulumi.Input[bool]]):
324
312
  pulumi.set(self, "or_replace", value)
325
313
 
314
+ @property
315
+ @pulumi.getter(name="qualifiedName")
316
+ def qualified_name(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ Specifies the qualified identifier for the masking policy.
319
+ """
320
+ return pulumi.get(self, "qualified_name")
321
+
322
+ @qualified_name.setter
323
+ def qualified_name(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "qualified_name", value)
325
+
326
326
  @property
327
327
  @pulumi.getter(name="returnDataType")
328
328
  def return_data_type(self) -> Optional[pulumi.Input[str]]:
@@ -374,9 +374,37 @@ class MaskingPolicy(pulumi.CustomResource):
374
374
  or_replace: Optional[pulumi.Input[bool]] = None,
375
375
  return_data_type: Optional[pulumi.Input[str]] = None,
376
376
  schema: Optional[pulumi.Input[str]] = None,
377
- signature: Optional[pulumi.Input[Union['MaskingPolicySignatureArgs', 'MaskingPolicySignatureArgsDict']]] = None,
377
+ signature: Optional[pulumi.Input[pulumi.InputType['MaskingPolicySignatureArgs']]] = None,
378
378
  __props__=None):
379
379
  """
380
+ ## Example Usage
381
+
382
+ ```python
383
+ import pulumi
384
+ import pulumi_snowflake as snowflake
385
+
386
+ test = snowflake.MaskingPolicy("test",
387
+ name="EXAMPLE_MASKING_POLICY",
388
+ database="EXAMPLE_DB",
389
+ schema="EXAMPLE_SCHEMA",
390
+ signature=snowflake.MaskingPolicySignatureArgs(
391
+ columns=[snowflake.MaskingPolicySignatureColumnArgs(
392
+ name="val",
393
+ type="VARCHAR",
394
+ )],
395
+ ),
396
+ masking_expression=\"\"\"case
397
+ when current_role() in ('ROLE_A') then
398
+ val
399
+ when is_role_in_session( 'ROLE_B' ) then
400
+ 'ABC123'
401
+ else
402
+ '******'
403
+ end
404
+ \"\"\",
405
+ return_data_type="VARCHAR")
406
+ ```
407
+
380
408
  ## Import
381
409
 
382
410
  format is database name | schema name | policy name
@@ -396,7 +424,7 @@ class MaskingPolicy(pulumi.CustomResource):
396
424
  :param pulumi.Input[bool] or_replace: Whether to override a previous masking policy with the same name.
397
425
  :param pulumi.Input[str] return_data_type: Specifies the data type to return.
398
426
  :param pulumi.Input[str] schema: The schema in which to create the masking policy.
399
- :param pulumi.Input[Union['MaskingPolicySignatureArgs', 'MaskingPolicySignatureArgsDict']] signature: The signature for the masking policy; specifies the input columns and data types to evaluate at query runtime.
427
+ :param pulumi.Input[pulumi.InputType['MaskingPolicySignatureArgs']] signature: The signature for the masking policy; specifies the input columns and data types to evaluate at query runtime.
400
428
  """
401
429
  ...
402
430
  @overload
@@ -405,6 +433,34 @@ class MaskingPolicy(pulumi.CustomResource):
405
433
  args: MaskingPolicyArgs,
406
434
  opts: Optional[pulumi.ResourceOptions] = None):
407
435
  """
436
+ ## Example Usage
437
+
438
+ ```python
439
+ import pulumi
440
+ import pulumi_snowflake as snowflake
441
+
442
+ test = snowflake.MaskingPolicy("test",
443
+ name="EXAMPLE_MASKING_POLICY",
444
+ database="EXAMPLE_DB",
445
+ schema="EXAMPLE_SCHEMA",
446
+ signature=snowflake.MaskingPolicySignatureArgs(
447
+ columns=[snowflake.MaskingPolicySignatureColumnArgs(
448
+ name="val",
449
+ type="VARCHAR",
450
+ )],
451
+ ),
452
+ masking_expression=\"\"\"case
453
+ when current_role() in ('ROLE_A') then
454
+ val
455
+ when is_role_in_session( 'ROLE_B' ) then
456
+ 'ABC123'
457
+ else
458
+ '******'
459
+ end
460
+ \"\"\",
461
+ return_data_type="VARCHAR")
462
+ ```
463
+
408
464
  ## Import
409
465
 
410
466
  format is database name | schema name | policy name
@@ -437,7 +493,7 @@ class MaskingPolicy(pulumi.CustomResource):
437
493
  or_replace: Optional[pulumi.Input[bool]] = None,
438
494
  return_data_type: Optional[pulumi.Input[str]] = None,
439
495
  schema: Optional[pulumi.Input[str]] = None,
440
- signature: Optional[pulumi.Input[Union['MaskingPolicySignatureArgs', 'MaskingPolicySignatureArgsDict']]] = None,
496
+ signature: Optional[pulumi.Input[pulumi.InputType['MaskingPolicySignatureArgs']]] = None,
441
497
  __props__=None):
442
498
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
443
499
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -467,7 +523,7 @@ class MaskingPolicy(pulumi.CustomResource):
467
523
  if signature is None and not opts.urn:
468
524
  raise TypeError("Missing required property 'signature'")
469
525
  __props__.__dict__["signature"] = signature
470
- __props__.__dict__["fully_qualified_name"] = None
526
+ __props__.__dict__["qualified_name"] = None
471
527
  super(MaskingPolicy, __self__).__init__(
472
528
  'snowflake:index/maskingPolicy:MaskingPolicy',
473
529
  resource_name,
@@ -481,14 +537,14 @@ class MaskingPolicy(pulumi.CustomResource):
481
537
  comment: Optional[pulumi.Input[str]] = None,
482
538
  database: Optional[pulumi.Input[str]] = None,
483
539
  exempt_other_policies: Optional[pulumi.Input[bool]] = None,
484
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
485
540
  if_not_exists: Optional[pulumi.Input[bool]] = None,
486
541
  masking_expression: Optional[pulumi.Input[str]] = None,
487
542
  name: Optional[pulumi.Input[str]] = None,
488
543
  or_replace: Optional[pulumi.Input[bool]] = None,
544
+ qualified_name: Optional[pulumi.Input[str]] = None,
489
545
  return_data_type: Optional[pulumi.Input[str]] = None,
490
546
  schema: Optional[pulumi.Input[str]] = None,
491
- signature: Optional[pulumi.Input[Union['MaskingPolicySignatureArgs', 'MaskingPolicySignatureArgsDict']]] = None) -> 'MaskingPolicy':
547
+ signature: Optional[pulumi.Input[pulumi.InputType['MaskingPolicySignatureArgs']]] = None) -> 'MaskingPolicy':
492
548
  """
493
549
  Get an existing MaskingPolicy resource's state with the given name, id, and optional extra
494
550
  properties used to qualify the lookup.
@@ -499,14 +555,14 @@ class MaskingPolicy(pulumi.CustomResource):
499
555
  :param pulumi.Input[str] comment: Specifies a comment for the masking policy.
500
556
  :param pulumi.Input[str] database: The database in which to create the masking policy.
501
557
  :param pulumi.Input[bool] exempt_other_policies: Specifies whether the row access policy or conditional masking policy can reference a column that is already protected by a masking policy.
502
- :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).
503
558
  :param pulumi.Input[bool] if_not_exists: Prevent overwriting a previous masking policy with the same name.
504
559
  :param pulumi.Input[str] masking_expression: Specifies the SQL expression that transforms the data.
505
560
  :param pulumi.Input[str] name: Specifies the identifier for the masking policy; must be unique for the database and schema in which the masking policy is created.
506
561
  :param pulumi.Input[bool] or_replace: Whether to override a previous masking policy with the same name.
562
+ :param pulumi.Input[str] qualified_name: Specifies the qualified identifier for the masking policy.
507
563
  :param pulumi.Input[str] return_data_type: Specifies the data type to return.
508
564
  :param pulumi.Input[str] schema: The schema in which to create the masking policy.
509
- :param pulumi.Input[Union['MaskingPolicySignatureArgs', 'MaskingPolicySignatureArgsDict']] signature: The signature for the masking policy; specifies the input columns and data types to evaluate at query runtime.
565
+ :param pulumi.Input[pulumi.InputType['MaskingPolicySignatureArgs']] signature: The signature for the masking policy; specifies the input columns and data types to evaluate at query runtime.
510
566
  """
511
567
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
512
568
 
@@ -515,11 +571,11 @@ class MaskingPolicy(pulumi.CustomResource):
515
571
  __props__.__dict__["comment"] = comment
516
572
  __props__.__dict__["database"] = database
517
573
  __props__.__dict__["exempt_other_policies"] = exempt_other_policies
518
- __props__.__dict__["fully_qualified_name"] = fully_qualified_name
519
574
  __props__.__dict__["if_not_exists"] = if_not_exists
520
575
  __props__.__dict__["masking_expression"] = masking_expression
521
576
  __props__.__dict__["name"] = name
522
577
  __props__.__dict__["or_replace"] = or_replace
578
+ __props__.__dict__["qualified_name"] = qualified_name
523
579
  __props__.__dict__["return_data_type"] = return_data_type
524
580
  __props__.__dict__["schema"] = schema
525
581
  __props__.__dict__["signature"] = signature
@@ -549,14 +605,6 @@ class MaskingPolicy(pulumi.CustomResource):
549
605
  """
550
606
  return pulumi.get(self, "exempt_other_policies")
551
607
 
552
- @property
553
- @pulumi.getter(name="fullyQualifiedName")
554
- def fully_qualified_name(self) -> pulumi.Output[str]:
555
- """
556
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
557
- """
558
- return pulumi.get(self, "fully_qualified_name")
559
-
560
608
  @property
561
609
  @pulumi.getter(name="ifNotExists")
562
610
  def if_not_exists(self) -> pulumi.Output[Optional[bool]]:
@@ -589,6 +637,14 @@ class MaskingPolicy(pulumi.CustomResource):
589
637
  """
590
638
  return pulumi.get(self, "or_replace")
591
639
 
640
+ @property
641
+ @pulumi.getter(name="qualifiedName")
642
+ def qualified_name(self) -> pulumi.Output[str]:
643
+ """
644
+ Specifies the qualified identifier for the masking policy.
645
+ """
646
+ return pulumi.get(self, "qualified_name")
647
+
592
648
  @property
593
649
  @pulumi.getter(name="returnDataType")
594
650
  def return_data_type(self) -> pulumi.Output[str]:
@@ -170,7 +170,6 @@ class _MaterializedViewState:
170
170
  def __init__(__self__, *,
171
171
  comment: Optional[pulumi.Input[str]] = None,
172
172
  database: Optional[pulumi.Input[str]] = None,
173
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
174
173
  is_secure: Optional[pulumi.Input[bool]] = None,
175
174
  name: Optional[pulumi.Input[str]] = None,
176
175
  or_replace: Optional[pulumi.Input[bool]] = None,
@@ -182,7 +181,6 @@ class _MaterializedViewState:
182
181
  Input properties used for looking up and filtering MaterializedView resources.
183
182
  :param pulumi.Input[str] comment: Specifies a comment for the view.
184
183
  :param pulumi.Input[str] database: The database in which to create the view. Don't use the | character.
185
- :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).
186
184
  :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
187
185
  :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created.
188
186
  :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
@@ -195,8 +193,6 @@ class _MaterializedViewState:
195
193
  pulumi.set(__self__, "comment", comment)
196
194
  if database is not None:
197
195
  pulumi.set(__self__, "database", database)
198
- if fully_qualified_name is not None:
199
- pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
200
196
  if is_secure is not None:
201
197
  pulumi.set(__self__, "is_secure", is_secure)
202
198
  if name is not None:
@@ -239,18 +235,6 @@ class _MaterializedViewState:
239
235
  def database(self, value: Optional[pulumi.Input[str]]):
240
236
  pulumi.set(self, "database", value)
241
237
 
242
- @property
243
- @pulumi.getter(name="fullyQualifiedName")
244
- def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
245
- """
246
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
247
- """
248
- return pulumi.get(self, "fully_qualified_name")
249
-
250
- @fully_qualified_name.setter
251
- def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
252
- pulumi.set(self, "fully_qualified_name", value)
253
-
254
238
  @property
255
239
  @pulumi.getter(name="isSecure")
256
240
  def is_secure(self) -> Optional[pulumi.Input[bool]]:
@@ -349,10 +333,27 @@ class MaterializedView(pulumi.CustomResource):
349
333
  or_replace: Optional[pulumi.Input[bool]] = None,
350
334
  schema: Optional[pulumi.Input[str]] = None,
351
335
  statement: Optional[pulumi.Input[str]] = None,
352
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MaterializedViewTagArgs', 'MaterializedViewTagArgsDict']]]]] = None,
336
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MaterializedViewTagArgs']]]]] = None,
353
337
  warehouse: Optional[pulumi.Input[str]] = None,
354
338
  __props__=None):
355
339
  """
340
+ ## Example Usage
341
+
342
+ ```python
343
+ import pulumi
344
+ import pulumi_snowflake as snowflake
345
+
346
+ view = snowflake.MaterializedView("view",
347
+ database="db",
348
+ schema="schema",
349
+ name="view",
350
+ warehouse="warehouse",
351
+ comment="comment",
352
+ statement="select * from foo;\\n",
353
+ or_replace=False,
354
+ is_secure=False)
355
+ ```
356
+
356
357
  ## Import
357
358
 
358
359
  format is database name | schema name | view name
@@ -370,7 +371,7 @@ class MaterializedView(pulumi.CustomResource):
370
371
  :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
371
372
  :param pulumi.Input[str] schema: The schema in which to create the view. Don't use the | character.
372
373
  :param pulumi.Input[str] statement: Specifies the query used to create the view.
373
- :param pulumi.Input[Sequence[pulumi.Input[Union['MaterializedViewTagArgs', 'MaterializedViewTagArgsDict']]]] tags: Definitions of a tag to associate with the resource.
374
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MaterializedViewTagArgs']]]] tags: Definitions of a tag to associate with the resource.
374
375
  :param pulumi.Input[str] warehouse: The warehouse name.
375
376
  """
376
377
  ...
@@ -380,6 +381,23 @@ class MaterializedView(pulumi.CustomResource):
380
381
  args: MaterializedViewArgs,
381
382
  opts: Optional[pulumi.ResourceOptions] = None):
382
383
  """
384
+ ## Example Usage
385
+
386
+ ```python
387
+ import pulumi
388
+ import pulumi_snowflake as snowflake
389
+
390
+ view = snowflake.MaterializedView("view",
391
+ database="db",
392
+ schema="schema",
393
+ name="view",
394
+ warehouse="warehouse",
395
+ comment="comment",
396
+ statement="select * from foo;\\n",
397
+ or_replace=False,
398
+ is_secure=False)
399
+ ```
400
+
383
401
  ## Import
384
402
 
385
403
  format is database name | schema name | view name
@@ -410,7 +428,7 @@ class MaterializedView(pulumi.CustomResource):
410
428
  or_replace: Optional[pulumi.Input[bool]] = None,
411
429
  schema: Optional[pulumi.Input[str]] = None,
412
430
  statement: Optional[pulumi.Input[str]] = None,
413
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MaterializedViewTagArgs', 'MaterializedViewTagArgsDict']]]]] = None,
431
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MaterializedViewTagArgs']]]]] = None,
414
432
  warehouse: Optional[pulumi.Input[str]] = None,
415
433
  __props__=None):
416
434
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -438,7 +456,6 @@ class MaterializedView(pulumi.CustomResource):
438
456
  if warehouse is None and not opts.urn:
439
457
  raise TypeError("Missing required property 'warehouse'")
440
458
  __props__.__dict__["warehouse"] = warehouse
441
- __props__.__dict__["fully_qualified_name"] = None
442
459
  super(MaterializedView, __self__).__init__(
443
460
  'snowflake:index/materializedView:MaterializedView',
444
461
  resource_name,
@@ -451,13 +468,12 @@ class MaterializedView(pulumi.CustomResource):
451
468
  opts: Optional[pulumi.ResourceOptions] = None,
452
469
  comment: Optional[pulumi.Input[str]] = None,
453
470
  database: Optional[pulumi.Input[str]] = None,
454
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
455
471
  is_secure: Optional[pulumi.Input[bool]] = None,
456
472
  name: Optional[pulumi.Input[str]] = None,
457
473
  or_replace: Optional[pulumi.Input[bool]] = None,
458
474
  schema: Optional[pulumi.Input[str]] = None,
459
475
  statement: Optional[pulumi.Input[str]] = None,
460
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MaterializedViewTagArgs', 'MaterializedViewTagArgsDict']]]]] = None,
476
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MaterializedViewTagArgs']]]]] = None,
461
477
  warehouse: Optional[pulumi.Input[str]] = None) -> 'MaterializedView':
462
478
  """
463
479
  Get an existing MaterializedView resource's state with the given name, id, and optional extra
@@ -468,13 +484,12 @@ class MaterializedView(pulumi.CustomResource):
468
484
  :param pulumi.ResourceOptions opts: Options for the resource.
469
485
  :param pulumi.Input[str] comment: Specifies a comment for the view.
470
486
  :param pulumi.Input[str] database: The database in which to create the view. Don't use the | character.
471
- :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).
472
487
  :param pulumi.Input[bool] is_secure: Specifies that the view is secure.
473
488
  :param pulumi.Input[str] name: Specifies the identifier for the view; must be unique for the schema in which the view is created.
474
489
  :param pulumi.Input[bool] or_replace: Overwrites the View if it exists.
475
490
  :param pulumi.Input[str] schema: The schema in which to create the view. Don't use the | character.
476
491
  :param pulumi.Input[str] statement: Specifies the query used to create the view.
477
- :param pulumi.Input[Sequence[pulumi.Input[Union['MaterializedViewTagArgs', 'MaterializedViewTagArgsDict']]]] tags: Definitions of a tag to associate with the resource.
492
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MaterializedViewTagArgs']]]] tags: Definitions of a tag to associate with the resource.
478
493
  :param pulumi.Input[str] warehouse: The warehouse name.
479
494
  """
480
495
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -483,7 +498,6 @@ class MaterializedView(pulumi.CustomResource):
483
498
 
484
499
  __props__.__dict__["comment"] = comment
485
500
  __props__.__dict__["database"] = database
486
- __props__.__dict__["fully_qualified_name"] = fully_qualified_name
487
501
  __props__.__dict__["is_secure"] = is_secure
488
502
  __props__.__dict__["name"] = name
489
503
  __props__.__dict__["or_replace"] = or_replace
@@ -509,14 +523,6 @@ class MaterializedView(pulumi.CustomResource):
509
523
  """
510
524
  return pulumi.get(self, "database")
511
525
 
512
- @property
513
- @pulumi.getter(name="fullyQualifiedName")
514
- def fully_qualified_name(self) -> pulumi.Output[str]:
515
- """
516
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
517
- """
518
- return pulumi.get(self, "fully_qualified_name")
519
-
520
526
  @property
521
527
  @pulumi.getter(name="isSecure")
522
528
  def is_secure(self) -> pulumi.Output[Optional[bool]]:
@@ -29,7 +29,7 @@ class NetworkPolicyArgs:
29
29
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_ip_lists: Specifies one or more IPv4 addresses (CIDR notation) that are denied access to your Snowflake account. **Do not** add `0.0.0.0/0` to `blocked_ip_list`, in order to block all IP addresses except a select list, you only need to add IP addresses to `allowed_ip_list`.
30
30
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_network_rule_lists: Specifies a list of fully qualified network rules that contain the network identifiers that are denied access to Snowflake.
31
31
  :param pulumi.Input[str] comment: Specifies a comment for the network policy.
32
- :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
32
+ :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
33
33
  """
34
34
  if allowed_ip_lists is not None:
35
35
  pulumi.set(__self__, "allowed_ip_lists", allowed_ip_lists)
@@ -108,7 +108,7 @@ class NetworkPolicyArgs:
108
108
  @pulumi.getter
109
109
  def name(self) -> Optional[pulumi.Input[str]]:
110
110
  """
111
- Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
111
+ Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
112
112
  """
113
113
  return pulumi.get(self, "name")
114
114
 
@@ -126,7 +126,6 @@ class _NetworkPolicyState:
126
126
  blocked_network_rule_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
127
127
  comment: Optional[pulumi.Input[str]] = None,
128
128
  describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPolicyDescribeOutputArgs']]]] = None,
129
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
130
129
  name: Optional[pulumi.Input[str]] = None,
131
130
  show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPolicyShowOutputArgs']]]] = None):
132
131
  """
@@ -137,8 +136,7 @@ class _NetworkPolicyState:
137
136
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_network_rule_lists: Specifies a list of fully qualified network rules that contain the network identifiers that are denied access to Snowflake.
138
137
  :param pulumi.Input[str] comment: Specifies a comment for the network policy.
139
138
  :param pulumi.Input[Sequence[pulumi.Input['NetworkPolicyDescribeOutputArgs']]] describe_outputs: Outputs the result of `DESCRIBE NETWORK POLICY` for the given network policy.
140
- :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).
141
- :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
139
+ :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
142
140
  :param pulumi.Input[Sequence[pulumi.Input['NetworkPolicyShowOutputArgs']]] show_outputs: Outputs the result of `SHOW NETWORK POLICIES` for the given network policy.
143
141
  """
144
142
  if allowed_ip_lists is not None:
@@ -153,8 +151,6 @@ class _NetworkPolicyState:
153
151
  pulumi.set(__self__, "comment", comment)
154
152
  if describe_outputs is not None:
155
153
  pulumi.set(__self__, "describe_outputs", describe_outputs)
156
- if fully_qualified_name is not None:
157
- pulumi.set(__self__, "fully_qualified_name", fully_qualified_name)
158
154
  if name is not None:
159
155
  pulumi.set(__self__, "name", name)
160
156
  if show_outputs is not None:
@@ -232,23 +228,11 @@ class _NetworkPolicyState:
232
228
  def describe_outputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPolicyDescribeOutputArgs']]]]):
233
229
  pulumi.set(self, "describe_outputs", value)
234
230
 
235
- @property
236
- @pulumi.getter(name="fullyQualifiedName")
237
- def fully_qualified_name(self) -> Optional[pulumi.Input[str]]:
238
- """
239
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
240
- """
241
- return pulumi.get(self, "fully_qualified_name")
242
-
243
- @fully_qualified_name.setter
244
- def fully_qualified_name(self, value: Optional[pulumi.Input[str]]):
245
- pulumi.set(self, "fully_qualified_name", value)
246
-
247
231
  @property
248
232
  @pulumi.getter
249
233
  def name(self) -> Optional[pulumi.Input[str]]:
250
234
  """
251
- Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
235
+ Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
252
236
  """
253
237
  return pulumi.get(self, "name")
254
238
 
@@ -282,11 +266,26 @@ class NetworkPolicy(pulumi.CustomResource):
282
266
  name: Optional[pulumi.Input[str]] = None,
283
267
  __props__=None):
284
268
  """
285
- ## Import
269
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
270
+
271
+ Resource used to control network traffic. For more information, check an [official guide](https://docs.snowflake.com/en/user-guide/network-policies) on controlling network traffic with network policies.
272
+
273
+ ## Minimal
274
+
275
+ resource "NetworkPolicy" "basic" {
276
+ name = "network_policy_name"
277
+ }
278
+
279
+ ## Complete (with every optional set)
286
280
 
287
- ```sh
288
- $ pulumi import snowflake:index/networkPolicy:NetworkPolicy example "name"
289
- ```
281
+ resource "NetworkPolicy" "basic" {
282
+ name = "network_policy_name"
283
+ allowed_network_rule_list = ["<fully qualified network rule id>"]
284
+ blocked_network_rule_list = ["<fully qualified network rule id>"]
285
+ allowed_ip_list = ["192.168.1.0/24"]
286
+ blocked_ip_list = ["192.168.1.99"]
287
+ comment = "my network policy"
288
+ }
290
289
 
291
290
  :param str resource_name: The name of the resource.
292
291
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -295,7 +294,7 @@ class NetworkPolicy(pulumi.CustomResource):
295
294
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_ip_lists: Specifies one or more IPv4 addresses (CIDR notation) that are denied access to your Snowflake account. **Do not** add `0.0.0.0/0` to `blocked_ip_list`, in order to block all IP addresses except a select list, you only need to add IP addresses to `allowed_ip_list`.
296
295
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_network_rule_lists: Specifies a list of fully qualified network rules that contain the network identifiers that are denied access to Snowflake.
297
296
  :param pulumi.Input[str] comment: Specifies a comment for the network policy.
298
- :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
297
+ :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
299
298
  """
300
299
  ...
301
300
  @overload
@@ -304,11 +303,26 @@ class NetworkPolicy(pulumi.CustomResource):
304
303
  args: Optional[NetworkPolicyArgs] = None,
305
304
  opts: Optional[pulumi.ResourceOptions] = None):
306
305
  """
307
- ## Import
306
+ !> **V1 release candidate** This resource was reworked and is a release candidate for the V1. We do not expect significant changes in it before the V1. We will welcome any feedback and adjust the resource if needed. Any errors reported will be resolved with a higher priority. We encourage checking this resource out before the V1 release. Please follow the migration guide to use it.
308
307
 
309
- ```sh
310
- $ pulumi import snowflake:index/networkPolicy:NetworkPolicy example "name"
311
- ```
308
+ Resource used to control network traffic. For more information, check an [official guide](https://docs.snowflake.com/en/user-guide/network-policies) on controlling network traffic with network policies.
309
+
310
+ ## Minimal
311
+
312
+ resource "NetworkPolicy" "basic" {
313
+ name = "network_policy_name"
314
+ }
315
+
316
+ ## Complete (with every optional set)
317
+
318
+ resource "NetworkPolicy" "basic" {
319
+ name = "network_policy_name"
320
+ allowed_network_rule_list = ["<fully qualified network rule id>"]
321
+ blocked_network_rule_list = ["<fully qualified network rule id>"]
322
+ allowed_ip_list = ["192.168.1.0/24"]
323
+ blocked_ip_list = ["192.168.1.99"]
324
+ comment = "my network policy"
325
+ }
312
326
 
313
327
  :param str resource_name: The name of the resource.
314
328
  :param NetworkPolicyArgs args: The arguments to use to populate this resource's properties.
@@ -347,7 +361,6 @@ class NetworkPolicy(pulumi.CustomResource):
347
361
  __props__.__dict__["comment"] = comment
348
362
  __props__.__dict__["name"] = name
349
363
  __props__.__dict__["describe_outputs"] = None
350
- __props__.__dict__["fully_qualified_name"] = None
351
364
  __props__.__dict__["show_outputs"] = None
352
365
  super(NetworkPolicy, __self__).__init__(
353
366
  'snowflake:index/networkPolicy:NetworkPolicy',
@@ -364,10 +377,9 @@ class NetworkPolicy(pulumi.CustomResource):
364
377
  blocked_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
365
378
  blocked_network_rule_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
366
379
  comment: Optional[pulumi.Input[str]] = None,
367
- describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPolicyDescribeOutputArgs', 'NetworkPolicyDescribeOutputArgsDict']]]]] = None,
368
- fully_qualified_name: Optional[pulumi.Input[str]] = None,
380
+ describe_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkPolicyDescribeOutputArgs']]]]] = None,
369
381
  name: Optional[pulumi.Input[str]] = None,
370
- show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPolicyShowOutputArgs', 'NetworkPolicyShowOutputArgsDict']]]]] = None) -> 'NetworkPolicy':
382
+ show_outputs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkPolicyShowOutputArgs']]]]] = None) -> 'NetworkPolicy':
371
383
  """
372
384
  Get an existing NetworkPolicy resource's state with the given name, id, and optional extra
373
385
  properties used to qualify the lookup.
@@ -380,10 +392,9 @@ class NetworkPolicy(pulumi.CustomResource):
380
392
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_ip_lists: Specifies one or more IPv4 addresses (CIDR notation) that are denied access to your Snowflake account. **Do not** add `0.0.0.0/0` to `blocked_ip_list`, in order to block all IP addresses except a select list, you only need to add IP addresses to `allowed_ip_list`.
381
393
  :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_network_rule_lists: Specifies a list of fully qualified network rules that contain the network identifiers that are denied access to Snowflake.
382
394
  :param pulumi.Input[str] comment: Specifies a comment for the network policy.
383
- :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPolicyDescribeOutputArgs', 'NetworkPolicyDescribeOutputArgsDict']]]] describe_outputs: Outputs the result of `DESCRIBE NETWORK POLICY` for the given network policy.
384
- :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).
385
- :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
386
- :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPolicyShowOutputArgs', 'NetworkPolicyShowOutputArgsDict']]]] show_outputs: Outputs the result of `SHOW NETWORK POLICIES` for the given network policy.
395
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkPolicyDescribeOutputArgs']]]] describe_outputs: Outputs the result of `DESCRIBE NETWORK POLICY` for the given network policy.
396
+ :param pulumi.Input[str] name: Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
397
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkPolicyShowOutputArgs']]]] show_outputs: Outputs the result of `SHOW NETWORK POLICIES` for the given network policy.
387
398
  """
388
399
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
389
400
 
@@ -395,7 +406,6 @@ class NetworkPolicy(pulumi.CustomResource):
395
406
  __props__.__dict__["blocked_network_rule_lists"] = blocked_network_rule_lists
396
407
  __props__.__dict__["comment"] = comment
397
408
  __props__.__dict__["describe_outputs"] = describe_outputs
398
- __props__.__dict__["fully_qualified_name"] = fully_qualified_name
399
409
  __props__.__dict__["name"] = name
400
410
  __props__.__dict__["show_outputs"] = show_outputs
401
411
  return NetworkPolicy(resource_name, opts=opts, __props__=__props__)
@@ -448,19 +458,11 @@ class NetworkPolicy(pulumi.CustomResource):
448
458
  """
449
459
  return pulumi.get(self, "describe_outputs")
450
460
 
451
- @property
452
- @pulumi.getter(name="fullyQualifiedName")
453
- def fully_qualified_name(self) -> pulumi.Output[str]:
454
- """
455
- Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
456
- """
457
- return pulumi.get(self, "fully_qualified_name")
458
-
459
461
  @property
460
462
  @pulumi.getter
461
463
  def name(self) -> pulumi.Output[str]:
462
464
  """
463
- Specifies the identifier for the network policy; must be unique for the account in which the network policy is created. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `(`, `)`, `"`
465
+ Specifies the identifier for the network policy; must be unique for the account in which the network policy is created.
464
466
  """
465
467
  return pulumi.get(self, "name")
466
468