pulumi-gcp 8.22.0a1741329280__py3-none-any.whl → 8.22.0a1741888019__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 (75) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/outputs.py +95 -0
  4. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  5. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  6. pulumi_gcp/certificatemanager/certificate.py +53 -7
  7. pulumi_gcp/certificatemanager/outputs.py +8 -2
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +600 -17
  10. pulumi_gcp/compute/backend_service.py +195 -7
  11. pulumi_gcp/compute/disk.py +108 -0
  12. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  13. pulumi_gcp/compute/get_backend_service.py +12 -1
  14. pulumi_gcp/compute/get_disk.py +23 -1
  15. pulumi_gcp/compute/get_region_disk.py +23 -1
  16. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  17. pulumi_gcp/compute/outputs.py +623 -23
  18. pulumi_gcp/compute/region_backend_service.py +193 -7
  19. pulumi_gcp/compute/region_disk.py +114 -0
  20. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  21. pulumi_gcp/compute/subnetwork.py +147 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datastream/_inputs.py +273 -0
  25. pulumi_gcp/datastream/connection_profile.py +54 -2
  26. pulumi_gcp/datastream/outputs.py +224 -0
  27. pulumi_gcp/eventarc/__init__.py +1 -0
  28. pulumi_gcp/eventarc/_inputs.py +40 -0
  29. pulumi_gcp/eventarc/channel.py +85 -93
  30. pulumi_gcp/eventarc/google_api_source.py +997 -0
  31. pulumi_gcp/eventarc/outputs.py +41 -0
  32. pulumi_gcp/firebase/data_connect_service.py +40 -2
  33. pulumi_gcp/iam/__init__.py +2 -0
  34. pulumi_gcp/iam/_inputs.py +51 -18
  35. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  36. pulumi_gcp/iam/oauth_client.py +979 -0
  37. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  38. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  39. pulumi_gcp/iam/outputs.py +34 -12
  40. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  41. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  42. pulumi_gcp/kms/crypto_key_version.py +14 -7
  43. pulumi_gcp/monitoring/_inputs.py +15 -18
  44. pulumi_gcp/monitoring/alert_policy.py +46 -0
  45. pulumi_gcp/monitoring/outputs.py +10 -12
  46. pulumi_gcp/networksecurity/__init__.py +1 -0
  47. pulumi_gcp/networksecurity/_inputs.py +30 -18
  48. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  49. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  50. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  51. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  52. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  53. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  54. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  55. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  56. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  57. pulumi_gcp/networksecurity/outputs.py +20 -12
  58. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  59. pulumi_gcp/networkservices/grpc_route.py +12 -0
  60. pulumi_gcp/networkservices/http_route.py +16 -0
  61. pulumi_gcp/networkservices/mesh.py +16 -0
  62. pulumi_gcp/networkservices/service_binding.py +14 -0
  63. pulumi_gcp/networkservices/tcp_route.py +16 -0
  64. pulumi_gcp/networkservices/tls_route.py +12 -0
  65. pulumi_gcp/pulumi-plugin.json +1 -1
  66. pulumi_gcp/tpu/_inputs.py +21 -1
  67. pulumi_gcp/tpu/outputs.py +13 -1
  68. pulumi_gcp/tpu/v2_vm.py +2 -0
  69. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  70. pulumi_gcp/vmwareengine/outputs.py +8 -0
  71. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  72. {pulumi_gcp-8.22.0a1741329280.dist-info → pulumi_gcp-8.22.0a1741888019.dist-info}/METADATA +1 -1
  73. {pulumi_gcp-8.22.0a1741329280.dist-info → pulumi_gcp-8.22.0a1741888019.dist-info}/RECORD +75 -70
  74. {pulumi_gcp-8.22.0a1741329280.dist-info → pulumi_gcp-8.22.0a1741888019.dist-info}/WHEEL +1 -1
  75. {pulumi_gcp-8.22.0a1741329280.dist-info → pulumi_gcp-8.22.0a1741888019.dist-info}/top_level.txt +0 -0
@@ -26,6 +26,10 @@ class FirewallPolicyAssociationArgs:
26
26
  The set of arguments for constructing a FirewallPolicyAssociation resource.
27
27
  :param pulumi.Input[str] attachment_target: The target that the firewall policy is attached to.
