pulumi-gcp 7.16.0a1711520590__py3-none-any.whl → 7.17.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 (113) hide show
  1. pulumi_gcp/__init__.py +35 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  7. pulumi_gcp/apphub/__init__.py +1 -0
  8. pulumi_gcp/apphub/get_application.py +220 -0
  9. pulumi_gcp/apphub/outputs.py +214 -0
  10. pulumi_gcp/applicationintegration/__init__.py +10 -0
  11. pulumi_gcp/applicationintegration/_inputs.py +119 -0
  12. pulumi_gcp/applicationintegration/client.py +566 -0
  13. pulumi_gcp/applicationintegration/outputs.py +122 -0
  14. pulumi_gcp/bigquery/_inputs.py +16 -0
  15. pulumi_gcp/bigquery/outputs.py +14 -0
  16. pulumi_gcp/bigquery/routine.py +98 -0
  17. pulumi_gcp/bigtable/_inputs.py +4 -4
  18. pulumi_gcp/bigtable/gc_policy.py +8 -0
  19. pulumi_gcp/bigtable/outputs.py +4 -4
  20. pulumi_gcp/billing/_inputs.py +4 -4
  21. pulumi_gcp/billing/outputs.py +4 -4
  22. pulumi_gcp/billing/project_info.py +4 -4
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +2 -2
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +4 -4
  25. pulumi_gcp/cloudquota/__init__.py +3 -0
  26. pulumi_gcp/cloudquota/_inputs.py +131 -0
  27. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  28. pulumi_gcp/cloudquota/outputs.py +388 -0
  29. pulumi_gcp/cloudquota/s_quota_preference.py +777 -0
  30. pulumi_gcp/cloudrunv2/_inputs.py +59 -2
  31. pulumi_gcp/cloudrunv2/outputs.py +107 -4
  32. pulumi_gcp/cloudrunv2/service.py +13 -13
  33. pulumi_gcp/composer/_inputs.py +30 -4
  34. pulumi_gcp/composer/outputs.py +45 -10
  35. pulumi_gcp/compute/_inputs.py +145 -51
  36. pulumi_gcp/compute/autoscaler.py +14 -14
  37. pulumi_gcp/compute/interconnect_attachment.py +64 -0
  38. pulumi_gcp/compute/network_endpoint.py +8 -0
  39. pulumi_gcp/compute/network_endpoint_list.py +8 -0
  40. pulumi_gcp/compute/outputs.py +202 -69
  41. pulumi_gcp/compute/region_autoscaler.py +14 -14
  42. pulumi_gcp/compute/region_backend_service.py +28 -0
  43. pulumi_gcp/compute/region_url_map.py +152 -0
  44. pulumi_gcp/compute/target_instance.py +4 -4
  45. pulumi_gcp/config/__init__.pyi +2 -0
  46. pulumi_gcp/config/vars.py +4 -0
  47. pulumi_gcp/container/_inputs.py +148 -16
  48. pulumi_gcp/container/outputs.py +148 -16
  49. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  50. pulumi_gcp/dataflow/flex_template_job.py +84 -112
  51. pulumi_gcp/dataform/repository.py +4 -74
  52. pulumi_gcp/dataloss/_inputs.py +6 -6
  53. pulumi_gcp/dataloss/outputs.py +6 -6
  54. pulumi_gcp/dataplex/task.py +16 -16
  55. pulumi_gcp/dataproc/_inputs.py +85 -10
  56. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  57. pulumi_gcp/dataproc/metastore_service.py +120 -0
  58. pulumi_gcp/dataproc/outputs.py +142 -10
  59. pulumi_gcp/firebase/android_app.py +41 -40
  60. pulumi_gcp/firebase/app_check_service_config.py +2 -2
  61. pulumi_gcp/firestore/backup_schedule.py +14 -14
  62. pulumi_gcp/firestore/field.py +4 -4
  63. pulumi_gcp/firestore/index.py +34 -48
  64. pulumi_gcp/gkehub/membership_binding.py +6 -6
  65. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  66. pulumi_gcp/gkehub/namespace.py +4 -4
  67. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  68. pulumi_gcp/iam/_inputs.py +76 -0
  69. pulumi_gcp/iam/outputs.py +76 -0
  70. pulumi_gcp/iam/workforce_pool_provider.py +35 -0
  71. pulumi_gcp/iam/workload_identity_pool_provider.py +140 -0
  72. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  73. pulumi_gcp/kms/_inputs.py +46 -0
  74. pulumi_gcp/kms/crypto_key.py +54 -0
  75. pulumi_gcp/kms/crypto_key_version.py +54 -0
  76. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  77. pulumi_gcp/kms/outputs.py +54 -0
  78. pulumi_gcp/logging/_inputs.py +8 -8
  79. pulumi_gcp/logging/metric.py +7 -7
  80. pulumi_gcp/logging/outputs.py +8 -8
  81. pulumi_gcp/monitoring/_inputs.py +4 -2
  82. pulumi_gcp/monitoring/outputs.py +4 -2
  83. pulumi_gcp/monitoring/slo.py +4 -4
  84. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  85. pulumi_gcp/networkservices/_inputs.py +6 -6
  86. pulumi_gcp/networkservices/outputs.py +6 -6
  87. pulumi_gcp/orgpolicy/policy.py +2 -2
  88. pulumi_gcp/provider.py +20 -0
  89. pulumi_gcp/pubsub/_inputs.py +108 -0
  90. pulumi_gcp/pubsub/get_topic.py +11 -1
  91. pulumi_gcp/pubsub/outputs.py +213 -0
  92. pulumi_gcp/pubsub/subscription.py +4 -4
  93. pulumi_gcp/pubsub/topic.py +92 -0
  94. pulumi_gcp/serviceusage/consumer_quota_override.py +7 -7
  95. pulumi_gcp/sql/_inputs.py +20 -2
  96. pulumi_gcp/sql/database_instance.py +2 -2
  97. pulumi_gcp/sql/outputs.py +20 -2
  98. pulumi_gcp/storage/_inputs.py +42 -2
  99. pulumi_gcp/storage/bucket.py +54 -0
  100. pulumi_gcp/storage/get_bucket.py +11 -1
  101. pulumi_gcp/storage/outputs.py +83 -2
  102. pulumi_gcp/vertex/__init__.py +1 -0
  103. pulumi_gcp/vertex/_inputs.py +175 -8
  104. pulumi_gcp/vertex/ai_deployment_resource_pool.py +477 -0
  105. pulumi_gcp/vertex/outputs.py +202 -10
  106. pulumi_gcp/vpcaccess/connector.py +77 -28
  107. pulumi_gcp/workstations/_inputs.py +113 -0
  108. pulumi_gcp/workstations/outputs.py +109 -1
  109. pulumi_gcp/workstations/workstation_config.py +106 -0
  110. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/METADATA +1 -1
  111. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/RECORD +113 -103
  112. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/WHEEL +0 -0
  113. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/sql/outputs.py CHANGED
