pulumi-gcp 7.20.0a1713986537__py3-none-any.whl → 7.21.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +74 -0
  3. pulumi_gcp/alloydb/backup.py +0 -12
  4. pulumi_gcp/alloydb/cluster.py +0 -12
  5. pulumi_gcp/alloydb/instance.py +90 -81
  6. pulumi_gcp/alloydb/outputs.py +98 -0
  7. pulumi_gcp/apigee/environment.py +47 -0
  8. pulumi_gcp/apigee/sharedflow.py +0 -20
  9. pulumi_gcp/appengine/flexible_app_version.py +0 -20
  10. pulumi_gcp/applicationintegration/__init__.py +1 -0
  11. pulumi_gcp/applicationintegration/_inputs.py +843 -0
  12. pulumi_gcp/applicationintegration/auth_config.py +998 -0
  13. pulumi_gcp/applicationintegration/outputs.py +891 -0
  14. pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
  15. pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
  16. pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
  17. pulumi_gcp/certificateauthority/_inputs.py +92 -12
  18. pulumi_gcp/certificateauthority/authority.py +117 -27
  19. pulumi_gcp/certificateauthority/certificate.py +176 -0
  20. pulumi_gcp/certificateauthority/outputs.py +144 -12
  21. pulumi_gcp/cloudbuild/worker_pool.py +0 -12
  22. pulumi_gcp/cloudbuildv2/connection.py +0 -12
  23. pulumi_gcp/cloudbuildv2/repository.py +0 -12
  24. pulumi_gcp/clouddeploy/automation.py +0 -12
  25. pulumi_gcp/clouddeploy/custom_target_type.py +0 -12
  26. pulumi_gcp/clouddeploy/delivery_pipeline.py +0 -12
  27. pulumi_gcp/clouddeploy/target.py +0 -12
  28. pulumi_gcp/cloudrunv2/job.py +0 -12
  29. pulumi_gcp/cloudrunv2/service.py +0 -12
  30. pulumi_gcp/composer/__init__.py +1 -0
  31. pulumi_gcp/composer/environment.py +35 -47
  32. pulumi_gcp/composer/user_workloads_secret.py +441 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +121 -58
  35. pulumi_gcp/compute/forwarding_rule.py +0 -13
  36. pulumi_gcp/compute/global_address.py +0 -12
  37. pulumi_gcp/compute/global_forwarding_rule.py +0 -282
  38. pulumi_gcp/compute/instance_from_machine_image.py +14 -46
  39. pulumi_gcp/compute/instance_from_template.py +14 -46
  40. pulumi_gcp/compute/outputs.py +120 -65
  41. pulumi_gcp/compute/region_instance_template.py +0 -13
  42. pulumi_gcp/compute/region_target_https_proxy.py +257 -0
  43. pulumi_gcp/compute/region_url_map.py +0 -470
  44. pulumi_gcp/compute/security_policy_rule.py +850 -0
  45. pulumi_gcp/container/attached_cluster.py +0 -12
  46. pulumi_gcp/container/aws_cluster.py +0 -12
  47. pulumi_gcp/container/aws_node_pool.py +0 -12
  48. pulumi_gcp/container/azure_cluster.py +0 -12
  49. pulumi_gcp/container/azure_node_pool.py +0 -12
  50. pulumi_gcp/container/cluster.py +0 -20
  51. pulumi_gcp/dataflow/flex_template_job.py +0 -39
  52. pulumi_gcp/dataloss/__init__.py +1 -0
  53. pulumi_gcp/dataloss/_inputs.py +1040 -0
  54. pulumi_gcp/dataloss/outputs.py +1123 -0
  55. pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
  56. pulumi_gcp/dataproc/cluster.py +0 -20
  57. pulumi_gcp/dataproc/workflow_template.py +21 -26
  58. pulumi_gcp/deploymentmanager/deployment.py +0 -34
  59. pulumi_gcp/dns/_inputs.py +2 -2
  60. pulumi_gcp/dns/outputs.py +2 -2
  61. pulumi_gcp/dns/record_set.py +2 -36
  62. pulumi_gcp/filestore/get_instance.py +11 -1
  63. pulumi_gcp/filestore/instance.py +101 -0
  64. pulumi_gcp/firebase/_inputs.py +16 -0
  65. pulumi_gcp/firebase/android_app.py +0 -27
  66. pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
  67. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
  68. pulumi_gcp/firebase/app_check_service_config.py +0 -125
  69. pulumi_gcp/firebase/apple_app.py +0 -27
  70. pulumi_gcp/firebase/hosting_custom_domain.py +0 -27
  71. pulumi_gcp/firebase/hosting_version.py +44 -0
  72. pulumi_gcp/firebase/outputs.py +12 -0
  73. pulumi_gcp/firebase/web_app.py +0 -20
  74. pulumi_gcp/firestore/database.py +0 -68
  75. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +0 -12
  76. pulumi_gcp/gkeonprem/bare_metal_cluster.py +0 -12
  77. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +0 -12
  78. pulumi_gcp/gkeonprem/v_mware_cluster.py +0 -12
  79. pulumi_gcp/gkeonprem/v_mware_node_pool.py +0 -12
  80. pulumi_gcp/logging/folder_sink.py +54 -0
  81. pulumi_gcp/logging/organization_sink.py +54 -0
  82. pulumi_gcp/monitoring/_inputs.py +46 -2
  83. pulumi_gcp/monitoring/outputs.py +40 -2
  84. pulumi_gcp/monitoring/uptime_check_config.py +6 -0
  85. pulumi_gcp/netapp/active_directory.py +0 -20
  86. pulumi_gcp/netapp/volume_replication.py +0 -68
  87. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  88. pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
  89. pulumi_gcp/provider.py +3 -1
  90. pulumi_gcp/secretmanager/get_secret.py +13 -3
  91. pulumi_gcp/secretmanager/outputs.py +20 -1
  92. pulumi_gcp/secretmanager/secret.py +90 -15
  93. pulumi_gcp/servicenetworking/connection.py +0 -20
  94. pulumi_gcp/spanner/database.py +0 -41
  95. pulumi_gcp/spanner/instance.py +0 -40
  96. pulumi_gcp/storage/__init__.py +1 -0
  97. pulumi_gcp/storage/bucket.py +0 -12
  98. pulumi_gcp/storage/get_bucket_objects.py +153 -0
  99. pulumi_gcp/storage/outputs.py +63 -0
  100. pulumi_gcp/workstations/workstation.py +0 -12
  101. pulumi_gcp/workstations/workstation_cluster.py +0 -12
  102. pulumi_gcp/workstations/workstation_config.py +0 -12
  103. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/METADATA +1 -1
  104. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/RECORD +106 -100
  105. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/WHEEL +0 -0
  106. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/provider.py CHANGED
