pulumi-gcp 8.35.0a1750142992__py3-none-any.whl → 8.35.0a1750229953__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 (52) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/backupdisasterrecovery/backup_plan.py +100 -7
  3. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +35 -7
  4. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing.py +108 -0
  6. pulumi_gcp/compute/_inputs.py +2028 -175
  7. pulumi_gcp/compute/disk.py +7 -7
  8. pulumi_gcp/compute/outputs.py +1483 -110
  9. pulumi_gcp/compute/region_url_map.py +344 -0
  10. pulumi_gcp/compute/target_http_proxy.py +118 -0
  11. pulumi_gcp/compute/target_https_proxy.py +132 -0
  12. pulumi_gcp/compute/url_map.py +344 -0
  13. pulumi_gcp/compute/vpn_tunnel.py +178 -0
  14. pulumi_gcp/dataplex/__init__.py +1 -0
  15. pulumi_gcp/dataplex/get_data_quality_rules.py +169 -0
  16. pulumi_gcp/dataplex/outputs.py +420 -0
  17. pulumi_gcp/diagflow/__init__.py +1 -0
  18. pulumi_gcp/diagflow/_inputs.py +939 -0
  19. pulumi_gcp/diagflow/cx_agent.py +34 -0
  20. pulumi_gcp/diagflow/cx_tool.py +899 -0
  21. pulumi_gcp/diagflow/outputs.py +780 -0
  22. pulumi_gcp/firestore/field.py +6 -6
  23. pulumi_gcp/gkehub/membership_binding.py +6 -6
  24. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  25. pulumi_gcp/gkehub/namespace.py +4 -4
  26. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  27. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  28. pulumi_gcp/integrationconnectors/_inputs.py +24 -1
  29. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  30. pulumi_gcp/integrationconnectors/outputs.py +15 -1
  31. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  32. pulumi_gcp/managedkafka/connector.py +4 -4
  33. pulumi_gcp/netapp/_inputs.py +23 -0
  34. pulumi_gcp/netapp/outputs.py +16 -0
  35. pulumi_gcp/netapp/storage_pool.py +108 -0
  36. pulumi_gcp/networkconnectivity/_inputs.py +71 -1
  37. pulumi_gcp/networkconnectivity/outputs.py +64 -1
  38. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  39. pulumi_gcp/notebooks/runtime.py +4 -0
  40. pulumi_gcp/orgpolicy/policy.py +2 -2
  41. pulumi_gcp/pubsub/subscription.py +6 -6
  42. pulumi_gcp/pulumi-plugin.json +1 -1
  43. pulumi_gcp/redis/_inputs.py +77 -0
  44. pulumi_gcp/redis/cluster.py +32 -0
  45. pulumi_gcp/redis/outputs.py +63 -0
  46. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  47. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  48. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +99 -64
  49. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/METADATA +1 -1
  50. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/RECORD +52 -50
  51. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/WHEEL +0 -0
  52. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -4982,6 +4982,14 @@ _utilities.register(
4982
4982
  "gcp:diagflow/cxTestCase:CxTestCase": "CxTestCase"
4983
4983
  }
4984
4984
  },
4985
+ {
4986
+ "pkg": "gcp",
4987
+ "mod": "diagflow/cxTool",
4988
+ "fqn": "pulumi_gcp.diagflow",
4989
+ "classes": {
4990
+ "gcp:diagflow/cxTool:CxTool": "CxTool"
4991
+ }
4992
+ },
4985
4993
  {
4986
4994
  "pkg": "gcp",
4987
4995
  "mod": "diagflow/cxVersion",
@@ -36,7 +36,8 @@ class BackupPlanArgs:
36
36
  Structure is documented below.
37
37
  :param pulumi.Input[builtins.str] backup_vault: Backup vault where the backups gets stored using this Backup plan.
38
38
  :param pulumi.Input[builtins.str] location: The location for the backup plan
39
- :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
39
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied.
40
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
40
41
  :param pulumi.Input[builtins.str] description: The description allows for additional details about 'BackupPlan' and its use cases to be provided.
41
42
  """
42
43
  pulumi.set(__self__, "backup_plan_id", backup_plan_id)
@@ -102,7 +103,8 @@ class BackupPlanArgs:
102
103
  @pulumi.getter(name="resourceType")
103
104
  def resource_type(self) -> pulumi.Input[builtins.str]:
104
105
  """
105
- The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
106
+ The resource type to which the `BackupPlan` will be applied.
107
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
106
108
  """
107
109
  return pulumi.get(self, "resource_type")
108
110
 
@@ -145,6 +147,7 @@ class _BackupPlanState:
145
147
  name: Optional[pulumi.Input[builtins.str]] = None,
146
148
  project: Optional[pulumi.Input[builtins.str]] = None,
147
149
  resource_type: Optional[pulumi.Input[builtins.str]] = None,
150
+ supported_resource_types: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
148
151
  update_time: Optional[pulumi.Input[builtins.str]] = None):
149
152
  """
150
153
  Input properties used for looking up and filtering BackupPlan resources.
@@ -157,7 +160,9 @@ class _BackupPlanState:
157
160
  :param pulumi.Input[builtins.str] description: The description allows for additional details about 'BackupPlan' and its use cases to be provided.
158
161
  :param pulumi.Input[builtins.str] location: The location for the backup plan
159
162
  :param pulumi.Input[builtins.str] name: The name of backup plan resource created
160
- :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
163
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied.
164
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
165
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] supported_resource_types: The list of all resource types to which the 'BackupPlan' can be applied.
161
166
  :param pulumi.Input[builtins.str] update_time: When the `BackupPlan` was last updated.
