pulumi-gcp 8.42.0a1756925793__py3-none-any.whl → 9.0.0a1__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 (149) hide show
  1. pulumi_gcp/__init__.py +35 -48
  2. pulumi_gcp/alloydb/backup.py +8 -4
  3. pulumi_gcp/alloydb/cluster.py +56 -10
  4. pulumi_gcp/alloydb/get_cluster.py +12 -1
  5. pulumi_gcp/alloydb/instance.py +10 -4
  6. pulumi_gcp/alloydb/user.py +8 -4
  7. pulumi_gcp/apigee/_inputs.py +151 -108
  8. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  9. pulumi_gcp/apigee/outputs.py +92 -88
  10. pulumi_gcp/artifactregistry/__init__.py +1 -0
  11. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  12. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  13. pulumi_gcp/artifactregistry/outputs.py +8 -16
  14. pulumi_gcp/beyondcorp/__init__.py +0 -5
  15. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  16. pulumi_gcp/beyondcorp/outputs.py +0 -200
  17. pulumi_gcp/bigquery/_inputs.py +114 -4
  18. pulumi_gcp/bigquery/app_profile.py +52 -19
  19. pulumi_gcp/bigquery/dataset_access.py +8 -4
  20. pulumi_gcp/bigquery/outputs.py +75 -5
  21. pulumi_gcp/bigquery/table.py +21 -7
  22. pulumi_gcp/bigtable/app_profile.py +50 -15
  23. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  24. pulumi_gcp/bigtable/table.py +42 -42
  25. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  26. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  27. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  28. pulumi_gcp/billing/_inputs.py +0 -6
  29. pulumi_gcp/billing/outputs.py +0 -4
  30. pulumi_gcp/certificatemanager/__init__.py +1 -0
  31. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  32. pulumi_gcp/certificatemanager/outputs.py +41 -0
  33. pulumi_gcp/cloudbuild/_inputs.py +289 -45
  34. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  35. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  36. pulumi_gcp/cloudbuild/outputs.py +366 -30
  37. pulumi_gcp/cloudbuild/trigger.py +156 -0
  38. pulumi_gcp/cloudbuild/worker_pool.py +23 -34
  39. pulumi_gcp/cloudfunctions/function.py +8 -4
  40. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  41. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  42. pulumi_gcp/cloudrunv2/_inputs.py +23 -26
  43. pulumi_gcp/cloudrunv2/outputs.py +28 -30
  44. pulumi_gcp/cloudrunv2/service.py +18 -12
  45. pulumi_gcp/cloudtasks/queue.py +98 -2
  46. pulumi_gcp/colab/_inputs.py +1 -114
  47. pulumi_gcp/colab/outputs.py +1 -106
  48. pulumi_gcp/composer/environment.py +49 -28
  49. pulumi_gcp/compute/_inputs.py +80 -0
  50. pulumi_gcp/compute/backend_bucket.py +54 -0
  51. pulumi_gcp/compute/backend_service.py +54 -0
  52. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  53. pulumi_gcp/compute/get_backend_service.py +12 -1
  54. pulumi_gcp/compute/instance_from_machine_image.py +110 -75
  55. pulumi_gcp/compute/instance_from_template.py +110 -75
  56. pulumi_gcp/compute/instance_group_manager.py +14 -7
  57. pulumi_gcp/compute/instance_template.py +14 -7
  58. pulumi_gcp/compute/interconnect.py +8 -4
  59. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  60. pulumi_gcp/compute/organization_security_policy.py +83 -51
  61. pulumi_gcp/compute/outputs.py +128 -0
  62. pulumi_gcp/compute/packet_mirroring.py +6 -0
  63. pulumi_gcp/compute/region_instance_group_manager.py +14 -7
  64. pulumi_gcp/compute/subnetwork.py +0 -98
  65. pulumi_gcp/config/__init__.pyi +2 -2
  66. pulumi_gcp/config/vars.py +4 -4
  67. pulumi_gcp/container/_inputs.py +20 -0
  68. pulumi_gcp/container/aws_cluster.py +42 -28
  69. pulumi_gcp/container/aws_node_pool.py +42 -28
  70. pulumi_gcp/container/azure_cluster.py +70 -35
  71. pulumi_gcp/container/azure_node_pool.py +42 -28
  72. pulumi_gcp/container/outputs.py +25 -0
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  74. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  75. pulumi_gcp/dataplex/asset.py +21 -28
  76. pulumi_gcp/dataplex/zone.py +21 -28
  77. pulumi_gcp/dataproc/cluster.py +14 -21
  78. pulumi_gcp/dataproc/workflow_template.py +105 -42
  79. pulumi_gcp/diagflow/_inputs.py +152 -0
  80. pulumi_gcp/diagflow/cx_agent.py +425 -0
  81. pulumi_gcp/diagflow/outputs.py +143 -0
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  84. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  85. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  86. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  87. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  88. pulumi_gcp/firebase/data_connect_service.py +4 -8
  89. pulumi_gcp/firebase/database_instance.py +4 -8
  90. pulumi_gcp/gkehub/_inputs.py +0 -60
  91. pulumi_gcp/gkehub/get_membership.py +1 -12
  92. pulumi_gcp/gkehub/membership.py +0 -70
  93. pulumi_gcp/gkehub/outputs.py +0 -36
  94. pulumi_gcp/iap/__init__.py +4 -0
  95. pulumi_gcp/iap/_inputs.py +130 -0
  96. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  97. pulumi_gcp/iap/outputs.py +76 -0
  98. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
  99. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
  100. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  101. pulumi_gcp/kms/autokey_config.py +0 -2
  102. pulumi_gcp/kms/key_handle.py +0 -2
  103. pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
  104. pulumi_gcp/logging/folder_bucket_config.py +21 -7
  105. pulumi_gcp/logging/organization_bucket_config.py +21 -7
  106. pulumi_gcp/memorystore/get_instance.py +1 -12
  107. pulumi_gcp/memorystore/instance.py +0 -70
  108. pulumi_gcp/monitoring/dashboard.py +14 -7
  109. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  110. pulumi_gcp/notebooks/__init__.py +0 -1
  111. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  112. pulumi_gcp/organizations/project.py +21 -7
  113. pulumi_gcp/projects/service.py +2 -4
  114. pulumi_gcp/provider.py +20 -20
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/cluster.py +0 -70
  117. pulumi_gcp/redis/get_cluster.py +1 -12
  118. pulumi_gcp/saasruntime/__init__.py +11 -0
  119. pulumi_gcp/saasruntime/_inputs.py +55 -0
  120. pulumi_gcp/saasruntime/outputs.py +39 -0
  121. pulumi_gcp/saasruntime/saa_s.py +815 -0
  122. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  123. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  124. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  125. pulumi_gcp/sql/database_instance.py +61 -7
  126. pulumi_gcp/sql/get_database_instance.py +12 -1
  127. pulumi_gcp/sql/outputs.py +11 -0
  128. pulumi_gcp/sql/user.py +61 -0
  129. pulumi_gcp/storage/_inputs.py +7 -7
  130. pulumi_gcp/storage/bucket.py +14 -7
  131. pulumi_gcp/storage/outputs.py +7 -7
  132. pulumi_gcp/tpu/__init__.py +0 -2
  133. pulumi_gcp/tpu/_inputs.py +0 -93
  134. pulumi_gcp/tpu/outputs.py +0 -72
  135. pulumi_gcp/vertex/_inputs.py +8 -9
  136. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  138. pulumi_gcp/vertex/ai_index.py +24 -23
  139. pulumi_gcp/vertex/outputs.py +7 -8
  140. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
  141. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
  142. pulumi_gcp/beyondcorp/application.py +0 -746
  143. pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
  144. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  145. pulumi_gcp/notebooks/location.py +0 -285
  146. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  147. pulumi_gcp/tpu/node.py +0 -1062
  148. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
  149. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -231,6 +231,8 @@ if typing.TYPE_CHECKING:
231
231
  resourcemanager = __resourcemanager
232
232
  import pulumi_gcp.runtimeconfig as __runtimeconfig
233
233
  runtimeconfig = __runtimeconfig
234
+ import pulumi_gcp.saasruntime as __saasruntime
235
+ saasruntime = __saasruntime
234
236
  import pulumi_gcp.secretmanager as __secretmanager
235
237
  secretmanager = __secretmanager
236
238
  import pulumi_gcp.securesourcemanager as __securesourcemanager
@@ -386,6 +388,7 @@ else:
386
388
  redis = _utilities.lazy_import('pulumi_gcp.redis')
387
389
  resourcemanager = _utilities.lazy_import('pulumi_gcp.resourcemanager')
388
390
  runtimeconfig = _utilities.lazy_import('pulumi_gcp.runtimeconfig')
391
+ saasruntime = _utilities.lazy_import('pulumi_gcp.saasruntime')
389
392
  secretmanager = _utilities.lazy_import('pulumi_gcp.secretmanager')
390
393
  securesourcemanager = _utilities.lazy_import('pulumi_gcp.securesourcemanager')
391
394
  securitycenter = _utilities.lazy_import('pulumi_gcp.securitycenter')
@@ -1252,38 +1255,6 @@ _utilities.register(
1252
1255
  "gcp:beyondcorp/appGateway:AppGateway": "AppGateway"
1253
1256
  }