@@ -2431,7 +2431,7 @@ class Provider(pulumi.ProviderResource):
2431
2431
 
2432
2432
  __props__.__dict__["access_approval_custom_endpoint"] = access_approval_custom_endpoint
2433
2433
  __props__.__dict__["access_context_manager_custom_endpoint"] = access_context_manager_custom_endpoint
2434
- __props__.__dict__["access_token"] = access_token
2434
+ __props__.__dict__["access_token"] = None if access_token is None else pulumi.Output.secret(access_token)
2435
2435
  __props__.__dict__["active_directory_custom_endpoint"] = active_directory_custom_endpoint
2436
2436
  __props__.__dict__["add_terraform_attribution_label"] = pulumi.Output.from_input(add_terraform_attribution_label).apply(pulumi.runtime.to_json) if add_terraform_attribution_label is not None else None
2437
2437
  __props__.__dict__["alloydb_custom_endpoint"] = alloydb_custom_endpoint
@@ -2603,6 +2603,8 @@ class Provider(pulumi.ProviderResource):
2603
2603
  if zone is None:
2604
2604
  zone = _utilities.get_env('GOOGLE_ZONE', 'GCLOUD_ZONE', 'CLOUDSDK_COMPUTE_ZONE')
2605
2605
  __props__.__dict__["zone"] = zone