162
167
  """
163
168
  if backup_plan_id is not None:
@@ -180,6 +185,8 @@ class _BackupPlanState:
180
185
  pulumi.set(__self__, "project", project)
181
186
  if resource_type is not None:
182
187
  pulumi.set(__self__, "resource_type", resource_type)
188
+ if supported_resource_types is not None:
189
+ pulumi.set(__self__, "supported_resource_types", supported_resource_types)
183
190
  if update_time is not None:
184
191
  pulumi.set(__self__, "update_time", update_time)
185
192
 
@@ -293,7 +300,8 @@ class _BackupPlanState:
293
300
  @pulumi.getter(name="resourceType")
294
301
  def resource_type(self) -> Optional[pulumi.Input[builtins.str]]:
295
302
  """
296
- The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
303
+ The resource type to which the `BackupPlan` will be applied.
304
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
297
305
  """
298
306
  return pulumi.get(self, "resource_type")
299
307
 
@@ -301,6 +309,18 @@ class _BackupPlanState:
301
309
  def resource_type(self, value: Optional[pulumi.Input[builtins.str]]):
302
310
  pulumi.set(self, "resource_type", value)
303
311
 
312
+ @property
313
+ @pulumi.getter(name="supportedResourceTypes")
314
+ def supported_resource_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
315
+ """
316
+ The list of all resource types to which the 'BackupPlan' can be applied.
317
+ """
318
+ return pulumi.get(self, "supported_resource_types")
319
+
320
+ @supported_resource_types.setter
321
+ def supported_resource_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
322
+ pulumi.set(self, "supported_resource_types", value)
323
+
304
324
  @property
305
325
  @pulumi.getter(name="updateTime")
306
326
  def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -368,6 +388,35 @@ class BackupPlan(pulumi.CustomResource):
368
388
  },
369
389
  }])
370
390
  ```
391
+ ### Backup Dr Backup Plan For Disk Resource
392
+
393
+ ```python
394
+ import pulumi
395
+ import pulumi_gcp as gcp
396
+
397
+ my_backup_vault = gcp.backupdisasterrecovery.BackupVault("my_backup_vault",
398
+ location="us-central1",
399
+ backup_vault_id="backup-vault-disk-test",
400
+ backup_minimum_enforced_retention_duration="100000s")
401
+ my_disk_backup_plan_1 = gcp.backupdisasterrecovery.BackupPlan("my-disk-backup-plan-1",
402
+ location="us-central1",
403
+ backup_plan_id="backup-plan-disk-test",
404
+ resource_type="compute.googleapis.com/Disk",
405
+ backup_vault=my_backup_vault.id,
406
+ backup_rules=[{
407
+ "rule_id": "rule-1",
408
+ "backup_retention_days": 5,
409
+ "standard_schedule": {
410
+ "recurrence_type": "HOURLY",
411
+ "hourly_frequency": 1,
412
+ "time_zone": "UTC",
413
+ "backup_window": {
414
+ "start_hour_of_day": 0,
415
+ "end_hour_of_day": 6,
416
+ },
417
+ },
418
+ }])
419
+ ```
371
420
 
372
421
  ## Import
373
422
 
@@ -401,7 +450,8 @@ class BackupPlan(pulumi.CustomResource):
401
450
  :param pulumi.Input[builtins.str] backup_vault: Backup vault where the backups gets stored using this Backup plan.
402
451
  :param pulumi.Input[builtins.str] description: The description allows for additional details about 'BackupPlan' and its use cases to be provided.
403
452
  :param pulumi.Input[builtins.str] location: The location for the backup plan
404
- :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
453
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied.
454
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
405
455
  """