28
28
  :param pulumi.Input[str] firewall_policy: The firewall policy of the resource.
29
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
30
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
31
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
32
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
29
33
 
30
34
 
31
35
  - - -
@@ -53,6 +57,10 @@ class FirewallPolicyAssociationArgs:
53
57
  def firewall_policy(self) -> pulumi.Input[str]:
54
58
  """
55
59
  The firewall policy of the resource.
60
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
61
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
62
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
63
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
56
64
 
57
65
 
58
66
  - - -
@@ -87,6 +95,10 @@ class _FirewallPolicyAssociationState:
87
95
  Input properties used for looking up and filtering FirewallPolicyAssociation resources.
88
96
  :param pulumi.Input[str] attachment_target: The target that the firewall policy is attached to.
89
97
  :param pulumi.Input[str] firewall_policy: The firewall policy of the resource.
98
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
99
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
100
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
101
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
90
102
 
91
103
 
92
104
  - - -
@@ -119,6 +131,10 @@ class _FirewallPolicyAssociationState:
119
131
  def firewall_policy(self) -> Optional[pulumi.Input[str]]:
120
132
  """
121
133
  The firewall policy of the resource.
134
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
135
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
136
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
137
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
122
138
 
123
139
 
124
140
  - - -
@@ -192,7 +208,6 @@ class FirewallPolicyAssociation(pulumi.CustomResource):
192
208
  attachment_target=folder.name,
193
209
  name="my-association")
194
210
  ```
195
-
196
211
  ## Import
197
212
 
198
213
  FirewallPolicyAssociation can be imported using any of these accepted formats:
@@ -215,6 +230,10 @@ class FirewallPolicyAssociation(pulumi.CustomResource):
215
230
  :param pulumi.ResourceOptions opts: Options for the resource.
216
231
  :param pulumi.Input[str] attachment_target: The target that the firewall policy is attached to.
217
232
  :param pulumi.Input[str] firewall_policy: The firewall policy of the resource.
233
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
234
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
235
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
236
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
218
237
 
219
238
 
220
239
  - - -
@@ -255,7 +274,6 @@ class FirewallPolicyAssociation(pulumi.CustomResource):
255
274
  attachment_target=folder.name,
256
275
  name="my-association")
257
276
  ```
258
-
259
277
  ## Import
260
278
 
261
279
  FirewallPolicyAssociation can be imported using any of these accepted formats:
@@ -332,6 +350,10 @@ class FirewallPolicyAssociation(pulumi.CustomResource):
332
350
  :param pulumi.ResourceOptions opts: Options for the resource.
333
351
  :param pulumi.Input[str] attachment_target: The target that the firewall policy is attached to.
334
352
  :param pulumi.Input[str] firewall_policy: The firewall policy of the resource.
353
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
354
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
355
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
356
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
335
357
 
336
358
 
337
359
  - - -
@@ -361,6 +383,10 @@ class FirewallPolicyAssociation(pulumi.CustomResource):
361
383
  def firewall_policy(self) -> pulumi.Output[str]:
362
384
  """
363
385
  The firewall policy of the resource.
386
+ This field can be updated to refer to a different Firewall Policy, which will create a new association from that new
387
+ firewall policy with the flag to override the existing attachmentTarget's policy association.
388
+ **Note** Due to potential risks with this operation it is *highly* recommended to use the `create_before_destroy` life cycle option
389
+ on your exisiting firewall policy so as to prevent a situation where your attachment target has no associated policy.
364
390
 
365
391
 
366
392
  - - -
@@ -27,7 +27,7 @@ class GetBackendServiceResult:
27
27
  """
28
28
  A collection of values returned by getBackendService.