2606
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken"])
2607
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
2606
2608
  super(Provider, __self__).__init__(
2607
2609
  'gcp',
2608
2610
  resource_name,
@@ -22,7 +22,7 @@ class GetSecretResult:
22
22
  """
23
23
  A collection of values returned by getSecret.
24
24
  """
25
- def __init__(__self__, annotations=None, create_time=None, effective_annotations=None, effective_labels=None, expire_time=None, id=None, labels=None, name=None, project=None, pulumi_labels=None, replications=None, rotations=None, secret_id=None, topics=None, ttl=None, version_aliases=None):
25
+ def __init__(__self__, annotations=None, create_time=None, effective_annotations=None, effective_labels=None, expire_time=None, id=None, labels=None, name=None, project=None, pulumi_labels=None, replications=None, rotations=None, secret_id=None, topics=None, ttl=None, version_aliases=None, version_destroy_ttl=None):
26
26
  if annotations and not isinstance(annotations, dict):
27
27
  raise TypeError("Expected argument 'annotations' to be a dict")
28
28
  pulumi.set(__self__, "annotations", annotations)
@@ -71,6 +71,9 @@ class GetSecretResult:
71
71
  if version_aliases and not isinstance(version_aliases, dict):
72
72
  raise TypeError("Expected argument 'version_aliases' to be a dict")
73
73
  pulumi.set(__self__, "version_aliases", version_aliases)
74
+ if version_destroy_ttl and not isinstance(version_destroy_ttl, str):
75
+ raise TypeError("Expected argument 'version_destroy_ttl' to be a str")
76
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
74
77
 
75
78
  @property
76
79
  @pulumi.getter
@@ -155,6 +158,11 @@ class GetSecretResult:
155
158
  def version_aliases(self) -> Mapping[str, str]:
156
159
  return pulumi.get(self, "version_aliases")
157
160
 
161
+ @property
162
+ @pulumi.getter(name="versionDestroyTtl")
163
+ def version_destroy_ttl(self) -> str:
164
+ return pulumi.get(self, "version_destroy_ttl")
165
+
158
166
 
159
167
  class AwaitableGetSecretResult(GetSecretResult):
160
168
  # pylint: disable=using-constant-test
@@ -177,7 +185,8 @@ class AwaitableGetSecretResult(GetSecretResult):
177
185
  secret_id=self.secret_id,
178
186
  topics=self.topics,
179
187
  ttl=self.ttl,
180
- version_aliases=self.version_aliases)
188
+ version_aliases=self.version_aliases,
189
+ version_destroy_ttl=self.version_destroy_ttl)
181
190
 
182
191
 
183
192
  def get_secret(project: Optional[str] = None,
@@ -221,7 +230,8 @@ def get_secret(project: Optional[str] = None,
221
230
  secret_id=pulumi.get(__ret__, 'secret_id'),
222
231
  topics=pulumi.get(__ret__, 'topics'),
223
232
  ttl=pulumi.get(__ret__, 'ttl'),
224
- version_aliases=pulumi.get(__ret__, 'version_aliases'))
233
+ version_aliases=pulumi.get(__ret__, 'version_aliases'),
234
+ version_destroy_ttl=pulumi.get(__ret__, 'version_destroy_ttl'))
225
235
 
226
236
 
227
237
  @_utilities.lift_output_func(get_secret)
@@ -613,7 +613,8 @@ class GetSecretsSecretResult(dict):
613
613
  secret_id: str,
614
614
  topics: Sequence['outputs.GetSecretsSecretTopicResult'],
615
615
  ttl: str,
616
- version_aliases: Mapping[str, str]):
616
+ version_aliases: Mapping[str, str],
617
+ version_destroy_ttl: str):
617
618
  """
618
619
  :param Mapping[str, str] annotations: Custom metadata about the secret.
619
620
  :param str create_time: The time at which the Secret was created.
@@ -634,6 +635,11 @@ class GetSecretsSecretResult(dict):
634
635
  A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
635
636
  Only one of 'ttl' or 'expire_time' can be provided.
636
637
  :param Mapping[str, str] version_aliases: Mapping from version alias to version name.
638
+ :param str version_destroy_ttl: Secret Version TTL after destruction request.
639
+ This is a part of the delayed delete feature on Secret Version.
640
+ For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
641
+ on calling destroy instead the version goes to a disabled state and
642
+ the actual destruction happens after this TTL expires.
637
643
  """
638
644
  pulumi.set(__self__, "annotations", annotations)
639
645
  pulumi.set(__self__, "create_time", create_time)
@@ -650,6 +656,7 @@ class GetSecretsSecretResult(dict):
650
656
  pulumi.set(__self__, "topics", topics)
651
657
  pulumi.set(__self__, "ttl", ttl)
652
658
  pulumi.set(__self__, "version_aliases", version_aliases)
659
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
653
660
 
654
661
  @property
655
662
  @pulumi.getter