406
456
  ...
407
457
  @overload
@@ -449,6 +499,35 @@ class BackupPlan(pulumi.CustomResource):
449
499
  },
450
500
  }])
451
501
  ```
502
+ ### Backup Dr Backup Plan For Disk Resource
503
+
504
+ ```python
505
+ import pulumi
506
+ import pulumi_gcp as gcp
507
+
508
+ my_backup_vault = gcp.backupdisasterrecovery.BackupVault("my_backup_vault",
509
+ location="us-central1",
510
+ backup_vault_id="backup-vault-disk-test",
511
+ backup_minimum_enforced_retention_duration="100000s")
512
+ my_disk_backup_plan_1 = gcp.backupdisasterrecovery.BackupPlan("my-disk-backup-plan-1",
513
+ location="us-central1",
514
+ backup_plan_id="backup-plan-disk-test",
515
+ resource_type="compute.googleapis.com/Disk",
516
+ backup_vault=my_backup_vault.id,
517
+ backup_rules=[{
518
+ "rule_id": "rule-1",
519
+ "backup_retention_days": 5,
520
+ "standard_schedule": {
521
+ "recurrence_type": "HOURLY",
522
+ "hourly_frequency": 1,
523
+ "time_zone": "UTC",
524
+ "backup_window": {
525
+ "start_hour_of_day": 0,
526
+ "end_hour_of_day": 6,
527
+ },
528
+ },
529
+ }])
530
+ ```
452
531
 
453
532
  ## Import
454
533
 
@@ -525,6 +604,7 @@ class BackupPlan(pulumi.CustomResource):
525
604
  __props__.__dict__["backup_vault_service_account"] = None
526
605
  __props__.__dict__["create_time"] = None
527
606
  __props__.__dict__["name"] = None
607
+ __props__.__dict__["supported_resource_types"] = None
528
608
  __props__.__dict__["update_time"] = None
529
609
  super(BackupPlan, __self__).__init__(
530
610
  'gcp:backupdisasterrecovery/backupPlan:BackupPlan',
@@ -546,6 +626,7 @@ class BackupPlan(pulumi.CustomResource):
546
626
  name: Optional[pulumi.Input[builtins.str]] = None,
547
627
  project: Optional[pulumi.Input[builtins.str]] = None,
548
628
  resource_type: Optional[pulumi.Input[builtins.str]] = None,
629
+ supported_resource_types: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
549
630
  update_time: Optional[pulumi.Input[builtins.str]] = None) -> 'BackupPlan':
550
631
  """
551
632
  Get an existing BackupPlan resource's state with the given name, id, and optional extra
@@ -563,7 +644,9 @@ class BackupPlan(pulumi.CustomResource):
563
644
  :param pulumi.Input[builtins.str] description: The description allows for additional details about 'BackupPlan' and its use cases to be provided.
564
645
  :param pulumi.Input[builtins.str] location: The location for the backup plan
565
646
  :param pulumi.Input[builtins.str] name: The name of backup plan resource created
566
- :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
647
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the `BackupPlan` will be applied.
648
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
649
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] supported_resource_types: The list of all resource types to which the 'BackupPlan' can be applied.
567
650
  :param pulumi.Input[builtins.str] update_time: When the `BackupPlan` was last updated.
568
651
  """
569
652
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -580,6 +663,7 @@ class BackupPlan(pulumi.CustomResource):
580
663
  __props__.__dict__["name"] = name
581
664
  __props__.__dict__["project"] = project
582
665
  __props__.__dict__["resource_type"] = resource_type
666
+ __props__.__dict__["supported_resource_types"] = supported_resource_types
583
667
  __props__.__dict__["update_time"] = update_time
584
668
  return BackupPlan(resource_name, opts=opts, __props__=__props__)
585
669
 
@@ -657,10 +741,19 @@ class BackupPlan(pulumi.CustomResource):
657
741
  @pulumi.getter(name="resourceType")
658
742
  def resource_type(self) -> pulumi.Output[builtins.str]:
659
743
  """
660
- The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket".
744
+ The resource type to which the `BackupPlan` will be applied.
745
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "storage.googleapis.com/Bucket".
661
746
  """
662
747
  return pulumi.get(self, "resource_type")
663
748
 
749
+ @property
750
+ @pulumi.getter(name="supportedResourceTypes")
751
+ def supported_resource_types(self) -> pulumi.Output[Sequence[builtins.str]]:
752
+ """
753
+ The list of all resource types to which the 'BackupPlan' can be applied.
754
+ """
755
+ return pulumi.get(self, "supported_resource_types")
756
+
664
757
  @property
665
758
  @pulumi.getter(name="updateTime")
666
759
  def update_time(self) -> pulumi.Output[builtins.str]:
@@ -31,13 +31,17 @@ class BackupPlanAssociationArgs:
31
31
  """
32
32
  The set of arguments for constructing a BackupPlanAssociation resource.
33
33
  :param pulumi.Input[builtins.str] backup_plan: The BP with which resource needs to be created
34
+ Note:
35
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
36
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
34
37
  :param pulumi.Input[builtins.str] backup_plan_association_id: The id of backupplan association
35
38
 
36
39
 
37
40
  - - -
38
41
  :param pulumi.Input[builtins.str] location: The location for the backupplan association
39
42
  :param pulumi.Input[builtins.str] resource: The resource for which BPA needs to be created
40
- :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied
43
+ :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied.
44
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
41
45
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
42
46
  If it is not provided, the provider project is used.
43
47
  """
@@ -54,6 +58,9 @@ class BackupPlanAssociationArgs:
54
58
  def backup_plan(self) -> pulumi.Input[builtins.str]:
55
59
  """
56
60
  The BP with which resource needs to be created
61
+ Note:
62
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
63
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
57
64
  """
58
65
  return pulumi.get(self, "backup_plan")
59
66
 
@@ -104,7 +111,8 @@ class BackupPlanAssociationArgs:
104
111
  @pulumi.getter(name="resourceType")
105
112
  def resource_type(self) -> pulumi.Input[builtins.str]:
106
113
  """
107
- The resource type of workload on which backupplan is applied
114
+ The resource type of workload on which backupplan is applied.
115
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
108
116
  """
109
117
  return pulumi.get(self, "resource_type")
110
118
 
@@ -144,6 +152,9 @@ class _BackupPlanAssociationState:
144
152
  """
145
153
  Input properties used for looking up and filtering BackupPlanAssociation resources.
146
154
  :param pulumi.Input[builtins.str] backup_plan: The BP with which resource needs to be created
155
+ Note:
156
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
157
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
147
158
  :param pulumi.Input[builtins.str] backup_plan_association_id: The id of backupplan association
148
159
 
149
160
 
@@ -156,7 +167,8 @@ class _BackupPlanAssociationState:
156
167
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
157
168
  If it is not provided, the provider project is used.
158
169
  :param pulumi.Input[builtins.str] resource: The resource for which BPA needs to be created
159
- :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied
170
+ :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied.
171
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
160
172
  :param pulumi.Input[Sequence[pulumi.Input['BackupPlanAssociationRulesConfigInfoArgs']]] rules_config_infos: Message for rules config info
161
173
  Structure is documented below.
162
174
  :param pulumi.Input[builtins.str] update_time: The time when the instance was updated.
@@ -191,6 +203,9 @@ class _BackupPlanAssociationState:
191
203
  def backup_plan(self) -> Optional[pulumi.Input[builtins.str]]:
192
204
  """
193
205
  The BP with which resource needs to be created
206
+ Note:
207
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
208
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
194
209
  """
195
210
  return pulumi.get(self, "backup_plan")
196
211
 
@@ -302,7 +317,8 @@ class _BackupPlanAssociationState:
302
317
  @pulumi.getter(name="resourceType")
303
318
  def resource_type(self) -> Optional[pulumi.Input[builtins.str]]:
304
319
  """
305
- The resource type of workload on which backupplan is applied
320
+ The resource type of workload on which backupplan is applied.
321
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
306
322
  """
307
323
  return pulumi.get(self, "resource_type")
308
324
 
@@ -450,6 +466,9 @@ class BackupPlanAssociation(pulumi.CustomResource):
450
466
  :param str resource_name: The name of the resource.
451
467
  :param pulumi.ResourceOptions opts: Options for the resource.
452
468
  :param pulumi.Input[builtins.str] backup_plan: The BP with which resource needs to be created
469
+ Note:
470
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
471
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
453
472
  :param pulumi.Input[builtins.str] backup_plan_association_id: The id of backupplan association
454
473
 
455
474
 
@@ -458,7 +477,8 @@ class BackupPlanAssociation(pulumi.CustomResource):
458
477
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
459
478
  If it is not provided, the provider project is used.
460
479
  :param pulumi.Input[builtins.str] resource: The resource for which BPA needs to be created
461
- :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied
480
+ :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied.
481
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
462
482
  """
463
483
  ...
464
484
  @overload
@@ -646,6 +666,9 @@ class BackupPlanAssociation(pulumi.CustomResource):
646
666
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
647
667
  :param pulumi.ResourceOptions opts: Options for the resource.
648
668
  :param pulumi.Input[builtins.str] backup_plan: The BP with which resource needs to be created
669
+ Note:
670
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
671
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
649
672
  :param pulumi.Input[builtins.str] backup_plan_association_id: The id of backupplan association
650
673
 
651
674
 
@@ -658,7 +681,8 @@ class BackupPlanAssociation(pulumi.CustomResource):
658
681
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
659
682
  If it is not provided, the provider project is used.
660
683
  :param pulumi.Input[builtins.str] resource: The resource for which BPA needs to be created
661
- :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied
684
+ :param pulumi.Input[builtins.str] resource_type: The resource type of workload on which backupplan is applied.
685
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
662
686
  :param pulumi.Input[Sequence[pulumi.Input[Union['BackupPlanAssociationRulesConfigInfoArgs', 'BackupPlanAssociationRulesConfigInfoArgsDict']]]] rules_config_infos: Message for rules config info
663
687
  Structure is documented below.
664
688
  :param pulumi.Input[builtins.str] update_time: The time when the instance was updated.
@@ -686,6 +710,9 @@ class BackupPlanAssociation(pulumi.CustomResource):
686
710
  def backup_plan(self) -> pulumi.Output[builtins.str]:
687
711
  """
688
712
  The BP with which resource needs to be created
713
+ Note:
714
+ - A Backup Plan configured for 'compute.googleapis.com/Instance', can only protect instance type resources.
715
+ - A Backup Plan configured for 'compute.googleapis.com/Disk' can be used to protect both standard Disks and Regional Disks resources.
689
716
  """
690
717
  return pulumi.get(self, "backup_plan")
691
718
 
@@ -761,7 +788,8 @@ class BackupPlanAssociation(pulumi.CustomResource):
761
788
  @pulumi.getter(name="resourceType")
762
789
  def resource_type(self) -> pulumi.Output[builtins.str]:
763
790
  """
764
- The resource type of workload on which backupplan is applied
791
+ The resource type of workload on which backupplan is applied.
792
+ Examples include, "compute.googleapis.com/Instance", "compute.googleapis.com/Disk", and "compute.googleapis.com/RegionDisk"
765
793
  """
766
794
  return pulumi.get(self, "resource_type")
767
795
 
@@ -28,7 +28,7 @@ class GetBackupPlanResult:
28
28
  """
29
29
  A collection of values returned by getBackupPlan.
30
30
  """
31
- def __init__(__self__, backup_plan_id=None, backup_rules=None, backup_vault=None, backup_vault_service_account=None, create_time=None, description=None, id=None, location=None, name=None, project=None, resource_type=None, update_time=None):
31
+ def __init__(__self__, backup_plan_id=None, backup_rules=None, backup_vault=None, backup_vault_service_account=None, create_time=None, description=None, id=None, location=None, name=None, project=None, resource_type=None, supported_resource_types=None, update_time=None):
32
32
  if backup_plan_id and not isinstance(backup_plan_id, str):
33
33
  raise TypeError("Expected argument 'backup_plan_id' to be a str")
34
34
  pulumi.set(__self__, "backup_plan_id", backup_plan_id)
@@ -62,6 +62,9 @@ class GetBackupPlanResult:
62
62
  if resource_type and not isinstance(resource_type, str):
63
63
  raise TypeError("Expected argument 'resource_type' to be a str")
64
64
  pulumi.set(__self__, "resource_type", resource_type)
65
+ if supported_resource_types and not isinstance(supported_resource_types, list):
66
+ raise TypeError("Expected argument 'supported_resource_types' to be a list")
67
+ pulumi.set(__self__, "supported_resource_types", supported_resource_types)
65
68
  if update_time and not isinstance(update_time, str):
66
69
  raise TypeError("Expected argument 'update_time' to be a str")
67
70
  pulumi.set(__self__, "update_time", update_time)
@@ -124,6 +127,11 @@ class GetBackupPlanResult:
124
127
  def resource_type(self) -> builtins.str:
125
128
  return pulumi.get(self, "resource_type")
126
129
 
130
+ @property
131
+ @pulumi.getter(name="supportedResourceTypes")
132
+ def supported_resource_types(self) -> Sequence[builtins.str]:
133
+ return pulumi.get(self, "supported_resource_types")
134
+
127
135
  @property
128
136
  @pulumi.getter(name="updateTime")
129
137
  def update_time(self) -> builtins.str:
@@ -147,6 +155,7 @@ class AwaitableGetBackupPlanResult(GetBackupPlanResult):
147
155
  name=self.name,
148
156
  project=self.project,
149
157
  resource_type=self.resource_type,
158
+ supported_resource_types=self.supported_resource_types,
150
159
  update_time=self.update_time)
151
160
 
152
161
 
@@ -176,6 +185,7 @@ def get_backup_plan(backup_plan_id: Optional[builtins.str] = None,
176
185
  name=pulumi.get(__ret__, 'name'),
177
186
  project=pulumi.get(__ret__, 'project'),
178
187
  resource_type=pulumi.get(__ret__, 'resource_type'),
188
+ supported_resource_types=pulumi.get(__ret__, 'supported_resource_types'),
179
189
  update_time=pulumi.get(__ret__, 'update_time'))
180
190
  def get_backup_plan_output(backup_plan_id: Optional[pulumi.Input[builtins.str]] = None,
181
191
  location: Optional[pulumi.Input[builtins.str]] = None,
@@ -202,4 +212,5 @@ def get_backup_plan_output(backup_plan_id: Optional[pulumi.Input[builtins.str]]
202
212
  name=pulumi.get(__response__, 'name'),
203
213
  project=pulumi.get(__response__, 'project'),
204
214
  resource_type=pulumi.get(__response__, 'resource_type'),
215
+ supported_resource_types=pulumi.get(__response__, 'supported_resource_types'),
205
216
  update_time=pulumi.get(__response__, 'update_time')))
@@ -32,6 +32,7 @@ class ListingArgs:
32
32
  description: Optional[pulumi.Input[builtins.str]] = None,
33
33
  documentation: Optional[pulumi.Input[builtins.str]] = None,
34
34
  icon: Optional[pulumi.Input[builtins.str]] = None,
35
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
35
36
  primary_contact: Optional[pulumi.Input[builtins.str]] = None,
36
37
  project: Optional[pulumi.Input[builtins.str]] = None,
37
38
  publisher: Optional[pulumi.Input['ListingPublisherArgs']] = None,
@@ -51,6 +52,8 @@ class ListingArgs:
51
52
  except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF).
52
53
  :param pulumi.Input[builtins.str] documentation: Documentation describing the listing.
53
54
  :param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
55
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
56
+ querying user.
54
57
  :param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
55
58
  :param pulumi.Input['ListingPublisherArgs'] publisher: Details of the publisher who owns the listing and who can share the source data.
56
59
  :param pulumi.Input[builtins.str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
@@ -71,6 +74,8 @@ class ListingArgs:
71
74
  pulumi.set(__self__, "documentation", documentation)
72
75
  if icon is not None:
73
76
  pulumi.set(__self__, "icon", icon)
77
+ if log_linked_dataset_query_user_email is not None:
78
+ pulumi.set(__self__, "log_linked_dataset_query_user_email", log_linked_dataset_query_user_email)
74
79
  if primary_contact is not None:
75
80
  pulumi.set(__self__, "primary_contact", primary_contact)
76
81
  if project is not None:
@@ -204,6 +209,19 @@ class ListingArgs:
204
209
  def icon(self, value: Optional[pulumi.Input[builtins.str]]):
205
210
  pulumi.set(self, "icon", value)
206
211
 
212
+ @property
213
+ @pulumi.getter(name="logLinkedDatasetQueryUserEmail")
214
+ def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
215
+ """
216
+ If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
217
+ querying user.
218
+ """
219
+ return pulumi.get(self, "log_linked_dataset_query_user_email")
220
+
221
+ @log_linked_dataset_query_user_email.setter
222
+ def log_linked_dataset_query_user_email(self, value: Optional[pulumi.Input[builtins.bool]]):
223
+ pulumi.set(self, "log_linked_dataset_query_user_email", value)
224
+
207
225
  @property
208
226
  @pulumi.getter(name="primaryContact")
209
227
  def primary_contact(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -275,6 +293,7 @@ class _ListingState:
275
293
  icon: Optional[pulumi.Input[builtins.str]] = None,
276
294
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
277
295
  location: Optional[pulumi.Input[builtins.str]] = None,
296
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
278
297
  name: Optional[pulumi.Input[builtins.str]] = None,
279
298
  primary_contact: Optional[pulumi.Input[builtins.str]] = None,
280
299
  project: Optional[pulumi.Input[builtins.str]] = None,
@@ -295,6 +314,8 @@ class _ListingState:
295
314
  :param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
296
315
  :param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
297
316
  :param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
317
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
318
+ querying user.
298
319
  :param pulumi.Input[builtins.str] name: The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
299
320
  :param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
300
321
  :param pulumi.Input['ListingPublisherArgs'] publisher: Details of the publisher who owns the listing and who can share the source data.
@@ -321,6 +342,8 @@ class _ListingState:
321
342
  pulumi.set(__self__, "listing_id", listing_id)
322
343
  if location is not None:
323
344
  pulumi.set(__self__, "location", location)
345
+ if log_linked_dataset_query_user_email is not None:
346
+ pulumi.set(__self__, "log_linked_dataset_query_user_email", log_linked_dataset_query_user_email)
324
347
  if name is not None:
325
348
  pulumi.set(__self__, "name", name)
326
349
  if primary_contact is not None:
@@ -456,6 +479,19 @@ class _ListingState:
456
479
  def location(self, value: Optional[pulumi.Input[builtins.str]]):
457
480
  pulumi.set(self, "location", value)
458
481
 
482
+ @property
483
+ @pulumi.getter(name="logLinkedDatasetQueryUserEmail")
484
+ def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
485
+ """
486
+ If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
487
+ querying user.
488
+ """
489
+ return pulumi.get(self, "log_linked_dataset_query_user_email")
490
+
491
+ @log_linked_dataset_query_user_email.setter
492
+ def log_linked_dataset_query_user_email(self, value: Optional[pulumi.Input[builtins.bool]]):
493
+ pulumi.set(self, "log_linked_dataset_query_user_email", value)
494
+
459
495
  @property
460
496
  @pulumi.getter
461
497
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -542,6 +578,7 @@ class Listing(pulumi.CustomResource):
542
578
  icon: Optional[pulumi.Input[builtins.str]] = None,
543
579
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
544
580
  location: Optional[pulumi.Input[builtins.str]] = None,
581
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
545
582
  primary_contact: Optional[pulumi.Input[builtins.str]] = None,
546
583
  project: Optional[pulumi.Input[builtins.str]] = None,
547
584
  publisher: Optional[pulumi.Input[Union['ListingPublisherArgs', 'ListingPublisherArgsDict']]] = None,
@@ -672,6 +709,33 @@ class Listing(pulumi.CustomResource):
672
709
  "enabled": True,
673
710
  })
674
711
  ```