1254
1257
  },
1255
- {
1256
- "pkg": "gcp",
1257
- "mod": "beyondcorp/application",
1258
- "fqn": "pulumi_gcp.beyondcorp",
1259
- "classes": {
1260
- "gcp:beyondcorp/application:Application": "Application"
1261
- }
1262
- },
1263
- {
1264
- "pkg": "gcp",
1265
- "mod": "beyondcorp/applicationIamBinding",
1266
- "fqn": "pulumi_gcp.beyondcorp",
1267
- "classes": {
1268
- "gcp:beyondcorp/applicationIamBinding:ApplicationIamBinding": "ApplicationIamBinding"
1269
- }
1270
- },
1271
- {
1272
- "pkg": "gcp",
1273
- "mod": "beyondcorp/applicationIamMember",
1274
- "fqn": "pulumi_gcp.beyondcorp",
1275
- "classes": {
1276
- "gcp:beyondcorp/applicationIamMember:ApplicationIamMember": "ApplicationIamMember"
1277
- }
1278
- },
1279
- {
1280
- "pkg": "gcp",
1281
- "mod": "beyondcorp/applicationIamPolicy",
1282
- "fqn": "pulumi_gcp.beyondcorp",
1283
- "classes": {
1284
- "gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy": "ApplicationIamPolicy"
1285
- }
1286
- },
1287
1258
  {
1288
1259
  "pkg": "gcp",
1289
1260
  "mod": "beyondcorp/securityGateway",
@@ -6836,6 +6807,30 @@ _utilities.register(
6836
6807
  "gcp:iap/webRegionBackendServiceIamPolicy:WebRegionBackendServiceIamPolicy": "WebRegionBackendServiceIamPolicy"
6837
6808
  }
6838
6809
  },
6810
+ {
6811
+ "pkg": "gcp",
6812
+ "mod": "iap/webRegionForwardingRuleServiceIamBinding",
6813
+ "fqn": "pulumi_gcp.iap",
6814
+ "classes": {
6815
+ "gcp:iap/webRegionForwardingRuleServiceIamBinding:WebRegionForwardingRuleServiceIamBinding": "WebRegionForwardingRuleServiceIamBinding"
6816
+ }
6817
+ },
6818
+ {
6819
+ "pkg": "gcp",
6820
+ "mod": "iap/webRegionForwardingRuleServiceIamMember",
6821
+ "fqn": "pulumi_gcp.iap",
6822
+ "classes": {
6823
+ "gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember": "WebRegionForwardingRuleServiceIamMember"
6824
+ }
6825
+ },
6826
+ {
6827
+ "pkg": "gcp",
6828
+ "mod": "iap/webRegionForwardingRuleServiceIamPolicy",
6829
+ "fqn": "pulumi_gcp.iap",
6830
+ "classes": {
6831
+ "gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy": "WebRegionForwardingRuleServiceIamPolicy"
6832
+ }
6833
+ },
6839
6834
  {
6840
6835
  "pkg": "gcp",
6841
6836
  "mod": "iap/webTypeAppEngingIamBinding",
@@ -7988,14 +7983,6 @@ _utilities.register(
7988
7983
  "gcp:notebooks/instanceIamPolicy:InstanceIamPolicy": "InstanceIamPolicy"
7989
7984
  }
7990
7985
  },
7991
- {
7992
- "pkg": "gcp",
7993
- "mod": "notebooks/location",
7994
- "fqn": "pulumi_gcp.notebooks",
7995
- "classes": {
7996
- "gcp:notebooks/location:Location": "Location"
7997
- }
7998
- },
7999
7986
  {
8000
7987
  "pkg": "gcp",
8001
7988
  "mod": "notebooks/runtime",
@@ -8572,6 +8559,14 @@ _utilities.register(
8572
8559
  "gcp:runtimeconfig/variable:Variable": "Variable"
8573
8560
  }
8574
8561
  },