@@ -771,6 +778,18 @@ class GetSecretsSecretResult(dict):
771
778
  """
772
779
  return pulumi.get(self, "version_aliases")
773
780
 
781
+ @property
782
+ @pulumi.getter(name="versionDestroyTtl")
783
+ def version_destroy_ttl(self) -> str:
784
+ """
785
+ Secret Version TTL after destruction request.
786
+ This is a part of the delayed delete feature on Secret Version.
787
+ For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
788
+ on calling destroy instead the version goes to a disabled state and
789
+ the actual destruction happens after this TTL expires.
790
+ """
791
+ return pulumi.get(self, "version_destroy_ttl")
792
+
774
793
 
775
794
  @pulumi.output_type
776
795
  class GetSecretsSecretReplicationResult(dict):
@@ -25,7 +25,8 @@ class SecretArgs:
25
25
  rotation: Optional[pulumi.Input['SecretRotationArgs']] = None,
26
26
  topics: Optional[pulumi.Input[Sequence[pulumi.Input['SecretTopicArgs']]]] = None,
27
27
  ttl: Optional[pulumi.Input[str]] = None,
28
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
28
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None):
29
30
  """
30
31
  The set of arguments for constructing a Secret resource.
31
32
  :param pulumi.Input['SecretReplicationArgs'] replication: The replication policy of the secret data attached to the Secret. It cannot be changed
@@ -61,6 +62,9 @@ class SecretArgs:
61
62
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
62
63
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
63
64
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
65
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
66
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
67
+ a disabled state and the actual destruction happens after this TTL expires.
64
68
  """
65
69
  pulumi.set(__self__, "replication", replication)
66
70
  pulumi.set(__self__, "secret_id", secret_id)
@@ -80,6 +84,8 @@ class SecretArgs:
80
84
  pulumi.set(__self__, "ttl", ttl)
81
85
  if version_aliases is not None:
82
86
  pulumi.set(__self__, "version_aliases", version_aliases)
87
+ if version_destroy_ttl is not None:
88
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
83
89
 
84
90
  @property
85
91
  @pulumi.getter
@@ -222,6 +228,20 @@ class SecretArgs:
222
228
  def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
223
229
  pulumi.set(self, "version_aliases", value)
224
230
 
231
+ @property
232
+ @pulumi.getter(name="versionDestroyTtl")
233
+ def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
234
+ """
235
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
236
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
237
+ a disabled state and the actual destruction happens after this TTL expires.
238
+ """
239
+ return pulumi.get(self, "version_destroy_ttl")
240
+
241
+ @version_destroy_ttl.setter
242
+ def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "version_destroy_ttl", value)
244
+
225
245
 
226
246
  @pulumi.input_type
227
247
  class _SecretState:
@@ -240,7 +260,8 @@ class _SecretState:
240
260
  secret_id: Optional[pulumi.Input[str]] = None,
241
261
  topics: Optional[pulumi.Input[Sequence[pulumi.Input['SecretTopicArgs']]]] = None,
242
262
  ttl: Optional[pulumi.Input[str]] = None,
243
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
263
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
264
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None):
244
265
  """
245
266
  Input properties used for looking up and filtering Secret resources.
246
267
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow
@@ -252,8 +273,6 @@ class _SecretState:
252
273
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
253
274
  present on the resource.
254
275
  :param pulumi.Input[str] create_time: The time at which the Secret was created.
255
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_annotations: All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
256
- Terraform, other clients and services.
257
276
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
258
277
  :param pulumi.Input[str] expire_time: Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent
259
278
  on input. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
@@ -284,6 +303,9 @@ class _SecretState:
284
303
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
285
304
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
286
305
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
306
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
307
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
308
+ a disabled state and the actual destruction happens after this TTL expires.
287
309
  """
288
310
  if annotations is not None:
289
311
  pulumi.set(__self__, "annotations", annotations)
@@ -315,6 +337,8 @@ class _SecretState:
315
337
  pulumi.set(__self__, "ttl", ttl)
316
338
  if version_aliases is not None:
317
339
  pulumi.set(__self__, "version_aliases", version_aliases)
340
+ if version_destroy_ttl is not None:
341
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
318
342
 
319
343
  @property
320
344
  @pulumi.getter
@@ -350,10 +374,6 @@ class _SecretState:
350
374
  @property
351
375
  @pulumi.getter(name="effectiveAnnotations")
352
376
  def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
353
- """
354
- All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
355
- Terraform, other clients and services.
356
- """
357
377
  return pulumi.get(self, "effective_annotations")
358
378
 
359
379
  @effective_annotations.setter
@@ -520,6 +540,20 @@ class _SecretState:
520
540
  def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
521
541
  pulumi.set(self, "version_aliases", value)
522
542
 
543
+ @property
544
+ @pulumi.getter(name="versionDestroyTtl")
545
+ def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
546
+ """
547
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
548
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
549
+ a disabled state and the actual destruction happens after this TTL expires.
550
+ """
551
+ return pulumi.get(self, "version_destroy_ttl")
552
+
553
+ @version_destroy_ttl.setter
554
+ def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
555
+ pulumi.set(self, "version_destroy_ttl", value)
556
+
523
557
 
524
558
  class Secret(pulumi.CustomResource):
525
559
  @overload
@@ -536,6 +570,7 @@ class Secret(pulumi.CustomResource):
536
570
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
537
571
  ttl: Optional[pulumi.Input[str]] = None,
538
572
  version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
573
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None,
539
574
  __props__=None):
540
575
  """