@@ -203,6 +203,12 @@ class DatabaseInstanceIpAddress(dict):
203
203
  ip_address: Optional[str] = None,
204
204
  time_to_retire: Optional[str] = None,
205
205
  type: Optional[str] = None):
206
+ """
207
+ :param str ip_address: The IPv4 address assigned.
208
+ :param str time_to_retire: The time this IP address will be retired, in RFC
209
+ 3339 format.
210
+ :param str type: The type of this IP address.
211
+ """
206
212
  if ip_address is not None:
207
213
  pulumi.set(__self__, "ip_address", ip_address)
208
214
  if time_to_retire is not None:
@@ -213,16 +219,26 @@ class DatabaseInstanceIpAddress(dict):
213
219
  @property
214
220
  @pulumi.getter(name="ipAddress")
215
221
  def ip_address(self) -> Optional[str]:
222
+ """
223
+ The IPv4 address assigned.
224
+ """
216
225
  return pulumi.get(self, "ip_address")
217
226
 
218
227
  @property
219
228
  @pulumi.getter(name="timeToRetire")
220
229
  def time_to_retire(self) -> Optional[str]:
230
+ """
231
+ The time this IP address will be retired, in RFC
232
+ 3339 format.
233
+ """
221
234
  return pulumi.get(self, "time_to_retire")
222
235
 
223
236
  @property
224
237
  @pulumi.getter
225
238
  def type(self) -> Optional[str]:
239
+ """
240
+ The type of this IP address.
241
+ """
226
242
  return pulumi.get(self, "type")