29
29
  """
30
- def __init__(__self__, affinity_cookie_ttl_sec=None, backends=None, cdn_policies=None, circuit_breakers=None, compression_mode=None, connection_draining_timeout_sec=None, consistent_hash=None, creation_timestamp=None, custom_request_headers=None, custom_response_headers=None, description=None, edge_security_policy=None, enable_cdn=None, fingerprint=None, generated_id=None, health_checks=None, iaps=None, id=None, ip_address_selection_policy=None, load_balancing_scheme=None, locality_lb_policies=None, locality_lb_policy=None, log_configs=None, name=None, outlier_detections=None, port_name=None, project=None, protocol=None, security_policy=None, security_settings=None, self_link=None, service_lb_policy=None, session_affinity=None, strong_session_affinity_cookies=None, timeout_sec=None):
30
+ def __init__(__self__, affinity_cookie_ttl_sec=None, backends=None, cdn_policies=None, circuit_breakers=None, compression_mode=None, connection_draining_timeout_sec=None, consistent_hash=None, creation_timestamp=None, custom_metrics=None, custom_request_headers=None, custom_response_headers=None, description=None, edge_security_policy=None, enable_cdn=None, fingerprint=None, generated_id=None, health_checks=None, iaps=None, id=None, ip_address_selection_policy=None, load_balancing_scheme=None, locality_lb_policies=None, locality_lb_policy=None, log_configs=None, name=None, outlier_detections=None, port_name=None, project=None, protocol=None, security_policy=None, security_settings=None, self_link=None, service_lb_policy=None, session_affinity=None, strong_session_affinity_cookies=None, timeout_sec=None):
31
31
  if affinity_cookie_ttl_sec and not isinstance(affinity_cookie_ttl_sec, int):
32
32
  raise TypeError("Expected argument 'affinity_cookie_ttl_sec' to be a int")
33
33
  pulumi.set(__self__, "affinity_cookie_ttl_sec", affinity_cookie_ttl_sec)
@@ -52,6 +52,9 @@ class GetBackendServiceResult:
52
52
  if creation_timestamp and not isinstance(creation_timestamp, str):
53
53
  raise TypeError("Expected argument 'creation_timestamp' to be a str")
54
54
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
55
+ if custom_metrics and not isinstance(custom_metrics, list):
56
+ raise TypeError("Expected argument 'custom_metrics' to be a list")
57
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
55
58
  if custom_request_headers and not isinstance(custom_request_headers, list):
56
59
  raise TypeError("Expected argument 'custom_request_headers' to be a list")
57
60
  pulumi.set(__self__, "custom_request_headers", custom_request_headers)
@@ -180,6 +183,11 @@ class GetBackendServiceResult:
180
183
  def creation_timestamp(self) -> str:
181
184
  return pulumi.get(self, "creation_timestamp")
182
185
 
186
+ @property
187
+ @pulumi.getter(name="customMetrics")
188
+ def custom_metrics(self) -> Sequence['outputs.GetBackendServiceCustomMetricResult']:
189
+ return pulumi.get(self, "custom_metrics")
190
+
183
191
  @property
184
192
  @pulumi.getter(name="customRequestHeaders")
185
193
  def custom_request_headers(self) -> Sequence[str]:
@@ -363,6 +371,7 @@ class AwaitableGetBackendServiceResult(GetBackendServiceResult):
363
371
  connection_draining_timeout_sec=self.connection_draining_timeout_sec,
364
372
  consistent_hash=self.consistent_hash,
365
373
  creation_timestamp=self.creation_timestamp,
374
+ custom_metrics=self.custom_metrics,
366
375
  custom_request_headers=self.custom_request_headers,
367
376
  custom_response_headers=self.custom_response_headers,
368
377
  description=self.description,
@@ -433,6 +442,7 @@ def get_backend_service(name: Optional[str] = None,
433
442
  connection_draining_timeout_sec=pulumi.get(__ret__, 'connection_draining_timeout_sec'),
434
443
  consistent_hash=pulumi.get(__ret__, 'consistent_hash'),
435
444
  creation_timestamp=pulumi.get(__ret__, 'creation_timestamp'),
445
+ custom_metrics=pulumi.get(__ret__, 'custom_metrics'),
436
446
  custom_request_headers=pulumi.get(__ret__, 'custom_request_headers'),
437
447
  custom_response_headers=pulumi.get(__ret__, 'custom_response_headers'),
438
448
  description=pulumi.get(__ret__, 'description'),
@@ -500,6 +510,7 @@ def get_backend_service_output(name: Optional[pulumi.Input[str]] = None,
500
510
  connection_draining_timeout_sec=pulumi.get(__response__, 'connection_draining_timeout_sec'),
501
511
  consistent_hash=pulumi.get(__response__, 'consistent_hash'),
502
512
  creation_timestamp=pulumi.get(__response__, 'creation_timestamp'),
513
+ custom_metrics=pulumi.get(__response__, 'custom_metrics'),
503
514
  custom_request_headers=pulumi.get(__response__, 'custom_request_headers'),
504
515
  custom_response_headers=pulumi.get(__response__, 'custom_response_headers'),
505
516
  description=pulumi.get(__response__, 'description'),
@@ -27,7 +27,7 @@ class GetDiskResult:
27
27
  """