541
576
  A Secret is a logical secret whose value and versions can be accessed.
@@ -592,6 +627,19 @@ class Secret(pulumi.CustomResource):
592
627
  auto=gcp.secretmanager.SecretReplicationAutoArgs(),
593
628
  ))
594
629
  ```
630
+ ### Secret With Version Destroy Ttl
631
+
632
+ ```python
633
+ import pulumi
634
+ import pulumi_gcp as gcp
635
+
636
+ secret_with_version_destroy_ttl = gcp.secretmanager.Secret("secret-with-version-destroy-ttl",
637
+ secret_id="secret",
638
+ version_destroy_ttl="2592000s",
639
+ replication=gcp.secretmanager.SecretReplicationArgs(
640
+ auto=gcp.secretmanager.SecretReplicationAutoArgs(),
641
+ ))
642
+ ```
595
643
  ### Secret With Automatic Cmek
596
644
 
597
645
  ```python
@@ -673,6 +721,9 @@ class Secret(pulumi.CustomResource):
673
721
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
674
722
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
675
723
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
724
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
725
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
726
+ a disabled state and the actual destruction happens after this TTL expires.
676
727
  """
677
728
  ...
678
729
  @overload
@@ -735,6 +786,19 @@ class Secret(pulumi.CustomResource):
735
786
  auto=gcp.secretmanager.SecretReplicationAutoArgs(),
736
787
  ))
737
788
  ```
789
+ ### Secret With Version Destroy Ttl
790
+
791
+ ```python
792
+ import pulumi
793
+ import pulumi_gcp as gcp
794
+
795
+ secret_with_version_destroy_ttl = gcp.secretmanager.Secret("secret-with-version-destroy-ttl",
796
+ secret_id="secret",
797
+ version_destroy_ttl="2592000s",
798
+ replication=gcp.secretmanager.SecretReplicationArgs(
799
+ auto=gcp.secretmanager.SecretReplicationAutoArgs(),
800
+ ))
801
+ ```
738
802
  ### Secret With Automatic Cmek
739
803
 
740
804
  ```python
@@ -806,6 +870,7 @@ class Secret(pulumi.CustomResource):
806
870
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
807
871
  ttl: Optional[pulumi.Input[str]] = None,
808
872
  version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
873
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None,
809
874
  __props__=None):
810
875
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
811
876
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -829,6 +894,7 @@ class Secret(pulumi.CustomResource):
829
894
  __props__.__dict__["topics"] = topics
830
895
  __props__.__dict__["ttl"] = ttl
831
896
  __props__.__dict__["version_aliases"] = version_aliases
897
+ __props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
832
898
  __props__.__dict__["create_time"] = None
833
899
  __props__.__dict__["effective_annotations"] = None
834
900
  __props__.__dict__["effective_labels"] = None
@@ -860,7 +926,8 @@ class Secret(pulumi.CustomResource):
860
926
  secret_id: Optional[pulumi.Input[str]] = None,
861
927
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
862
928
  ttl: Optional[pulumi.Input[str]] = None,
863
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Secret':
929
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
930
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None) -> 'Secret':
864
931
  """
865
932
  Get an existing Secret resource's state with the given name, id, and optional extra
866
933
  properties used to qualify the lookup.
@@ -877,8 +944,6 @@ class Secret(pulumi.CustomResource):
877
944
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
878
945
  present on the resource.
879
946
  :param pulumi.Input[str] create_time: The time at which the Secret was created.
880
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_annotations: All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
881
- Terraform, other clients and services.
882
947
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
883
948
  :param pulumi.Input[str] expire_time: Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent
884
949
  on input. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