227
243
 
228
244
 
@@ -692,7 +708,8 @@ class DatabaseInstanceSettings(dict):
692
708
  :param str pricing_plan: Pricing plan for this instance, can only be `PER_USE`.
693
709
  :param str time_zone: The time_zone to be used by the database engine (supported only for SQL Server), in SQL Server timezone format.
694
710
  :param Mapping[str, str] user_labels: A set of key/value user label pairs to assign to the instance.
695
- :param int version: Used to make sure changes to the settings block are atomic.
711
+ :param int version: Used to make sure changes to the `settings` block are
712
+ atomic.
696
713
  """
697
714
  pulumi.set(__self__, "tier", tier)
698
715
  if activation_policy is not None:
@@ -941,7 +958,8 @@ class DatabaseInstanceSettings(dict):
941
958
  @pulumi.getter
942
959
  def version(self) -> Optional[int]:
943
960
  """
944
- Used to make sure changes to the settings block are atomic.
961
+ Used to make sure changes to the `settings` block are
962
+ atomic.
945
963
  """
946
964
  return pulumi.get(self, "version")
947
965
 
@@ -23,6 +23,7 @@ __all__ = [
23
23
  'BucketObjectCustomerEncryptionArgs',
24
24
  'BucketObjectRetentionArgs',
25
25
  'BucketRetentionPolicyArgs',
26
+ 'BucketSoftDeletePolicyArgs',
26
27
  'BucketVersioningArgs',
27
28
  'BucketWebsiteArgs',
28
29
  'DefaultObjectAccessControlProjectTeamArgs',
@@ -787,6 +788,45 @@ class BucketRetentionPolicyArgs:
787
788
  pulumi.set(self, "is_locked", value)
788
789
 
789
790
 
791
+ @pulumi.input_type
792
+ class BucketSoftDeletePolicyArgs:
793
+ def __init__(__self__, *,
794
+ effective_time: Optional[pulumi.Input[str]] = None,
795
+ retention_duration_seconds: Optional[pulumi.Input[int]] = None):
796
+ """
797
+ :param pulumi.Input[str] effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
798
+ :param pulumi.Input[int] retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
799
+ """
800
+ if effective_time is not None:
801
+ pulumi.set(__self__, "effective_time", effective_time)
802
+ if retention_duration_seconds is not None:
803
+ pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
804
+
805
+ @property
806
+ @pulumi.getter(name="effectiveTime")
807
+ def effective_time(self) -> Optional[pulumi.Input[str]]:
808
+ """
809
+ Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
810
+ """
811
+ return pulumi.get(self, "effective_time")
812
+
813
+ @effective_time.setter
814
+ def effective_time(self, value: Optional[pulumi.Input[str]]):
815
+ pulumi.set(self, "effective_time", value)
816
+
817
+ @property
818
+ @pulumi.getter(name="retentionDurationSeconds")
819
+ def retention_duration_seconds(self) -> Optional[pulumi.Input[int]]:
820
+ """
821
+ The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
822
+ """
823
+ return pulumi.get(self, "retention_duration_seconds")
824
+
825
+ @retention_duration_seconds.setter
826
+ def retention_duration_seconds(self, value: Optional[pulumi.Input[int]]):
827
+ pulumi.set(self, "retention_duration_seconds", value)
828
+
829
+
790
830
  @pulumi.input_type
791
831
  class BucketVersioningArgs:
792
832
  def __init__(__self__, *,
@@ -1953,7 +1993,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
1953
1993
  :param pulumi.Input[str] container: The container to transfer from the Azure Storage account.`
1954
1994
  :param pulumi.Input[str] storage_account: The name of the Azure Storage account.
1955
1995
  :param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'] azure_credentials: Credentials used to authenticate API requests to Azure block.
1956
- :param pulumi.Input[str] credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
1996
+ :param pulumi.Input[str] credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
1957
1997
  :param pulumi.Input[str] path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
1958
1998
  """
1959
1999
  pulumi.set(__self__, "container", container)
@@ -2005,7 +2045,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
2005
2045
  @pulumi.getter(name="credentialsSecret")
2006
2046
  def credentials_secret(self) -> Optional[pulumi.Input[str]]:
2007
2047
  """
2008
- Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2048
+ Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2009
2049
  """