28
28
  A collection of values returned by getDisk.
29
29
  """
30
- def __init__(__self__, access_mode=None, architecture=None, async_primary_disks=None, creation_timestamp=None, description=None, disk_encryption_keys=None, disk_id=None, effective_labels=None, enable_confidential_compute=None, guest_os_features=None, id=None, image=None, interface=None, label_fingerprint=None, labels=None, last_attach_timestamp=None, last_detach_timestamp=None, licenses=None, multi_writer=None, name=None, params=None, physical_block_size_bytes=None, project=None, provisioned_iops=None, provisioned_throughput=None, pulumi_labels=None, resource_policies=None, self_link=None, size=None, snapshot=None, source_disk=None, source_disk_id=None, source_image_encryption_keys=None, source_image_id=None, source_instant_snapshot=None, source_instant_snapshot_id=None, source_snapshot_encryption_keys=None, source_snapshot_id=None, source_storage_object=None, storage_pool=None, type=None, users=None, zone=None):
30
+ def __init__(__self__, access_mode=None, architecture=None, async_primary_disks=None, create_snapshot_before_destroy=None, create_snapshot_before_destroy_prefix=None, creation_timestamp=None, description=None, disk_encryption_keys=None, disk_id=None, effective_labels=None, enable_confidential_compute=None, guest_os_features=None, id=None, image=None, interface=None, label_fingerprint=None, labels=None, last_attach_timestamp=None, last_detach_timestamp=None, licenses=None, multi_writer=None, name=None, params=None, physical_block_size_bytes=None, project=None, provisioned_iops=None, provisioned_throughput=None, pulumi_labels=None, resource_policies=None, self_link=None, size=None, snapshot=None, source_disk=None, source_disk_id=None, source_image_encryption_keys=None, source_image_id=None, source_instant_snapshot=None, source_instant_snapshot_id=None, source_snapshot_encryption_keys=None, source_snapshot_id=None, source_storage_object=None, storage_pool=None, type=None, users=None, zone=None):
31
31
  if access_mode and not isinstance(access_mode, str):
32
32
  raise TypeError("Expected argument 'access_mode' to be a str")
33
33
  pulumi.set(__self__, "access_mode", access_mode)
@@ -37,6 +37,12 @@ class GetDiskResult:
37
37
  if async_primary_disks and not isinstance(async_primary_disks, list):
38
38
  raise TypeError("Expected argument 'async_primary_disks' to be a list")
39
39
  pulumi.set(__self__, "async_primary_disks", async_primary_disks)
40
+ if create_snapshot_before_destroy and not isinstance(create_snapshot_before_destroy, bool):
41
+ raise TypeError("Expected argument 'create_snapshot_before_destroy' to be a bool")
42
+ pulumi.set(__self__, "create_snapshot_before_destroy", create_snapshot_before_destroy)
43
+ if create_snapshot_before_destroy_prefix and not isinstance(create_snapshot_before_destroy_prefix, str):
44
+ raise TypeError("Expected argument 'create_snapshot_before_destroy_prefix' to be a str")
45
+ pulumi.set(__self__, "create_snapshot_before_destroy_prefix", create_snapshot_before_destroy_prefix)
40
46
  if creation_timestamp and not isinstance(creation_timestamp, str):
41
47
  raise TypeError("Expected argument 'creation_timestamp' to be a str")
42
48
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
@@ -173,6 +179,16 @@ class GetDiskResult:
173
179
  def async_primary_disks(self) -> Sequence['outputs.GetDiskAsyncPrimaryDiskResult']:
174
180
  return pulumi.get(self, "async_primary_disks")
175
181
 
182
+ @property
183
+ @pulumi.getter(name="createSnapshotBeforeDestroy")
184
+ def create_snapshot_before_destroy(self) -> bool:
185
+ return pulumi.get(self, "create_snapshot_before_destroy")
186
+
187
+ @property
188
+ @pulumi.getter(name="createSnapshotBeforeDestroyPrefix")
189
+ def create_snapshot_before_destroy_prefix(self) -> str:
190
+ return pulumi.get(self, "create_snapshot_before_destroy_prefix")
191
+
176
192
  @property
177
193
  @pulumi.getter(name="creationTimestamp")
178
194
  def creation_timestamp(self) -> str:
@@ -452,6 +468,8 @@ class AwaitableGetDiskResult(GetDiskResult):
452
468
  access_mode=self.access_mode,
453
469
  architecture=self.architecture,
454
470
  async_primary_disks=self.async_primary_disks,
471
+ create_snapshot_before_destroy=self.create_snapshot_before_destroy,
472
+ create_snapshot_before_destroy_prefix=self.create_snapshot_before_destroy_prefix,
455
473
  creation_timestamp=self.creation_timestamp,
456
474
  description=self.description,
457
475
  disk_encryption_keys=self.disk_encryption_keys,
@@ -536,6 +554,8 @@ def get_disk(name: Optional[str] = None,
536
554
  access_mode=pulumi.get(__ret__, 'access_mode'),
537
555
  architecture=pulumi.get(__ret__, 'architecture'),
538
556
  async_primary_disks=pulumi.get(__ret__, 'async_primary_disks'),
557
+ create_snapshot_before_destroy=pulumi.get(__ret__, 'create_snapshot_before_destroy'),
558
+ create_snapshot_before_destroy_prefix=pulumi.get(__ret__, 'create_snapshot_before_destroy_prefix'),
539
559
  creation_timestamp=pulumi.get(__ret__, 'creation_timestamp'),
540
560
  description=pulumi.get(__ret__, 'description'),
541
561
  disk_encryption_keys=pulumi.get(__ret__, 'disk_encryption_keys'),
@@ -617,6 +637,8 @@ def get_disk_output(name: Optional[pulumi.Input[str]] = None,
617
637
  access_mode=pulumi.get(__response__, 'access_mode'),
618
638
  architecture=pulumi.get(__response__, 'architecture'),
619
639
  async_primary_disks=pulumi.get(__response__, 'async_primary_disks'),
640
+ create_snapshot_before_destroy=pulumi.get(__response__, 'create_snapshot_before_destroy'),
641
+ create_snapshot_before_destroy_prefix=pulumi.get(__response__, 'create_snapshot_before_destroy_prefix'),
620
642
  creation_timestamp=pulumi.get(__response__, 'creation_timestamp'),
621
643
  description=pulumi.get(__response__, 'description'),
622
644
  disk_encryption_keys=pulumi.get(__response__, 'disk_encryption_keys'),
@@ -27,10 +27,16 @@ class GetRegionDiskResult:
27
27
  """