@@ -909,6 +974,9 @@ class Secret(pulumi.CustomResource):
909
974
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
910
975
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
911
976
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
977
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
978
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
979
+ a disabled state and the actual destruction happens after this TTL expires.
912
980
  """
913
981
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
914
982
 
@@ -929,6 +997,7 @@ class Secret(pulumi.CustomResource):
929
997
  __props__.__dict__["topics"] = topics
930
998
  __props__.__dict__["ttl"] = ttl
931
999
  __props__.__dict__["version_aliases"] = version_aliases
1000
+ __props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
932
1001
  return Secret(resource_name, opts=opts, __props__=__props__)
933
1002
 
934
1003
  @property
@@ -957,10 +1026,6 @@ class Secret(pulumi.CustomResource):
957
1026
  @property
958
1027
  @pulumi.getter(name="effectiveAnnotations")
959
1028
  def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
960
- """
961
- All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
962
- Terraform, other clients and services.
963
- """
964
1029
  return pulumi.get(self, "effective_annotations")
965
1030
 
966
1031
  @property
@@ -1075,3 +1140,13 @@ class Secret(pulumi.CustomResource):
1075
1140
  """
1076
1141
  return pulumi.get(self, "version_aliases")
1077
1142
 
1143
+ @property
1144
+ @pulumi.getter(name="versionDestroyTtl")
1145
+ def version_destroy_ttl(self) -> pulumi.Output[Optional[str]]:
1146
+ """
1147
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
1148
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
1149
+ a disabled state and the actual destruction happens after this TTL expires.
1150
+ """
1151
+ return pulumi.get(self, "version_destroy_ttl")
1152
+
@@ -27,8 +27,6 @@ class ConnectionArgs:
27
27
  :param pulumi.Input[str] service: Provider peering service that is managing peering connectivity for a
28
28
  service provider organization. For Google services that support this functionality it is
29
29
  'servicenetworking.googleapis.com'.
30
- :param pulumi.Input[str] deletion_policy: When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
31
- failures with CloudSQL. Note: The resource will still exist.
32
30
  """
33
31
  pulumi.set(__self__, "network", network)
34
32
  pulumi.set(__self__, "reserved_peering_ranges", reserved_peering_ranges)
@@ -79,10 +77,6 @@ class ConnectionArgs:
79
77
  @property
80
78
  @pulumi.getter(name="deletionPolicy")
81
79
  def deletion_policy(self) -> Optional[pulumi.Input[str]]:
82
- """
83
- When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
84
- failures with CloudSQL. Note: The resource will still exist.
85
- """
86
80
  return pulumi.get(self, "deletion_policy")
87
81
 
88
82
  @deletion_policy.setter
@@ -100,8 +94,6 @@ class _ConnectionState:
100
94
  service: Optional[pulumi.Input[str]] = None):
101
95
  """
102
96
  Input properties used for looking up and filtering Connection resources.
103
- :param pulumi.Input[str] deletion_policy: When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
104
- failures with CloudSQL. Note: The resource will still exist.
105
97
  :param pulumi.Input[str] network: Name of VPC network connected with service producers using VPC peering.
106
98
  :param pulumi.Input[str] peering: (Computed) The name of the VPC Network Peering connection that was created by the service producer.
107
99
  :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_peering_ranges: Named IP address range(s) of PEERING type reserved for
@@ -125,10 +117,6 @@ class _ConnectionState:
125
117
  @property
126
118
  @pulumi.getter(name="deletionPolicy")
127
119
  def deletion_policy(self) -> Optional[pulumi.Input[str]]:
128
- """
129
- When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
130
- failures with CloudSQL. Note: The resource will still exist.
131
- """
132
120
  return pulumi.get(self, "deletion_policy")
133
121
 
134
122
  @deletion_policy.setter
@@ -252,8 +240,6 @@ class Connection(pulumi.CustomResource):
252
240
 
253
241
  :param str resource_name: The name of the resource.
254
242
  :param pulumi.ResourceOptions opts: Options for the resource.
255
- :param pulumi.Input[str] deletion_policy: When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
256
- failures with CloudSQL. Note: The resource will still exist.
257
243
  :param pulumi.Input[str] network: Name of VPC network connected with service producers using VPC peering.
258
244
  :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_peering_ranges: Named IP address range(s) of PEERING type reserved for
259
245
  this service provider. Note that invoking this method with a different range when connection