2010
2050
  return pulumi.get(self, "credentials_secret")
2011
2051
 
@@ -33,6 +33,7 @@ class BucketArgs:
33
33
  requester_pays: Optional[pulumi.Input[bool]] = None,
34
34
  retention_policy: Optional[pulumi.Input['BucketRetentionPolicyArgs']] = None,
35
35
  rpo: Optional[pulumi.Input[str]] = None,
36
+ soft_delete_policy: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']] = None,
36
37
  storage_class: Optional[pulumi.Input[str]] = None,
37
38
  uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
38
39
  versioning: Optional[pulumi.Input['BucketVersioningArgs']] = None,
@@ -61,6 +62,8 @@ class BucketArgs:
61
62
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
62
63
  :param pulumi.Input['BucketRetentionPolicyArgs'] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
63
64
  :param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
65
+ :param pulumi.Input['BucketSoftDeletePolicyArgs'] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
66
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
64
67
  :param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
65
68
  :param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
66
69
  :param pulumi.Input['BucketVersioningArgs'] versioning: The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.
@@ -99,6 +102,8 @@ class BucketArgs:
99
102
  pulumi.set(__self__, "retention_policy", retention_policy)
100
103
  if rpo is not None:
101
104
  pulumi.set(__self__, "rpo", rpo)
105
+ if soft_delete_policy is not None:
106
+ pulumi.set(__self__, "soft_delete_policy", soft_delete_policy)
102
107
  if storage_class is not None:
103
108
  pulumi.set(__self__, "storage_class", storage_class)
104
109
  if uniform_bucket_level_access is not None:
@@ -317,6 +322,19 @@ class BucketArgs:
317
322
  def rpo(self, value: Optional[pulumi.Input[str]]):
318
323
  pulumi.set(self, "rpo", value)
319
324
 
325
+ @property
326
+ @pulumi.getter(name="softDeletePolicy")
327
+ def soft_delete_policy(self) -> Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]:
328
+ """
329
+ The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
330
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
331
+ """
332
+ return pulumi.get(self, "soft_delete_policy")
333
+
334
+ @soft_delete_policy.setter
335
+ def soft_delete_policy(self, value: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]):
336
+ pulumi.set(self, "soft_delete_policy", value)
337
+
320
338
  @property
321
339
  @pulumi.getter(name="storageClass")
322
340
  def storage_class(self) -> Optional[pulumi.Input[str]]:
@@ -389,6 +407,7 @@ class _BucketState:
389
407
  retention_policy: Optional[pulumi.Input['BucketRetentionPolicyArgs']] = None,
390
408
  rpo: Optional[pulumi.Input[str]] = None,
391
409
  self_link: Optional[pulumi.Input[str]] = None,
410
+ soft_delete_policy: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']] = None,
392
411
  storage_class: Optional[pulumi.Input[str]] = None,
393
412
  uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
394
413
  url: Optional[pulumi.Input[str]] = None,
@@ -422,6 +441,8 @@ class _BucketState:
422
441
  :param pulumi.Input['BucketRetentionPolicyArgs'] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
423
442
  :param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
424
443
  :param pulumi.Input[str] self_link: The URI of the created resource.
444
+ :param pulumi.Input['BucketSoftDeletePolicyArgs'] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
445
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
425
446
  :param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
426
447
  :param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
427
448
  :param pulumi.Input[str] url: The base URL of the bucket, in the format `gs://<bucket-name>`.
@@ -468,6 +489,8 @@ class _BucketState:
468
489
  pulumi.set(__self__, "rpo", rpo)
469
490
  if self_link is not None:
470
491
  pulumi.set(__self__, "self_link", self_link)
492
+ if soft_delete_policy is not None:
493
+ pulumi.set(__self__, "soft_delete_policy", soft_delete_policy)
471
494
  if storage_class is not None:
472
495
  pulumi.set(__self__, "storage_class", storage_class)
473
496
  if uniform_bucket_level_access is not None:
@@ -725,6 +748,19 @@ class _BucketState:
725
748
  def self_link(self, value: Optional[pulumi.Input[str]]):
726
749
  pulumi.set(self, "self_link", value)
727
750
 