712
+ ### Bigquery Analyticshub Listing Log Linked Dataset Query User
713
+
714
+ ```python
715
+ import pulumi
716
+ import pulumi_gcp as gcp
717
+
718
+ listing_log_email = gcp.bigqueryanalyticshub.DataExchange("listing_log_email",
719
+ location="US",
720
+ data_exchange_id="tf_test_log_email_de",
721
+ display_name="tf_test_log_email_de",
722
+ description="Example for log email test")
723
+ listing_log_email_dataset = gcp.bigquery.Dataset("listing_log_email",
724
+ dataset_id="tf_test_log_email_ds",
725
+ friendly_name="tf_test_log_email_ds",
726
+ description="Example for log email test",
727
+ location="US")
728
+ listing = gcp.bigqueryanalyticshub.Listing("listing",
729
+ location="US",
730
+ data_exchange_id=listing_log_email.data_exchange_id,
731
+ listing_id="tf_test_log_email_listing",
732
+ display_name="tf_test_log_email_listing",
733
+ description="Example for log email test",
734
+ log_linked_dataset_query_user_email=True,
735
+ bigquery_dataset={
736
+ "dataset": listing_log_email_dataset.id,
737
+ })
738
+ ```
675
739
 
676
740
  ## Import
677
741
 
@@ -711,6 +775,8 @@ class Listing(pulumi.CustomResource):
711
775
  :param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