@@ -381,8 +367,6 @@ class Connection(pulumi.CustomResource):
381
367
  :param str resource_name: The unique name of the resulting resource.
382
368
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
383
369
  :param pulumi.ResourceOptions opts: Options for the resource.
384
- :param pulumi.Input[str] deletion_policy: When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
385
- failures with CloudSQL. Note: The resource will still exist.
386
370
  :param pulumi.Input[str] network: Name of VPC network connected with service producers using VPC peering.
387
371
  :param pulumi.Input[str] peering: (Computed) The name of the VPC Network Peering connection that was created by the service producer.
388
372
  :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_peering_ranges: Named IP address range(s) of PEERING type reserved for
@@ -406,10 +390,6 @@ class Connection(pulumi.CustomResource):
406
390
  @property
407
391
  @pulumi.getter(name="deletionPolicy")
408
392
  def deletion_policy(self) -> pulumi.Output[Optional[str]]:
409
- """
410
- When set to ABANDON, terraform will abandon management of the resource instead of deleting it. Prevents terraform apply
411
- failures with CloudSQL. Note: The resource will still exist.
412
- """
413
393
  return pulumi.get(self, "deletion_policy")
414
394
 
415
395
  @property
@@ -40,11 +40,6 @@ class DatabaseArgs:
40
40
  error in any statement, the database is not created.
41
41
  :param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
42
42
  in state, a `destroy` or `update` that would delete the instance will fail.
43
- :param pulumi.Input[bool] enable_drop_protection: Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
44
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
45
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
46
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
47
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
48
43
  :param pulumi.Input['DatabaseEncryptionConfigArgs'] encryption_config: Encryption configuration for the database
49
44
  Structure is documented below.
50
45
  :param pulumi.Input[str] name: A unique identifier for the database, which cannot be changed after
@@ -135,13 +130,6 @@ class DatabaseArgs:
135
130
  @property
136
131
  @pulumi.getter(name="enableDropProtection")
137
132
  def enable_drop_protection(self) -> Optional[pulumi.Input[bool]]:
138
- """
139
- Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
140
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
141
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
142
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
143
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
144
- """
145
133
  return pulumi.get(self, "enable_drop_protection")
146
134
 
147
135
  @enable_drop_protection.setter
@@ -228,11 +216,6 @@ class _DatabaseState:
228
216
  error in any statement, the database is not created.
229
217
  :param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
230
218
  in state, a `destroy` or `update` that would delete the instance will fail.
231
- :param pulumi.Input[bool] enable_drop_protection: Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
232
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
233
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
234
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
235
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
236
219
  :param pulumi.Input['DatabaseEncryptionConfigArgs'] encryption_config: Encryption configuration for the database
237
220
  Structure is documented below.
238
221
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -316,13 +299,6 @@ class _DatabaseState:
316
299
  @property
317
300
  @pulumi.getter(name="enableDropProtection")
318
301
  def enable_drop_protection(self) -> Optional[pulumi.Input[bool]]:
319
- """
320
- Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
321
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
322
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
323
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
324
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
325
- """
326
302
  return pulumi.get(self, "enable_drop_protection")
327
303
 
328
304
  @enable_drop_protection.setter
@@ -506,11 +482,6 @@ class Database(pulumi.CustomResource):
506
482
  error in any statement, the database is not created.
507
483
  :param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
508
484
  in state, a `destroy` or `update` that would delete the instance will fail.
509
- :param pulumi.Input[bool] enable_drop_protection: Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
510
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
511
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
512
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
513
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
514
485
  :param pulumi.Input[pulumi.InputType['DatabaseEncryptionConfigArgs']] encryption_config: Encryption configuration for the database
515
486
  Structure is documented below.
516
487
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -682,11 +653,6 @@ class Database(pulumi.CustomResource):
682
653
  error in any statement, the database is not created.
683
654
  :param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
684
655
  in state, a `destroy` or `update` that would delete the instance will fail.
685
- :param pulumi.Input[bool] enable_drop_protection: Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
686
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
687
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
688
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
689
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
690
656
  :param pulumi.Input[pulumi.InputType['DatabaseEncryptionConfigArgs']] encryption_config: Encryption configuration for the database
691
657
  Structure is documented below.
692
658
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -753,13 +719,6 @@ class Database(pulumi.CustomResource):
753
719
  @property
754
720
  @pulumi.getter(name="enableDropProtection")
755
721
  def enable_drop_protection(self) -> pulumi.Output[Optional[bool]]:
756
- """
757
- Whether drop protection is enabled for this database. Defaults to false. Drop protection is different from the
758
- "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from
759
- deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all
760
- interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the
761
- database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance.
762
- """
763
722
  return pulumi.get(self, "enable_drop_protection")
764
723
 
765
724
  @property
@@ -55,10 +55,6 @@ class InstanceArgs:
55
55
  in length.
56
56
 
57
57
  If not provided, a random string starting with `tf-` will be selected.
58
- :param pulumi.Input[int] num_nodes: The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
59
- terraform.
60
- :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
61
- in terraform.
62
58
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
63
59
  If it is not provided, the provider project is used.
64
60
  """
@@ -176,10 +172,6 @@ class InstanceArgs:
176
172
  @property
177
173
  @pulumi.getter(name="numNodes")
178
174
  def num_nodes(self) -> Optional[pulumi.Input[int]]:
179
- """
180
- The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
181
- terraform.
182
- """
183
175
  return pulumi.get(self, "num_nodes")
184
176
 
185
177
  @num_nodes.setter
@@ -189,10 +181,6 @@ class InstanceArgs:
189
181
  @property
190
182
  @pulumi.getter(name="processingUnits")
191
183
  def processing_units(self) -> Optional[pulumi.Input[int]]:
192
- """
193
- The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
194
- in terraform.
195
- """
196
184
  return pulumi.get(self, "processing_units")
197
185
 
198
186
  @processing_units.setter
@@ -259,10 +247,6 @@ class _InstanceState:
259
247
  in length.
260
248
 
261
249
  If not provided, a random string starting with `tf-` will be selected.
262
- :param pulumi.Input[int] num_nodes: The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
263
- terraform.
264
- :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
265
- in terraform.
266
250
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
267
251
  If it is not provided, the provider project is used.
268
252
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -403,10 +387,6 @@ class _InstanceState:
403
387
  @property
404
388
  @pulumi.getter(name="numNodes")
405
389
  def num_nodes(self) -> Optional[pulumi.Input[int]]:
406
- """
407
- The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
408
- terraform.
409
- """
410
390
  return pulumi.get(self, "num_nodes")
411
391
 
412
392
  @num_nodes.setter
@@ -416,10 +396,6 @@ class _InstanceState:
416
396
  @property
417
397
  @pulumi.getter(name="processingUnits")
418
398
  def processing_units(self) -> Optional[pulumi.Input[int]]:
419
- """
420
- The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
421
- in terraform.
422
- """
423
399
  return pulumi.get(self, "processing_units")
424
400
 
425
401
  @processing_units.setter
@@ -612,10 +588,6 @@ class Instance(pulumi.CustomResource):
612
588
  in length.
613
589
 
614
590
  If not provided, a random string starting with `tf-` will be selected.
615
- :param pulumi.Input[int] num_nodes: The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
616
- terraform.
617
- :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
618
- in terraform.
619
591
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
620
592
  If it is not provided, the provider project is used.
621
593
  """
@@ -836,10 +808,6 @@ class Instance(pulumi.CustomResource):
836
808
  in length.
837
809
 
838
810
  If not provided, a random string starting with `tf-` will be selected.
839
- :param pulumi.Input[int] num_nodes: The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
840
- terraform.
841
- :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
842
- in terraform.
843
811
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
844
812
  If it is not provided, the provider project is used.
845
813
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -945,19 +913,11 @@ class Instance(pulumi.CustomResource):
945
913
  @property
946
914
  @pulumi.getter(name="numNodes")
947
915
  def num_nodes(self) -> pulumi.Output[int]:
948
- """
949
- The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in
950
- terraform.
951
- """
952
916
  return pulumi.get(self, "num_nodes")
953
917
 
954
918
  @property
955
919
  @pulumi.getter(name="processingUnits")
956
920
  def processing_units(self) -> pulumi.Output[int]:
957
- """
958
- The number of processing units allocated to this instance. Exactly one of processing_units or node_count must be present
959
- in terraform.
960
- """
961
921
  return pulumi.get(self, "processing_units")
962
922
 
963
923
  @property
@@ -18,6 +18,7 @@ from .get_bucket import *
18
18
  from .get_bucket_iam_policy import *
19
19
  from .get_bucket_object import *
20
20
  from .get_bucket_object_content import *
21
+ from .get_bucket_objects import *
21
22
  from .get_object_signed_url import *
22
23
  from .get_project_service_account import *
23
24
  from .get_transfer_project_service_account import *