751
+ @property
752
+ @pulumi.getter(name="softDeletePolicy")
753
+ def soft_delete_policy(self) -> Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]:
754
+ """
755
+ The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
756
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
757
+ """
758
+ return pulumi.get(self, "soft_delete_policy")
759
+
760
+ @soft_delete_policy.setter
761
+ def soft_delete_policy(self, value: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]):
762
+ pulumi.set(self, "soft_delete_policy", value)
763
+
728
764
  @property
729
765
  @pulumi.getter(name="storageClass")
730
766
  def storage_class(self) -> Optional[pulumi.Input[str]]:
@@ -808,6 +844,7 @@ class Bucket(pulumi.CustomResource):
808
844
  requester_pays: Optional[pulumi.Input[bool]] = None,
809
845
  retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
810
846
  rpo: Optional[pulumi.Input[str]] = None,
847
+ soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
811
848
  storage_class: Optional[pulumi.Input[str]] = None,
812
849
  uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
813
850
  versioning: Optional[pulumi.Input[pulumi.InputType['BucketVersioningArgs']]] = None,
@@ -959,6 +996,8 @@ class Bucket(pulumi.CustomResource):
959
996
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
960
997
  :param pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
961
998
  :param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
999
+ :param pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
1000
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
962
1001
  :param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
963
1002
  :param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
964
1003
  :param pulumi.Input[pulumi.InputType['BucketVersioningArgs']] versioning: The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.
@@ -1124,6 +1163,7 @@ class Bucket(pulumi.CustomResource):
1124
1163
  requester_pays: Optional[pulumi.Input[bool]] = None,
1125
1164
  retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
1126
1165
  rpo: Optional[pulumi.Input[str]] = None,
1166
+ soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
1127
1167
  storage_class: Optional[pulumi.Input[str]] = None,
1128
1168
  uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
1129
1169
  versioning: Optional[pulumi.Input[pulumi.InputType['BucketVersioningArgs']]] = None,
@@ -1156,6 +1196,7 @@ class Bucket(pulumi.CustomResource):
1156
1196
  __props__.__dict__["requester_pays"] = requester_pays
1157
1197
  __props__.__dict__["retention_policy"] = retention_policy
1158
1198
  __props__.__dict__["rpo"] = rpo
1199
+ __props__.__dict__["soft_delete_policy"] = soft_delete_policy
1159
1200
  __props__.__dict__["storage_class"] = storage_class
1160
1201
  __props__.__dict__["uniform_bucket_level_access"] = uniform_bucket_level_access
1161
1202
  __props__.__dict__["versioning"] = versioning
@@ -1196,6 +1237,7 @@ class Bucket(pulumi.CustomResource):
1196
1237
  retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
1197
1238
  rpo: Optional[pulumi.Input[str]] = None,
1198
1239
  self_link: Optional[pulumi.Input[str]] = None,
1240
+ soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
1199
1241
  storage_class: Optional[pulumi.Input[str]] = None,
1200
1242
  uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
1201
1243
  url: Optional[pulumi.Input[str]] = None,
@@ -1234,6 +1276,8 @@ class Bucket(pulumi.CustomResource):
1234
1276
  :param pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
1235
1277
  :param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
1236
1278
  :param pulumi.Input[str] self_link: The URI of the created resource.
1279
+ :param pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
1280
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
1237
1281
  :param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
1238
1282
  :param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
1239
1283
  :param pulumi.Input[str] url: The base URL of the bucket, in the format `gs://<bucket-name>`.
@@ -1264,6 +1308,7 @@ class Bucket(pulumi.CustomResource):
1264
1308
  __props__.__dict__["retention_policy"] = retention_policy
1265
1309
  __props__.__dict__["rpo"] = rpo
1266
1310
  __props__.__dict__["self_link"] = self_link
1311
+ __props__.__dict__["soft_delete_policy"] = soft_delete_policy
1267
1312
  __props__.__dict__["storage_class"] = storage_class
1268
1313
  __props__.__dict__["uniform_bucket_level_access"] = uniform_bucket_level_access
1269
1314
  __props__.__dict__["url"] = url
@@ -1437,6 +1482,15 @@ class Bucket(pulumi.CustomResource):
1437
1482
  """
1438
1483
  return pulumi.get(self, "self_link")
1439
1484
 
1485
+ @property
1486
+ @pulumi.getter(name="softDeletePolicy")
1487
+ def soft_delete_policy(self) -> pulumi.Output['outputs.BucketSoftDeletePolicy']:
1488
+ """
1489
+ The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
1490
+ be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
1491
+ """
1492
+ return pulumi.get(self, "soft_delete_policy")
1493
+
1440
1494
  @property
1441
1495
  @pulumi.getter(name="storageClass")
1442
1496
  def storage_class(self) -> pulumi.Output[Optional[str]]:
@@ -22,7 +22,7 @@ class GetBucketResult:
22
22
  """
23
23
  A collection of values returned by getBucket.
24
24
  """
25
- def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
25
+ def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, soft_delete_policies=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
26
26
  if autoclasses and not isinstance(autoclasses, list):
27
27
  raise TypeError("Expected argument 'autoclasses' to be a list")
28
28
  pulumi.set(__self__, "autoclasses", autoclasses)
@@ -86,6 +86,9 @@ class GetBucketResult:
86
86
  if self_link and not isinstance(self_link, str):
87
87
  raise TypeError("Expected argument 'self_link' to be a str")
88
88
  pulumi.set(__self__, "self_link", self_link)
89
+ if soft_delete_policies and not isinstance(soft_delete_policies, list):
90
+ raise TypeError("Expected argument 'soft_delete_policies' to be a list")
91
+ pulumi.set(__self__, "soft_delete_policies", soft_delete_policies)
89
92
  if storage_class and not isinstance(storage_class, str):
90
93
  raise TypeError("Expected argument 'storage_class' to be a str")
91
94
  pulumi.set(__self__, "storage_class", storage_class)
@@ -210,6 +213,11 @@ class GetBucketResult:
210
213
  def self_link(self) -> str:
211
214
  return pulumi.get(self, "self_link")
212
215
 
216
+ @property
217
+ @pulumi.getter(name="softDeletePolicies")
218
+ def soft_delete_policies(self) -> Sequence['outputs.GetBucketSoftDeletePolicyResult']:
219
+ return pulumi.get(self, "soft_delete_policies")
220
+
213
221
  @property
214
222
  @pulumi.getter(name="storageClass")
215
223
  def storage_class(self) -> str:
@@ -263,6 +271,7 @@ class AwaitableGetBucketResult(GetBucketResult):
263
271
  retention_policies=self.retention_policies,
264
272
  rpo=self.rpo,
265
273
  self_link=self.self_link,
274
+ soft_delete_policies=self.soft_delete_policies,
266
275
  storage_class=self.storage_class,
267
276
  uniform_bucket_level_access=self.uniform_bucket_level_access,
268
277
  url=self.url,
@@ -319,6 +328,7 @@ def get_bucket(name: Optional[str] = None,
319
328
  retention_policies=pulumi.get(__ret__, 'retention_policies'),
320
329
  rpo=pulumi.get(__ret__, 'rpo'),
321
330
  self_link=pulumi.get(__ret__, 'self_link'),
331
+ soft_delete_policies=pulumi.get(__ret__, 'soft_delete_policies'),
322
332
  storage_class=pulumi.get(__ret__, 'storage_class'),
323
333
  uniform_bucket_level_access=pulumi.get(__ret__, 'uniform_bucket_level_access'),
324
334
  url=pulumi.get(__ret__, 'url'),
@@ -24,6 +24,7 @@ __all__ = [
24
24
  'BucketObjectCustomerEncryption',
25
25
  'BucketObjectRetention',
26
26
  'BucketRetentionPolicy',
27
+ 'BucketSoftDeletePolicy',
27
28
  'BucketVersioning',
28
29
  'BucketWebsite',
29
30
  'DefaultObjectAccessControlProjectTeam',
@@ -67,6 +68,7 @@ __all__ = [
67
68
  'GetBucketObjectCustomerEncryptionResult',
68
69
  'GetBucketObjectRetentionResult',
69
70
  'GetBucketRetentionPolicyResult',
71
+ 'GetBucketSoftDeletePolicyResult',
70
72
  'GetBucketVersioningResult',
71
73
  'GetBucketWebsiteResult',
72
74
  ]
@@ -849,6 +851,56 @@ class BucketRetentionPolicy(dict):
849
851
  return pulumi.get(self, "is_locked")
850
852
 
851
853
 
854
+ @pulumi.output_type
855
+ class BucketSoftDeletePolicy(dict):
856
+ @staticmethod
857
+ def __key_warning(key: str):
858
+ suggest = None
859
+ if key == "effectiveTime":
860
+ suggest = "effective_time"
861
+ elif key == "retentionDurationSeconds":
862
+ suggest = "retention_duration_seconds"
863
+
864
+ if suggest:
865
+ pulumi.log.warn(f"Key '{key}' not found in BucketSoftDeletePolicy. Access the value via the '{suggest}' property getter instead.")
866
+
867
+ def __getitem__(self, key: str) -> Any:
868
+ BucketSoftDeletePolicy.__key_warning(key)
869
+ return super().__getitem__(key)
870
+
871
+ def get(self, key: str, default = None) -> Any:
872
+ BucketSoftDeletePolicy.__key_warning(key)
873
+ return super().get(key, default)
874
+
875
+ def __init__(__self__, *,
876
+ effective_time: Optional[str] = None,
877
+ retention_duration_seconds: Optional[int] = None):
878
+ """
879
+ :param str effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
880
+ :param int retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
881
+ """
882
+ if effective_time is not None:
883
+ pulumi.set(__self__, "effective_time", effective_time)
884
+ if retention_duration_seconds is not None:
885
+ pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
886
+
887
+ @property
888
+ @pulumi.getter(name="effectiveTime")
889
+ def effective_time(self) -> Optional[str]:
890
+ """
891
+ Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
892
+ """
893
+ return pulumi.get(self, "effective_time")
894
+
895
+ @property
896
+ @pulumi.getter(name="retentionDurationSeconds")
897
+ def retention_duration_seconds(self) -> Optional[int]:
898
+ """
899
+ The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
900
+ """
901
+ return pulumi.get(self, "retention_duration_seconds")
902
+
903
+
852
904
  @pulumi.output_type
853
905
  class BucketVersioning(dict):
854
906
  def __init__(__self__, *,
@@ -2070,7 +2122,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
2070
2122
  :param str container: The container to transfer from the Azure Storage account.`
2071
2123
  :param str storage_account: The name of the Azure Storage account.
2072
2124
  :param 'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs' azure_credentials: Credentials used to authenticate API requests to Azure block.
2073
- :param str credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2125
+ :param str credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2074
2126
  :param str path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
2075
2127
  """