28
28
  A collection of values returned by getRegionDisk.
29
29
  """
30
- def __init__(__self__, async_primary_disks=None, creation_timestamp=None, description=None, disk_encryption_keys=None, effective_labels=None, guest_os_features=None, id=None, interface=None, label_fingerprint=None, labels=None, last_attach_timestamp=None, last_detach_timestamp=None, licenses=None, name=None, physical_block_size_bytes=None, project=None, pulumi_labels=None, region=None, replica_zones=None, self_link=None, size=None, snapshot=None, source_disk=None, source_disk_id=None, source_snapshot_encryption_keys=None, source_snapshot_id=None, type=None, users=None):
30
+ def __init__(__self__, async_primary_disks=None, create_snapshot_before_destroy=None, create_snapshot_before_destroy_prefix=None, creation_timestamp=None, description=None, disk_encryption_keys=None, effective_labels=None, guest_os_features=None, id=None, interface=None, label_fingerprint=None, labels=None, last_attach_timestamp=None, last_detach_timestamp=None, licenses=None, name=None, physical_block_size_bytes=None, project=None, pulumi_labels=None, region=None, replica_zones=None, self_link=None, size=None, snapshot=None, source_disk=None, source_disk_id=None, source_snapshot_encryption_keys=None, source_snapshot_id=None, type=None, users=None):
31
31
  if async_primary_disks and not isinstance(async_primary_disks, list):
32
32
  raise TypeError("Expected argument 'async_primary_disks' to be a list")
33
33
  pulumi.set(__self__, "async_primary_disks", async_primary_disks)
34
+ if create_snapshot_before_destroy and not isinstance(create_snapshot_before_destroy, bool):
35
+ raise TypeError("Expected argument 'create_snapshot_before_destroy' to be a bool")
36
+ pulumi.set(__self__, "create_snapshot_before_destroy", create_snapshot_before_destroy)
37
+ if create_snapshot_before_destroy_prefix and not isinstance(create_snapshot_before_destroy_prefix, str):
38
+ raise TypeError("Expected argument 'create_snapshot_before_destroy_prefix' to be a str")
39
+ pulumi.set(__self__, "create_snapshot_before_destroy_prefix", create_snapshot_before_destroy_prefix)
34
40
  if creation_timestamp and not isinstance(creation_timestamp, str):
35
41
  raise TypeError("Expected argument 'creation_timestamp' to be a str")
36
42
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
@@ -118,6 +124,16 @@ class GetRegionDiskResult:
118
124
  def async_primary_disks(self) -> Sequence['outputs.GetRegionDiskAsyncPrimaryDiskResult']:
119
125
  return pulumi.get(self, "async_primary_disks")
120
126
 
127
+ @property
128
+ @pulumi.getter(name="createSnapshotBeforeDestroy")
129
+ def create_snapshot_before_destroy(self) -> bool:
130
+ return pulumi.get(self, "create_snapshot_before_destroy")
131
+
132
+ @property
133
+ @pulumi.getter(name="createSnapshotBeforeDestroyPrefix")
134
+ def create_snapshot_before_destroy_prefix(self) -> str:
135
+ return pulumi.get(self, "create_snapshot_before_destroy_prefix")
136
+
121
137
  @property
122
138
  @pulumi.getter(name="creationTimestamp")
123
139
  def creation_timestamp(self) -> str:
@@ -264,6 +280,8 @@ class AwaitableGetRegionDiskResult(GetRegionDiskResult):
264
280
  yield self
265
281
  return GetRegionDiskResult(
266
282
  async_primary_disks=self.async_primary_disks,
283
+ create_snapshot_before_destroy=self.create_snapshot_before_destroy,
284
+ create_snapshot_before_destroy_prefix=self.create_snapshot_before_destroy_prefix,
267
285
  creation_timestamp=self.creation_timestamp,
268
286
  description=self.description,
269
287
  disk_encryption_keys=self.disk_encryption_keys,
@@ -319,6 +337,8 @@ def get_region_disk(name: Optional[str] = None,
319
337
 
320
338
  return AwaitableGetRegionDiskResult(
321
339
  async_primary_disks=pulumi.get(__ret__, 'async_primary_disks'),
340
+ create_snapshot_before_destroy=pulumi.get(__ret__, 'create_snapshot_before_destroy'),
341
+ create_snapshot_before_destroy_prefix=pulumi.get(__ret__, 'create_snapshot_before_destroy_prefix'),
322
342
  creation_timestamp=pulumi.get(__ret__, 'creation_timestamp'),
323
343
  description=pulumi.get(__ret__, 'description'),
324
344
  disk_encryption_keys=pulumi.get(__ret__, 'disk_encryption_keys'),
@@ -371,6 +391,8 @@ def get_region_disk_output(name: Optional[pulumi.Input[str]] = None,
371
391
  __ret__ = pulumi.runtime.invoke_output('gcp:compute/getRegionDisk:getRegionDisk', __args__, opts=opts, typ=GetRegionDiskResult)
372
392
  return __ret__.apply(lambda __response__: GetRegionDiskResult(
373
393
  async_primary_disks=pulumi.get(__response__, 'async_primary_disks'),
394
+ create_snapshot_before_destroy=pulumi.get(__response__, 'create_snapshot_before_destroy'),
395
+ create_snapshot_before_destroy_prefix=pulumi.get(__response__, 'create_snapshot_before_destroy_prefix'),
374
396
  creation_timestamp=pulumi.get(__response__, 'creation_timestamp'),
375
397
  description=pulumi.get(__response__, 'description'),
376
398
  disk_encryption_keys=pulumi.get(__response__, 'disk_encryption_keys'),
@@ -0,0 +1,203 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetRegionSSLPolicyResult',
19
+ 'AwaitableGetRegionSSLPolicyResult',
20
+ 'get_region_ssl_policy',
21
+ 'get_region_ssl_policy_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetRegionSSLPolicyResult:
26
+ """
27
+ A collection of values returned by getRegionSSLPolicy.
28
+ """
29
+ def __init__(__self__, creation_timestamp=None, custom_features=None, description=None, enabled_features=None, fingerprint=None, id=None, min_tls_version=None, name=None, profile=None, project=None, region=None, self_link=None):
30
+ if creation_timestamp and not isinstance(creation_timestamp, str):
31
+ raise TypeError("Expected argument 'creation_timestamp' to be a str")
32
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
33
+ if custom_features and not isinstance(custom_features, list):
34
+ raise TypeError("Expected argument 'custom_features' to be a list")
35
+ pulumi.set(__self__, "custom_features", custom_features)
36
+ if description and not isinstance(description, str):
37
+ raise TypeError("Expected argument 'description' to be a str")
38
+ pulumi.set(__self__, "description", description)
39
+ if enabled_features and not isinstance(enabled_features, list):
40
+ raise TypeError("Expected argument 'enabled_features' to be a list")
41
+ pulumi.set(__self__, "enabled_features", enabled_features)
42
+ if fingerprint and not isinstance(fingerprint, str):
43
+ raise TypeError("Expected argument 'fingerprint' to be a str")
44
+ pulumi.set(__self__, "fingerprint", fingerprint)
45
+ if id and not isinstance(id, str):
46
+ raise TypeError("Expected argument 'id' to be a str")
47
+ pulumi.set(__self__, "id", id)
48
+ if min_tls_version and not isinstance(min_tls_version, str):
49
+ raise TypeError("Expected argument 'min_tls_version' to be a str")
50
+ pulumi.set(__self__, "min_tls_version", min_tls_version)
51
+ if name and not isinstance(name, str):
52
+ raise TypeError("Expected argument 'name' to be a str")
53
+ pulumi.set(__self__, "name", name)
54
+ if profile and not isinstance(profile, str):
55
+ raise TypeError("Expected argument 'profile' to be a str")
56
+ pulumi.set(__self__, "profile", profile)
57
+ if project and not isinstance(project, str):
58
+ raise TypeError("Expected argument 'project' to be a str")
59
+ pulumi.set(__self__, "project", project)
60
+ if region and not isinstance(region, str):
61
+ raise TypeError("Expected argument 'region' to be a str")
62
+ pulumi.set(__self__, "region", region)
63
+ if self_link and not isinstance(self_link, str):
64
+ raise TypeError("Expected argument 'self_link' to be a str")
65
+ pulumi.set(__self__, "self_link", self_link)
66
+
67
+ @property
68
+ @pulumi.getter(name="creationTimestamp")
69
+ def creation_timestamp(self) -> str:
70
+ return pulumi.get(self, "creation_timestamp")
71
+
72
+ @property
73
+ @pulumi.getter(name="customFeatures")
74
+ def custom_features(self) -> Sequence[str]:
75
+ return pulumi.get(self, "custom_features")
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def description(self) -> str:
80
+ return pulumi.get(self, "description")
81
+
82
+ @property
83
+ @pulumi.getter(name="enabledFeatures")
84
+ def enabled_features(self) -> Sequence[str]:
85
+ return pulumi.get(self, "enabled_features")
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def fingerprint(self) -> str:
90
+ return pulumi.get(self, "fingerprint")
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def id(self) -> str:
95
+ """
96
+ The provider-assigned unique ID for this managed resource.
97
+ """
98
+ return pulumi.get(self, "id")
99
+
100
+ @property
101
+ @pulumi.getter(name="minTlsVersion")
102
+ def min_tls_version(self) -> str:
103
+ return pulumi.get(self, "min_tls_version")
104
+
105
+ @property
106
+ @pulumi.getter
107
+ def name(self) -> str:
108
+ return pulumi.get(self, "name")
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def profile(self) -> str:
113
+ return pulumi.get(self, "profile")
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def project(self) -> Optional[str]:
118
+ return pulumi.get(self, "project")
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def region(self) -> Optional[str]:
123
+ return pulumi.get(self, "region")
124
+
125
+ @property
126
+ @pulumi.getter(name="selfLink")
127
+ def self_link(self) -> str:
128
+ return pulumi.get(self, "self_link")
129
+
130
+
131
+ class AwaitableGetRegionSSLPolicyResult(GetRegionSSLPolicyResult):
132
+ # pylint: disable=using-constant-test
133
+ def __await__(self):
134
+ if False:
135
+ yield self
136
+ return GetRegionSSLPolicyResult(
137
+ creation_timestamp=self.creation_timestamp,
138
+ custom_features=self.custom_features,
139
+ description=self.description,
140
+ enabled_features=self.enabled_features,
141
+ fingerprint=self.fingerprint,
142
+ id=self.id,
143
+ min_tls_version=self.min_tls_version,
144
+ name=self.name,
145
+ profile=self.profile,
146
+ project=self.project,
147
+ region=self.region,
148
+ self_link=self.self_link)
149
+
150
+
151
+ def get_region_ssl_policy(name: Optional[str] = None,
152
+ project: Optional[str] = None,
153
+ region: Optional[str] = None,
154
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegionSSLPolicyResult:
155
+ """
156
+ Use this data source to access information about an existing resource.
157
+ """
158
+ __args__ = dict()
159
+ __args__['name'] = name
160
+ __args__['project'] = project
161
+ __args__['region'] = region
162
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
163
+ __ret__ = pulumi.runtime.invoke('gcp:compute/getRegionSSLPolicy:getRegionSSLPolicy', __args__, opts=opts, typ=GetRegionSSLPolicyResult).value
164
+
165
+ return AwaitableGetRegionSSLPolicyResult(
166
+ creation_timestamp=pulumi.get(__ret__, 'creation_timestamp'),
167
+ custom_features=pulumi.get(__ret__, 'custom_features'),
168
+ description=pulumi.get(__ret__, 'description'),
169
+ enabled_features=pulumi.get(__ret__, 'enabled_features'),
170
+ fingerprint=pulumi.get(__ret__, 'fingerprint'),
171
+ id=pulumi.get(__ret__, 'id'),
172
+ min_tls_version=pulumi.get(__ret__, 'min_tls_version'),
173
+ name=pulumi.get(__ret__, 'name'),
174
+ profile=pulumi.get(__ret__, 'profile'),
175
+ project=pulumi.get(__ret__, 'project'),
176
+ region=pulumi.get(__ret__, 'region'),
177
+ self_link=pulumi.get(__ret__, 'self_link'))
178
+ def get_region_ssl_policy_output(name: Optional[pulumi.Input[str]] = None,
179
+ project: Optional[pulumi.Input[Optional[str]]] = None,
180
+ region: Optional[pulumi.Input[Optional[str]]] = None,
181
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegionSSLPolicyResult]:
182
+ """
183
+ Use this data source to access information about an existing resource.
184
+ """
185
+ __args__ = dict()
186
+ __args__['name'] = name
187
+ __args__['project'] = project
188
+ __args__['region'] = region
189
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
190
+ __ret__ = pulumi.runtime.invoke_output('gcp:compute/getRegionSSLPolicy:getRegionSSLPolicy', __args__, opts=opts, typ=GetRegionSSLPolicyResult)
191
+ return __ret__.apply(lambda __response__: GetRegionSSLPolicyResult(
192
+ creation_timestamp=pulumi.get(__response__, 'creation_timestamp'),
193
+ custom_features=pulumi.get(__response__, 'custom_features'),
194
+ description=pulumi.get(__response__, 'description'),
195
+ enabled_features=pulumi.get(__response__, 'enabled_features'),
196
+ fingerprint=pulumi.get(__response__, 'fingerprint'),
197
+ id=pulumi.get(__response__, 'id'),
198
+ min_tls_version=pulumi.get(__response__, 'min_tls_version'),
199
+ name=pulumi.get(__response__, 'name'),
200
+ profile=pulumi.get(__response__, 'profile'),
201
+ project=pulumi.get(__response__, 'project'),
202
+ region=pulumi.get(__response__, 'region'),
203
+ self_link=pulumi.get(__response__, 'self_link')))