8562
+ {
8563
+ "pkg": "gcp",
8564
+ "mod": "saasruntime/saaS",
8565
+ "fqn": "pulumi_gcp.saasruntime",
8566
+ "classes": {
8567
+ "gcp:saasruntime/saaS:SaaS": "SaaS"
8568
+ }
8569
+ },
8575
8570
  {
8576
8571
  "pkg": "gcp",
8577
8572
  "mod": "secretmanager/regionalSecret",
@@ -9644,14 +9639,6 @@ _utilities.register(
9644
9639
  "gcp:tags/tagValueIamPolicy:TagValueIamPolicy": "TagValueIamPolicy"
9645
9640
  }
9646
9641
  },
9647
- {
9648
- "pkg": "gcp",
9649
- "mod": "tpu/node",
9650
- "fqn": "pulumi_gcp.tpu",
9651
- "classes": {
9652
- "gcp:tpu/node:Node": "Node"
9653
- }
9654
- },
9655
9642
  {
9656
9643
  "pkg": "gcp",
9657
9644
  "mod": "tpu/v2QueuedResource",
@@ -701,7 +701,8 @@ class Backup(pulumi.CustomResource):
701
701
  location="us-central1",
702
702
  network_config={
703
703
  "network": default_network.id,
704
- })
704
+ },
705
+ deletion_protection=False)
705
706
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
706
707
  name="alloydb-cluster",
707
708
  address_type="INTERNAL",
@@ -735,7 +736,8 @@ class Backup(pulumi.CustomResource):
735
736
  location="us-central1",
736
737
  network_config={
737
738
  "network": default_network.id,
738
- })
739
+ },
740
+ deletion_protection=False)
739
741
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
740
742
  name="alloydb-cluster",
741
743
  address_type="INTERNAL",
@@ -839,7 +841,8 @@ class Backup(pulumi.CustomResource):
839
841
  location="us-central1",
840
842
  network_config={
841
843
  "network": default_network.id,
842
- })
844
+ },
845
+ deletion_protection=False)
843
846
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
844
847
  name="alloydb-cluster",
845
848
  address_type="INTERNAL",
@@ -873,7 +876,8 @@ class Backup(pulumi.CustomResource):
873
876
  location="us-central1",
874
877
  network_config={
875
878
  "network": default_network.id,
876
- })
879
+ },
880
+ deletion_protection=False)
877
881
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
878
882
  name="alloydb-cluster",
879
883
  address_type="INTERNAL",
@@ -29,6 +29,7 @@ class ClusterArgs:
29
29
  continuous_backup_config: Optional[pulumi.Input['ClusterContinuousBackupConfigArgs']] = None,
30
30
  database_version: Optional[pulumi.Input[_builtins.str]] = None,
31
31
  deletion_policy: Optional[pulumi.Input[_builtins.str]] = None,
32
+ deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None,
32
33
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
33
34
  encryption_config: Optional[pulumi.Input['ClusterEncryptionConfigArgs']] = None,
34
35
  etag: Optional[pulumi.Input[_builtins.str]] = None,
@@ -109,6 +110,8 @@ class ClusterArgs:
109
110
  pulumi.set(__self__, "database_version", database_version)
110
111
  if deletion_policy is not None:
111
112
  pulumi.set(__self__, "deletion_policy", deletion_policy)
113
+ if deletion_protection is not None:
114
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
112
115
  if display_name is not None:
113
116
  pulumi.set(__self__, "display_name", display_name)
114
117
  if encryption_config is not None:
@@ -247,6 +250,15 @@ class ClusterArgs:
247
250
  def deletion_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
248
251
  pulumi.set(self, "deletion_policy", value)
249
252
 
253
+ @_builtins.property
254
+ @pulumi.getter(name="deletionProtection")
255
+ def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]:
256
+ return pulumi.get(self, "deletion_protection")
257
+
258
+ @deletion_protection.setter
259
+ def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]):
260
+ pulumi.set(self, "deletion_protection", value)
261
+
250
262
  @_builtins.property
251
263
  @pulumi.getter(name="displayName")
252
264
  def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -442,6 +454,7 @@ class _ClusterState:
442
454
  continuous_backup_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterContinuousBackupInfoArgs']]]] = None,
443
455
  database_version: Optional[pulumi.Input[_builtins.str]] = None,
444
456
  deletion_policy: Optional[pulumi.Input[_builtins.str]] = None,
457
+ deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None,
445
458
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
446
459
  effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
447
460
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
@@ -557,6 +570,8 @@ class _ClusterState:
557
570
  pulumi.set(__self__, "database_version", database_version)
558
571
  if deletion_policy is not None:
559
572
  pulumi.set(__self__, "deletion_policy", deletion_policy)
573
+ if deletion_protection is not None:
574
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
560
575
  if display_name is not None:
561
576
  pulumi.set(__self__, "display_name", display_name)
562
577
  if effective_annotations is not None:
@@ -731,6 +746,15 @@ class _ClusterState:
731
746
  def deletion_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
732
747
  pulumi.set(self, "deletion_policy", value)
733
748
 
749
+ @_builtins.property
750
+ @pulumi.getter(name="deletionProtection")
751
+ def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]:
752
+ return pulumi.get(self, "deletion_protection")
753
+
754
+ @deletion_protection.setter
755
+ def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]):
756
+ pulumi.set(self, "deletion_protection", value)
757
+
734
758
  @_builtins.property
735
759
  @pulumi.getter(name="displayName")
736
760
  def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -1063,6 +1087,7 @@ class Cluster(pulumi.CustomResource):
1063
1087
  continuous_backup_config: Optional[pulumi.Input[Union['ClusterContinuousBackupConfigArgs', 'ClusterContinuousBackupConfigArgsDict']]] = None,
1064
1088
  database_version: Optional[pulumi.Input[_builtins.str]] = None,
1065
1089
  deletion_policy: Optional[pulumi.Input[_builtins.str]] = None,
1090
+ deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None,
1066
1091
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
1067
1092
  encryption_config: Optional[pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']]] = None,
1068
1093
  etag: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1094,7 +1119,8 @@ class Cluster(pulumi.CustomResource):
1094
1119
  location="us-central1",
1095
1120
  network_config={
1096
1121
  "network": default_network.id,
1097
- })
1122
+ },
1123
+ deletion_protection=False)
1098
1124
  project = gcp.organizations.get_project()
1099
1125
  ```
1100
1126
  ### Alloydb Cluster Before Upgrade
@@ -1113,7 +1139,8 @@ class Cluster(pulumi.CustomResource):
1113
1139
  database_version="POSTGRES_14",
1114
1140
  initial_user={
1115
1141
  "password": "alloydb-cluster",
1116
- })
1142
+ },
1143
+ deletion_protection=False)
1117
1144
  default_instance = gcp.alloydb.Instance("default",
1118
1145
  cluster=default_cluster.name,
1119
1146
  instance_id="alloydb-instance",
@@ -1138,7 +1165,8 @@ class Cluster(pulumi.CustomResource):
1138
1165
  database_version="POSTGRES_15",
1139
1166
  initial_user={
1140
1167
  "password": "alloydb-cluster",
1141
- })
1168
+ },
1169
+ deletion_protection=False)
1142
1170
  default_instance = gcp.alloydb.Instance("default",
1143
1171
  cluster=default_cluster.name,
1144
1172
  instance_id="alloydb-instance",
@@ -1191,7 +1219,8 @@ class Cluster(pulumi.CustomResource):
1191
1219
  },
1192
1220
  labels={
1193
1221
  "test": "alloydb-cluster-full",
1194
- })
1222
+ },
1223
+ deletion_protection=False)
1195
1224
  project = gcp.organizations.get_project()
1196
1225
  ```
1197
1226
  ### Alloydb Secondary Cluster Basic
@@ -1206,7 +1235,8 @@ class Cluster(pulumi.CustomResource):
1206
1235
  location="us-central1",
1207
1236
  network_config={
1208
1237
  "network": default.id,
1209
- })
1238
+ },
1239
+ deletion_protection=False)
1210
1240
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
1211
1241
  name="alloydb-secondary-cluster",
1212
1242
  address_type="INTERNAL",
@@ -1238,6 +1268,7 @@ class Cluster(pulumi.CustomResource):
1238
1268
  secondary_config={
1239
1269
  "primary_cluster_name": primary.name,
1240
1270
  },
1271
+ deletion_protection=False,
1241
1272
  opts = pulumi.ResourceOptions(depends_on=[primary_instance]))
1242
1273
  project = gcp.organizations.get_project()
1243
1274
  ```
@@ -1345,7 +1376,8 @@ class Cluster(pulumi.CustomResource):
1345
1376
  location="us-central1",
1346
1377
  network_config={
1347
1378
  "network": default_network.id,
1348
- })
1379
+ },
1380
+ deletion_protection=False)
1349
1381
  project = gcp.organizations.get_project()
1350
1382
  ```
1351
1383
  ### Alloydb Cluster Before Upgrade
@@ -1364,7 +1396,8 @@ class Cluster(pulumi.CustomResource):
1364
1396
  database_version="POSTGRES_14",
1365
1397
  initial_user={
1366
1398
  "password": "alloydb-cluster",
1367
- })
1399
+ },
1400
+ deletion_protection=False)
1368
1401
  default_instance = gcp.alloydb.Instance("default",
1369
1402
  cluster=default_cluster.name,
1370
1403
  instance_id="alloydb-instance",
@@ -1389,7 +1422,8 @@ class Cluster(pulumi.CustomResource):
1389
1422
  database_version="POSTGRES_15",
1390
1423
  initial_user={
1391
1424
  "password": "alloydb-cluster",
1392
- })
1425
+ },
1426
+ deletion_protection=False)
1393
1427
  default_instance = gcp.alloydb.Instance("default",
1394
1428
  cluster=default_cluster.name,
1395
1429
  instance_id="alloydb-instance",
@@ -1442,7 +1476,8 @@ class Cluster(pulumi.CustomResource):
1442
1476
  },
1443
1477
  labels={
1444
1478
  "test": "alloydb-cluster-full",
1445
- })
1479
+ },
1480
+ deletion_protection=False)
1446
1481
  project = gcp.organizations.get_project()
1447
1482
  ```
1448
1483
  ### Alloydb Secondary Cluster Basic
@@ -1457,7 +1492,8 @@ class Cluster(pulumi.CustomResource):
1457
1492
  location="us-central1",
1458
1493
  network_config={
1459
1494
  "network": default.id,
1460
- })
1495
+ },
1496
+ deletion_protection=False)
1461
1497
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
1462
1498
  name="alloydb-secondary-cluster",
1463
1499
  address_type="INTERNAL",
@@ -1489,6 +1525,7 @@ class Cluster(pulumi.CustomResource):
1489
1525
  secondary_config={
1490
1526
  "primary_cluster_name": primary.name,
1491
1527
  },
1528
+ deletion_protection=False,
1492
1529
  opts = pulumi.ResourceOptions(depends_on=[primary_instance]))
1493
1530
  project = gcp.organizations.get_project()
1494
1531
  ```
@@ -1545,6 +1582,7 @@ class Cluster(pulumi.CustomResource):
1545
1582
  continuous_backup_config: Optional[pulumi.Input[Union['ClusterContinuousBackupConfigArgs', 'ClusterContinuousBackupConfigArgsDict']]] = None,
1546
1583
  database_version: Optional[pulumi.Input[_builtins.str]] = None,
1547
1584
  deletion_policy: Optional[pulumi.Input[_builtins.str]] = None,
1585
+ deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None,
1548
1586
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
1549
1587
  encryption_config: Optional[pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']]] = None,
1550
1588
  etag: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1578,6 +1616,7 @@ class Cluster(pulumi.CustomResource):
1578
1616
  __props__.__dict__["continuous_backup_config"] = continuous_backup_config
1579
1617
  __props__.__dict__["database_version"] = database_version
1580
1618
  __props__.__dict__["deletion_policy"] = deletion_policy
1619
+ __props__.__dict__["deletion_protection"] = deletion_protection
1581
1620
  __props__.__dict__["display_name"] = display_name
1582
1621
  __props__.__dict__["encryption_config"] = encryption_config
1583
1622
  __props__.__dict__["etag"] = etag
@@ -1628,6 +1667,7 @@ class Cluster(pulumi.CustomResource):
1628
1667
  continuous_backup_infos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterContinuousBackupInfoArgs', 'ClusterContinuousBackupInfoArgsDict']]]]] = None,
1629
1668
  database_version: Optional[pulumi.Input[_builtins.str]] = None,
1630
1669
  deletion_policy: Optional[pulumi.Input[_builtins.str]] = None,
1670
+ deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None,
1631
1671
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
1632
1672
  effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1633
1673
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
@@ -1743,6 +1783,7 @@ class Cluster(pulumi.CustomResource):
1743
1783
  __props__.__dict__["continuous_backup_infos"] = continuous_backup_infos
1744
1784
  __props__.__dict__["database_version"] = database_version
1745
1785
  __props__.__dict__["deletion_policy"] = deletion_policy
1786
+ __props__.__dict__["deletion_protection"] = deletion_protection
1746
1787
  __props__.__dict__["display_name"] = display_name
1747
1788
  __props__.__dict__["effective_annotations"] = effective_annotations
1748
1789
  __props__.__dict__["effective_labels"] = effective_labels
@@ -1857,6 +1898,11 @@ class Cluster(pulumi.CustomResource):
1857
1898
  """
1858
1899
  return pulumi.get(self, "deletion_policy")
1859
1900
 
1901
+ @_builtins.property
1902
+ @pulumi.getter(name="deletionProtection")
1903
+ def deletion_protection(self) -> pulumi.Output[Optional[_builtins.bool]]:
1904
+ return pulumi.get(self, "deletion_protection")
1905
+
1860
1906
  @_builtins.property
1861
1907
  @pulumi.getter(name="displayName")
1862
1908
  def display_name(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -27,7 +27,7 @@ class GetClusterResult:
27
27
  """
28
28
  A collection of values returned by getCluster.
29
29
  """
30
- def __init__(__self__, annotations=None, automated_backup_policies=None, backup_sources=None, cluster_id=None, cluster_type=None, continuous_backup_configs=None, continuous_backup_infos=None, database_version=None, deletion_policy=None, display_name=None, effective_annotations=None, effective_labels=None, encryption_configs=None, encryption_infos=None, etag=None, id=None, initial_users=None, labels=None, location=None, maintenance_update_policies=None, migration_sources=None, name=None, network_configs=None, project=None, psc_configs=None, pulumi_labels=None, reconciling=None, restore_backup_sources=None, restore_continuous_backup_sources=None, secondary_configs=None, skip_await_major_version_upgrade=None, state=None, subscription_type=None, trial_metadatas=None, uid=None):
30
+ def __init__(__self__, annotations=None, automated_backup_policies=None, backup_sources=None, cluster_id=None, cluster_type=None, continuous_backup_configs=None, continuous_backup_infos=None, database_version=None, deletion_policy=None, deletion_protection=None, display_name=None, effective_annotations=None, effective_labels=None, encryption_configs=None, encryption_infos=None, etag=None, id=None, initial_users=None, labels=None, location=None, maintenance_update_policies=None, migration_sources=None, name=None, network_configs=None, project=None, psc_configs=None, pulumi_labels=None, reconciling=None, restore_backup_sources=None, restore_continuous_backup_sources=None, secondary_configs=None, skip_await_major_version_upgrade=None, state=None, subscription_type=None, trial_metadatas=None, uid=None):
31
31
  if annotations and not isinstance(annotations, dict):
32
32
  raise TypeError("Expected argument 'annotations' to be a dict")
33
33
  pulumi.set(__self__, "annotations", annotations)
@@ -55,6 +55,9 @@ class GetClusterResult:
55
55
  if deletion_policy and not isinstance(deletion_policy, str):
56
56
  raise TypeError("Expected argument 'deletion_policy' to be a str")
57
57
  pulumi.set(__self__, "deletion_policy", deletion_policy)
58
+ if deletion_protection and not isinstance(deletion_protection, bool):
59
+ raise TypeError("Expected argument 'deletion_protection' to be a bool")
60
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
58
61
  if display_name and not isinstance(display_name, str):
59
62
  raise TypeError("Expected argument 'display_name' to be a str")
60
63
  pulumi.set(__self__, "display_name", display_name)
@@ -179,6 +182,11 @@ class GetClusterResult:
179
182
  def deletion_policy(self) -> _builtins.str:
180
183
  return pulumi.get(self, "deletion_policy")
181
184
 
185
+ @_builtins.property
186
+ @pulumi.getter(name="deletionProtection")
187
+ def deletion_protection(self) -> _builtins.bool:
188
+ return pulumi.get(self, "deletion_protection")
189
+
182
190
  @_builtins.property
183
191
  @pulumi.getter(name="displayName")
184
192
  def display_name(self) -> _builtins.str:
@@ -328,6 +336,7 @@ class AwaitableGetClusterResult(GetClusterResult):
328
336
  continuous_backup_infos=self.continuous_backup_infos,
329
337
  database_version=self.database_version,
330
338
  deletion_policy=self.deletion_policy,
339
+ deletion_protection=self.deletion_protection,
331
340
  display_name=self.display_name,
332
341
  effective_annotations=self.effective_annotations,
333
342
  effective_labels=self.effective_labels,
@@ -397,6 +406,7 @@ def get_cluster(cluster_id: Optional[_builtins.str] = None,
397
406
  continuous_backup_infos=pulumi.get(__ret__, 'continuous_backup_infos'),
398
407
  database_version=pulumi.get(__ret__, 'database_version'),
399
408
  deletion_policy=pulumi.get(__ret__, 'deletion_policy'),
409
+ deletion_protection=pulumi.get(__ret__, 'deletion_protection'),
400
410
  display_name=pulumi.get(__ret__, 'display_name'),
401
411
  effective_annotations=pulumi.get(__ret__, 'effective_annotations'),
402
412
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
@@ -463,6 +473,7 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
463
473
  continuous_backup_infos=pulumi.get(__response__, 'continuous_backup_infos'),
464
474
  database_version=pulumi.get(__response__, 'database_version'),
465
475
  deletion_policy=pulumi.get(__response__, 'deletion_policy'),
476
+ deletion_protection=pulumi.get(__response__, 'deletion_protection'),
466
477
  display_name=pulumi.get(__response__, 'display_name'),
467
478
  effective_annotations=pulumi.get(__response__, 'effective_annotations'),
468
479
  effective_labels=pulumi.get(__response__, 'effective_labels'),
@@ -911,7 +911,8 @@ class Instance(pulumi.CustomResource):
911
911
  },
912
912
  initial_user={
913
913
  "password": "alloydb-cluster",
914
- })
914
+ },
915
+ deletion_protection=False)
915
916
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
916
917
  name="alloydb-cluster",
917
918
  address_type="INTERNAL",
@@ -944,7 +945,8 @@ class Instance(pulumi.CustomResource):
944
945
  location="us-central1",
945
946
  network_config={
946
947
  "network": default.id,
947
- })
948
+ },
949
+ deletion_protection=False)
948
950
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
949
951
  name="alloydb-secondary-instance",
950
952
  address_type="INTERNAL",
@@ -977,6 +979,7 @@ class Instance(pulumi.CustomResource):
977
979
  "primary_cluster_name": primary.name,
978
980
  },
979
981
  deletion_policy="FORCE",
982
+ deletion_protection=False,
980
983
  opts = pulumi.ResourceOptions(depends_on=[primary_instance]))
981
984
  secondary_instance = gcp.alloydb.Instance("secondary",
982
985
  cluster=secondary.name,
@@ -1082,7 +1085,8 @@ class Instance(pulumi.CustomResource):
1082
1085
  },
1083
1086
  initial_user={
1084
1087
  "password": "alloydb-cluster",
1085
- })
1088
+ },
1089
+ deletion_protection=False)
1086
1090
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
1087
1091
  name="alloydb-cluster",
1088
1092
  address_type="INTERNAL",
@@ -1115,7 +1119,8 @@ class Instance(pulumi.CustomResource):
1115
1119
  location="us-central1",
1116
1120
  network_config={
1117
1121
  "network": default.id,
1118
- })
1122
+ },
1123
+ deletion_protection=False)
1119
1124
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
1120
1125
  name="alloydb-secondary-instance",
1121
1126
  address_type="INTERNAL",
@@ -1148,6 +1153,7 @@ class Instance(pulumi.CustomResource):
1148
1153
  "primary_cluster_name": primary.name,
1149
1154
  },
1150
1155
  deletion_policy="FORCE",
1156
+ deletion_protection=False,
1151
1157
  opts = pulumi.ResourceOptions(depends_on=[primary_instance]))
1152
1158
  secondary_instance = gcp.alloydb.Instance("secondary",
1153
1159
  cluster=secondary.name,
@@ -254,7 +254,8 @@ class User(pulumi.CustomResource):
254
254
  },
255
255
  initial_user={
256
256
  "password": "cluster_secret",
257
- })
257
+ },
258
+ deletion_protection=False)
258
259
  default_network = gcp.compute.Network("default", name="alloydb-network")
259
260
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
260
261
  name="alloydb-cluster",
@@ -295,7 +296,8 @@ class User(pulumi.CustomResource):
295
296
  },
296
297
  initial_user={
297
298
  "password": "cluster_secret",
298
- })
299
+ },
300
+ deletion_protection=False)
299
301
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
300
302
  name="alloydb-cluster",
301
303
  address_type="INTERNAL",
@@ -386,7 +388,8 @@ class User(pulumi.CustomResource):
386
388
  },
387
389
  initial_user={
388
390
  "password": "cluster_secret",
389
- })
391
+ },
392
+ deletion_protection=False)
390
393
  default_network = gcp.compute.Network("default", name="alloydb-network")
391
394
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
392
395
  name="alloydb-cluster",
@@ -427,7 +430,8 @@ class User(pulumi.CustomResource):
427
430
  },
428
431
  initial_user={
429
432
  "password": "cluster_secret",
430
- })
433
+ },
434
+ deletion_protection=False)
431
435
  private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
432
436
  name="alloydb-cluster",
433
437
  address_type="INTERNAL",