2076
2128
  pulumi.set(__self__, "container", container)
@@ -2110,7 +2162,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
2110
2162
  @pulumi.getter(name="credentialsSecret")
2111
2163
  def credentials_secret(self) -> Optional[str]:
2112
2164
  """
2113
- Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2165
+ Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
2114
2166
  """
2115
2167
  return pulumi.get(self, "credentials_secret")
2116
2168
 
@@ -3040,6 +3092,35 @@ class GetBucketRetentionPolicyResult(dict):
3040
3092
  return pulumi.get(self, "retention_period")
3041
3093
 
3042
3094
 
3095
+ @pulumi.output_type
3096
+ class GetBucketSoftDeletePolicyResult(dict):
3097
+ def __init__(__self__, *,
3098
+ effective_time: str,
3099
+ retention_duration_seconds: int):
3100
+ """
3101
+ :param str effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
3102
+ :param int retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
3103
+ """
3104
+ pulumi.set(__self__, "effective_time", effective_time)
3105
+ pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
3106
+
3107
+ @property
3108
+ @pulumi.getter(name="effectiveTime")
3109
+ def effective_time(self) -> str:
3110
+ """
3111
+ Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
3112
+ """
3113
+ return pulumi.get(self, "effective_time")
3114
+
3115
+ @property
3116
+ @pulumi.getter(name="retentionDurationSeconds")
3117
+ def retention_duration_seconds(self) -> int:
3118
+ """
3119
+ The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
3120
+ """
3121
+ return pulumi.get(self, "retention_duration_seconds")
3122
+
3123
+
3043
3124
  @pulumi.output_type
3044
3125
  class GetBucketVersioningResult(dict):
3045
3126
  def __init__(__self__, *,
@@ -6,6 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .ai_dataset import *
9
+ from .ai_deployment_resource_pool import *
9
10
  from .ai_endpoint import *
10
11
  from .ai_endpoint_iam_binding import *
11
12
  from .ai_endpoint_iam_member import *