712
776
  :param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
713
777
  :param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
778
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
779
+ querying user.
714
780
  :param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
715
781
  :param pulumi.Input[Union['ListingPublisherArgs', 'ListingPublisherArgsDict']] publisher: Details of the publisher who owns the listing and who can share the source data.
716
782
  :param pulumi.Input[builtins.str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
@@ -846,6 +912,33 @@ class Listing(pulumi.CustomResource):
846
912
  "enabled": True,
847
913
  })
848
914
  ```
915
+ ### Bigquery Analyticshub Listing Log Linked Dataset Query User
916
+
917
+ ```python
918
+ import pulumi
919
+ import pulumi_gcp as gcp
920
+
921
+ listing_log_email = gcp.bigqueryanalyticshub.DataExchange("listing_log_email",
922
+ location="US",
923
+ data_exchange_id="tf_test_log_email_de",
924
+ display_name="tf_test_log_email_de",
925
+ description="Example for log email test")
926
+ listing_log_email_dataset = gcp.bigquery.Dataset("listing_log_email",
927
+ dataset_id="tf_test_log_email_ds",
928
+ friendly_name="tf_test_log_email_ds",
929
+ description="Example for log email test",
930
+ location="US")
931
+ listing = gcp.bigqueryanalyticshub.Listing("listing",
932
+ location="US",
933
+ data_exchange_id=listing_log_email.data_exchange_id,
934
+ listing_id="tf_test_log_email_listing",
935
+ display_name="tf_test_log_email_listing",
936
+ description="Example for log email test",
937
+ log_linked_dataset_query_user_email=True,
938
+ bigquery_dataset={
939
+ "dataset": listing_log_email_dataset.id,
940
+ })
941
+ ```
849
942
 
850
943
  ## Import
851
944
 
@@ -896,6 +989,7 @@ class Listing(pulumi.CustomResource):
896
989
  icon: Optional[pulumi.Input[builtins.str]] = None,
897
990
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
898
991
  location: Optional[pulumi.Input[builtins.str]] = None,
992
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
899
993
  primary_contact: Optional[pulumi.Input[builtins.str]] = None,
900
994
  project: Optional[pulumi.Input[builtins.str]] = None,
901
995
  publisher: Optional[pulumi.Input[Union['ListingPublisherArgs', 'ListingPublisherArgsDict']]] = None,
@@ -930,6 +1024,7 @@ class Listing(pulumi.CustomResource):
930
1024
  if location is None and not opts.urn:
931
1025
  raise TypeError("Missing required property 'location'")
932
1026
  __props__.__dict__["location"] = location
1027
+ __props__.__dict__["log_linked_dataset_query_user_email"] = log_linked_dataset_query_user_email
933
1028
  __props__.__dict__["primary_contact"] = primary_contact
934
1029
  __props__.__dict__["project"] = project
935
1030
  __props__.__dict__["publisher"] = publisher
@@ -956,6 +1051,7 @@ class Listing(pulumi.CustomResource):
956
1051
  icon: Optional[pulumi.Input[builtins.str]] = None,
957
1052
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
958
1053
  location: Optional[pulumi.Input[builtins.str]] = None,
1054
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
959
1055
  name: Optional[pulumi.Input[builtins.str]] = None,
960
1056
  primary_contact: Optional[pulumi.Input[builtins.str]] = None,
961
1057
  project: Optional[pulumi.Input[builtins.str]] = None,
@@ -981,6 +1077,8 @@ class Listing(pulumi.CustomResource):
981
1077
  :param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
982
1078
  :param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
983
1079
  :param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
1080
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
1081
+ querying user.
984
1082
  :param pulumi.Input[builtins.str] name: The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
985
1083
  :param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
986
1084
  :param pulumi.Input[Union['ListingPublisherArgs', 'ListingPublisherArgsDict']] publisher: Details of the publisher who owns the listing and who can share the source data.
@@ -1001,6 +1099,7 @@ class Listing(pulumi.CustomResource):
1001
1099
  __props__.__dict__["icon"] = icon
1002
1100
  __props__.__dict__["listing_id"] = listing_id
1003
1101
  __props__.__dict__["location"] = location
1102
+ __props__.__dict__["log_linked_dataset_query_user_email"] = log_linked_dataset_query_user_email
1004
1103
  __props__.__dict__["name"] = name
1005
1104
  __props__.__dict__["primary_contact"] = primary_contact
1006
1105
  __props__.__dict__["project"] = project
@@ -1091,6 +1190,15 @@ class Listing(pulumi.CustomResource):
1091
1190
  """
1092
1191
  return pulumi.get(self, "location")
1093
1192
 
1193
+ @property
1194
+ @pulumi.getter(name="logLinkedDatasetQueryUserEmail")
1195
+ def log_linked_dataset_query_user_email(self) -> pulumi.Output[Optional[builtins.bool]]:
1196
+ """
1197
+ If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the
1198
+ querying user.
1199
+ """
1200
+ return pulumi.get(self, "log_linked_dataset_query_user_email")
1201
+
1094
1202
  @property
1095
1203
  @pulumi.getter
1096
1204
  def name(self) -> pulumi.Output[builtins.str]: