pulumi-gcp 7.3.0a1702567892__py3-none-any.whl → 7.3.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +129 -0
  2. pulumi_gcp/artifactregistry/_inputs.py +88 -0
  3. pulumi_gcp/artifactregistry/outputs.py +148 -0
  4. pulumi_gcp/artifactregistry/repository.py +116 -16
  5. pulumi_gcp/bigquery/_inputs.py +110 -0
  6. pulumi_gcp/bigquery/connection.py +123 -3
  7. pulumi_gcp/bigquery/outputs.py +145 -0
  8. pulumi_gcp/cloudbuild/_inputs.py +241 -1
  9. pulumi_gcp/cloudbuild/outputs.py +353 -2
  10. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -2
  11. pulumi_gcp/cloudfunctionsv2/outputs.py +6 -2
  12. pulumi_gcp/cloudidentity/_inputs.py +54 -5
  13. pulumi_gcp/cloudidentity/group_membership.py +0 -8
  14. pulumi_gcp/cloudidentity/outputs.py +99 -4
  15. pulumi_gcp/cloudrunv2/_inputs.py +8 -4
  16. pulumi_gcp/cloudrunv2/job.py +44 -0
  17. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  18. pulumi_gcp/cloudrunv2/service.py +42 -0
  19. pulumi_gcp/cloudtasks/queue.py +0 -10
  20. pulumi_gcp/composer/_inputs.py +17 -4
  21. pulumi_gcp/composer/outputs.py +20 -4
  22. pulumi_gcp/compute/_inputs.py +46 -0
  23. pulumi_gcp/compute/get_global_forwarding_rule.py +11 -1
  24. pulumi_gcp/compute/global_forwarding_rule.py +69 -0
  25. pulumi_gcp/compute/outputs.py +75 -0
  26. pulumi_gcp/config/__init__.pyi +6 -0
  27. pulumi_gcp/config/vars.py +12 -0
  28. pulumi_gcp/container/_inputs.py +58 -0
  29. pulumi_gcp/container/node_pool.py +68 -14
  30. pulumi_gcp/container/outputs.py +68 -0
  31. pulumi_gcp/dataform/__init__.py +4 -0
  32. pulumi_gcp/dataform/_inputs.py +80 -0
  33. pulumi_gcp/dataform/get_repository_iam_policy.py +144 -0
  34. pulumi_gcp/dataform/outputs.py +56 -0
  35. pulumi_gcp/dataform/repository_iam_binding.py +325 -0
  36. pulumi_gcp/dataform/repository_iam_member.py +325 -0
  37. pulumi_gcp/dataform/repository_iam_policy.py +254 -0
  38. pulumi_gcp/dataloss/_inputs.py +29 -26
  39. pulumi_gcp/dataloss/outputs.py +28 -25
  40. pulumi_gcp/dataloss/prevention_job_trigger.py +78 -0
  41. pulumi_gcp/datastream/connection_profile.py +82 -4
  42. pulumi_gcp/datastream/stream.py +32 -22
  43. pulumi_gcp/firestore/database.py +146 -28
  44. pulumi_gcp/gkehub/_inputs.py +821 -3
  45. pulumi_gcp/gkehub/feature.py +176 -0
  46. pulumi_gcp/gkehub/feature_membership.py +105 -59
  47. pulumi_gcp/gkehub/fleet.py +70 -2
  48. pulumi_gcp/gkehub/outputs.py +819 -3
  49. pulumi_gcp/gkehub/scope.py +2 -2
  50. pulumi_gcp/iam/_inputs.py +72 -0
  51. pulumi_gcp/iam/outputs.py +79 -0
  52. pulumi_gcp/iam/workforce_pool.py +75 -0
  53. pulumi_gcp/identityplatform/project_default_config.py +4 -0
  54. pulumi_gcp/logging/__init__.py +3 -0
  55. pulumi_gcp/logging/get_folder_settings.py +197 -0
  56. pulumi_gcp/logging/get_organization_settings.py +197 -0
  57. pulumi_gcp/logging/get_project_settings.py +197 -0
  58. pulumi_gcp/migrationcenter/__init__.py +8 -0
  59. pulumi_gcp/migrationcenter/group.py +652 -0
  60. pulumi_gcp/netapp/__init__.py +8 -0
  61. pulumi_gcp/netapp/storage_pool.py +970 -0
  62. pulumi_gcp/projects/iam_custom_role.py +7 -7
  63. pulumi_gcp/provider.py +60 -0
  64. pulumi_gcp/securesourcemanager/__init__.py +14 -0
  65. pulumi_gcp/securesourcemanager/_inputs.py +94 -0
  66. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +168 -0
  67. pulumi_gcp/securesourcemanager/instance.py +607 -0
  68. pulumi_gcp/securesourcemanager/instance_iam_binding.py +325 -0
  69. pulumi_gcp/securesourcemanager/instance_iam_member.py +325 -0
  70. pulumi_gcp/securesourcemanager/instance_iam_policy.py +254 -0
  71. pulumi_gcp/securesourcemanager/outputs.py +70 -0
  72. pulumi_gcp/securitycenter/__init__.py +1 -0
  73. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +528 -0
  74. pulumi_gcp/sql/_inputs.py +2 -2
  75. pulumi_gcp/sql/database_instance.py +4 -4
  76. pulumi_gcp/sql/outputs.py +2 -2
  77. pulumi_gcp/storage/_inputs.py +16 -0
  78. pulumi_gcp/storage/outputs.py +21 -0
  79. pulumi_gcp/vertex/__init__.py +4 -0
  80. pulumi_gcp/vertex/_inputs.py +80 -0
  81. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +325 -0
  82. pulumi_gcp/vertex/ai_endpoint_iam_member.py +325 -0
  83. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +254 -0
  84. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +140 -0
  85. pulumi_gcp/vertex/outputs.py +56 -0
  86. pulumi_gcp/vmwareengine/__init__.py +5 -0
  87. pulumi_gcp/vmwareengine/_inputs.py +104 -2
  88. pulumi_gcp/vmwareengine/get_network.py +14 -4
  89. pulumi_gcp/vmwareengine/get_network_peering.py +260 -0
  90. pulumi_gcp/vmwareengine/get_network_policy.py +228 -0
  91. pulumi_gcp/vmwareengine/get_nsx_credentials.py +133 -0
  92. pulumi_gcp/vmwareengine/get_private_cloud.py +14 -4
  93. pulumi_gcp/vmwareengine/network.py +41 -7
  94. pulumi_gcp/vmwareengine/network_peering.py +959 -0
  95. pulumi_gcp/vmwareengine/network_policy.py +836 -0
  96. pulumi_gcp/vmwareengine/outputs.py +133 -2
  97. pulumi_gcp/vmwareengine/private_cloud.py +20 -68
  98. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/RECORD +101 -72
  100. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,7 @@ class DatabaseArgs:
19
19
  app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
20
20
  concurrency_mode: Optional[pulumi.Input[str]] = None,
21
21
  delete_protection_state: Optional[pulumi.Input[str]] = None,
22
+ deletion_policy: Optional[pulumi.Input[str]] = None,
22
23
  name: Optional[pulumi.Input[str]] = None,
23
24
  point_in_time_recovery_enablement: Optional[pulumi.Input[str]] = None,
24
25
  project: Optional[pulumi.Input[str]] = None):
@@ -37,8 +38,14 @@ class DatabaseArgs:
37
38
  Possible values are: `ENABLED`, `DISABLED`.
38
39
  :param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
39
40
  Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
40
- :param pulumi.Input[str] delete_protection_state: State of delete protection for the database.
41
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
41
+ :param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
42
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
43
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
44
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
45
+ :param pulumi.Input[str] deletion_policy: Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
46
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
47
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
48
+ 'delete_protection'.
42
49
  :param pulumi.Input[str] name: The ID to use for the database, which will become the final
43
50
  component of the database's resource name. This value should be 4-63
44
51
  characters. Valid characters are /[a-z][0-9]-/ with first character
@@ -63,6 +70,8 @@ class DatabaseArgs:
63
70
  pulumi.set(__self__, "concurrency_mode", concurrency_mode)
64
71
  if delete_protection_state is not None:
65
72
  pulumi.set(__self__, "delete_protection_state", delete_protection_state)
73
+ if deletion_policy is not None:
74
+ pulumi.set(__self__, "deletion_policy", deletion_policy)
66
75
  if name is not None:
67
76
  pulumi.set(__self__, "name", name)
68
77
  if point_in_time_recovery_enablement is not None:
@@ -131,8 +140,10 @@ class DatabaseArgs:
131
140
  @pulumi.getter(name="deleteProtectionState")
132
141
  def delete_protection_state(self) -> Optional[pulumi.Input[str]]:
133
142
  """
134
- State of delete protection for the database.
135
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
143
+ State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
144
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
145
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
146
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
136
147
  """
137
148
  return pulumi.get(self, "delete_protection_state")
138
149
 
@@ -140,6 +151,21 @@ class DatabaseArgs:
140
151
  def delete_protection_state(self, value: Optional[pulumi.Input[str]]):
141
152
  pulumi.set(self, "delete_protection_state", value)
142
153
 
154
+ @property
155
+ @pulumi.getter(name="deletionPolicy")
156
+ def deletion_policy(self) -> Optional[pulumi.Input[str]]:
157
+ """
158
+ Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
159
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
160
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
161
+ 'delete_protection'.
162
+ """
163
+ return pulumi.get(self, "deletion_policy")
164
+
165
+ @deletion_policy.setter
166
+ def deletion_policy(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "deletion_policy", value)
168
+
143
169
  @property
144
170
  @pulumi.getter
145
171
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -196,6 +222,7 @@ class _DatabaseState:
196
222
  concurrency_mode: Optional[pulumi.Input[str]] = None,
197
223
  create_time: Optional[pulumi.Input[str]] = None,
198
224
  delete_protection_state: Optional[pulumi.Input[str]] = None,
225
+ deletion_policy: Optional[pulumi.Input[str]] = None,
199
226
  earliest_version_time: Optional[pulumi.Input[str]] = None,
200
227
  etag: Optional[pulumi.Input[str]] = None,
201
228
  key_prefix: Optional[pulumi.Input[str]] = None,
@@ -214,8 +241,14 @@ class _DatabaseState:
214
241
  :param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
215
242
  Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
216
243
  :param pulumi.Input[str] create_time: Output only. The timestamp at which this database was created.
217
- :param pulumi.Input[str] delete_protection_state: State of delete protection for the database.
218
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
244
+ :param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
245
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
246
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
247
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
248
+ :param pulumi.Input[str] deletion_policy: Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
249
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
250
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
251
+ 'delete_protection'.
219
252
  :param pulumi.Input[str] earliest_version_time: Output only. The earliest timestamp at which older versions of the data can be read from the database. See versionRetentionPeriod above; this field is populated with now - versionRetentionPeriod.
220
253
  This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
221
254
  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -265,6 +298,8 @@ class _DatabaseState:
265
298
  pulumi.set(__self__, "create_time", create_time)
266
299
  if delete_protection_state is not None:
267
300
  pulumi.set(__self__, "delete_protection_state", delete_protection_state)
301
+ if deletion_policy is not None:
302
+ pulumi.set(__self__, "deletion_policy", deletion_policy)
268
303
  if earliest_version_time is not None:
269
304
  pulumi.set(__self__, "earliest_version_time", earliest_version_time)
270
305
  if etag is not None:
@@ -330,8 +365,10 @@ class _DatabaseState:
330
365
  @pulumi.getter(name="deleteProtectionState")
331
366
  def delete_protection_state(self) -> Optional[pulumi.Input[str]]:
332
367
  """
333
- State of delete protection for the database.
334
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
368
+ State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
369
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
370
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
371
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
335
372
  """
336
373
  return pulumi.get(self, "delete_protection_state")
337
374
 
@@ -339,6 +376,21 @@ class _DatabaseState:
339
376
  def delete_protection_state(self, value: Optional[pulumi.Input[str]]):
340
377
  pulumi.set(self, "delete_protection_state", value)
341
378
 
379
+ @property
380
+ @pulumi.getter(name="deletionPolicy")
381
+ def deletion_policy(self) -> Optional[pulumi.Input[str]]:
382
+ """
383
+ Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
384
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
385
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
386
+ 'delete_protection'.
387
+ """
388
+ return pulumi.get(self, "deletion_policy")
389
+
390
+ @deletion_policy.setter
391
+ def deletion_policy(self, value: Optional[pulumi.Input[str]]):
392
+ pulumi.set(self, "deletion_policy", value)
393
+
342
394
  @property
343
395
  @pulumi.getter(name="earliestVersionTime")
344
396
  def earliest_version_time(self) -> Optional[pulumi.Input[str]]:
@@ -509,6 +561,7 @@ class Database(pulumi.CustomResource):
509
561
  app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
510
562
  concurrency_mode: Optional[pulumi.Input[str]] = None,
511
563
  delete_protection_state: Optional[pulumi.Input[str]] = None,
564
+ deletion_policy: Optional[pulumi.Input[str]] = None,
512
565
  location_id: Optional[pulumi.Input[str]] = None,
513
566
  name: Optional[pulumi.Input[str]] = None,
514
567
  point_in_time_recovery_enablement: Optional[pulumi.Input[str]] = None,
@@ -531,6 +584,19 @@ class Database(pulumi.CustomResource):
531
584
  * [Official Documentation](https://cloud.google.com/firestore/docs/)
532
585
 
533
586
  ## Example Usage
587
+ ### Firestore Default Database
588
+
589
+ ```python
590
+ import pulumi
591
+ import pulumi_gcp as gcp
592
+
593
+ database = gcp.firestore.Database("database",
594
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
595
+ deletion_policy="DELETE",
596
+ location_id="nam5",
597
+ project="my-project-name",
598
+ type="FIRESTORE_NATIVE")
599
+ ```
534
600
  ### Firestore Database
535
601
 
536
602
  ```python
@@ -540,36 +606,41 @@ class Database(pulumi.CustomResource):
540
606
  database = gcp.firestore.Database("database",
541
607
  app_engine_integration_mode="DISABLED",
542
608
  concurrency_mode="OPTIMISTIC",
609
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
610
+ deletion_policy="DELETE",
543
611
  location_id="nam5",
544
612
  point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
545
613
  project="my-project-name",
546
614
  type="FIRESTORE_NATIVE")
547
615
  ```
548
- ### Firestore Database In Datastore Mode
616
+ ### Firestore Default Database In Datastore Mode
549
617
 
550
618
  ```python
551
619
  import pulumi
552
620
  import pulumi_gcp as gcp
553
621
 
554
622
  datastore_mode_database = gcp.firestore.Database("datastoreModeDatabase",
555
- app_engine_integration_mode="DISABLED",
556
- concurrency_mode="OPTIMISTIC",
623
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
624
+ deletion_policy="DELETE",
557
625
  location_id="nam5",
558
- point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
559
626
  project="my-project-name",
560
627
  type="DATASTORE_MODE")
561
628
  ```
562
- ### Firestore Database With Delete Protection
629
+ ### Firestore Database In Datastore Mode
563
630
 
564
631
  ```python
565
632
  import pulumi
566
633
  import pulumi_gcp as gcp
567
634
 
568
- database = gcp.firestore.Database("database",
635
+ datastore_mode_database = gcp.firestore.Database("datastoreModeDatabase",
636
+ app_engine_integration_mode="DISABLED",
637
+ concurrency_mode="OPTIMISTIC",
569
638
  delete_protection_state="DELETE_PROTECTION_ENABLED",
639
+ deletion_policy="DELETE",
570
640
  location_id="nam5",
641
+ point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
571
642
  project="my-project-name",
572
- type="FIRESTORE_NATIVE")
643
+ type="DATASTORE_MODE")
573
644
  ```
574
645
 
575
646
  ## Import
@@ -602,8 +673,14 @@ class Database(pulumi.CustomResource):
602
673
  Possible values are: `ENABLED`, `DISABLED`.
603
674
  :param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
604
675
  Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
605
- :param pulumi.Input[str] delete_protection_state: State of delete protection for the database.
606
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
676
+ :param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
677
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
678
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
679
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
680
+ :param pulumi.Input[str] deletion_policy: Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
681
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
682
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
683
+ 'delete_protection'.
607
684
  :param pulumi.Input[str] location_id: The location of the database. Available locations are listed at
608
685
  https://cloud.google.com/firestore/docs/locations.
609
686
  :param pulumi.Input[str] name: The ID to use for the database, which will become the final
@@ -651,6 +728,19 @@ class Database(pulumi.CustomResource):
651
728
  * [Official Documentation](https://cloud.google.com/firestore/docs/)
652
729
 
653
730
  ## Example Usage
731
+ ### Firestore Default Database
732
+
733
+ ```python
734
+ import pulumi
735
+ import pulumi_gcp as gcp
736
+
737
+ database = gcp.firestore.Database("database",
738
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
739
+ deletion_policy="DELETE",
740
+ location_id="nam5",
741
+ project="my-project-name",
742
+ type="FIRESTORE_NATIVE")
743
+ ```
654
744
  ### Firestore Database
655
745
 
656
746
  ```python
@@ -660,36 +750,41 @@ class Database(pulumi.CustomResource):
660
750
  database = gcp.firestore.Database("database",
661
751
  app_engine_integration_mode="DISABLED",
662
752
  concurrency_mode="OPTIMISTIC",
753
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
754
+ deletion_policy="DELETE",
663
755
  location_id="nam5",
664
756
  point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
665
757
  project="my-project-name",
666
758
  type="FIRESTORE_NATIVE")
667
759
  ```
668
- ### Firestore Database In Datastore Mode
760
+ ### Firestore Default Database In Datastore Mode
669
761
 
670
762
  ```python
671
763
  import pulumi
672
764
  import pulumi_gcp as gcp
673
765
 
674
766
  datastore_mode_database = gcp.firestore.Database("datastoreModeDatabase",
675
- app_engine_integration_mode="DISABLED",
676
- concurrency_mode="OPTIMISTIC",
767
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
768
+ deletion_policy="DELETE",
677
769
  location_id="nam5",
678
- point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
679
770
  project="my-project-name",
680
771
  type="DATASTORE_MODE")
681
772
  ```
682
- ### Firestore Database With Delete Protection
773
+ ### Firestore Database In Datastore Mode
683
774
 
684
775
  ```python
685
776
  import pulumi
686
777
  import pulumi_gcp as gcp
687
778
 
688
- database = gcp.firestore.Database("database",
779
+ datastore_mode_database = gcp.firestore.Database("datastoreModeDatabase",
780
+ app_engine_integration_mode="DISABLED",
781
+ concurrency_mode="OPTIMISTIC",
689
782
  delete_protection_state="DELETE_PROTECTION_ENABLED",
783
+ deletion_policy="DELETE",
690
784
  location_id="nam5",
785
+ point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
691
786
  project="my-project-name",
692
- type="FIRESTORE_NATIVE")
787
+ type="DATASTORE_MODE")
693
788
  ```
694
789
 
695
790
  ## Import
@@ -734,6 +829,7 @@ class Database(pulumi.CustomResource):
734
829
  app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
735
830
  concurrency_mode: Optional[pulumi.Input[str]] = None,
736
831
  delete_protection_state: Optional[pulumi.Input[str]] = None,
832
+ deletion_policy: Optional[pulumi.Input[str]] = None,
737
833
  location_id: Optional[pulumi.Input[str]] = None,
738
834
  name: Optional[pulumi.Input[str]] = None,
739
835
  point_in_time_recovery_enablement: Optional[pulumi.Input[str]] = None,
@@ -751,6 +847,7 @@ class Database(pulumi.CustomResource):
751
847
  __props__.__dict__["app_engine_integration_mode"] = app_engine_integration_mode
752
848
  __props__.__dict__["concurrency_mode"] = concurrency_mode
753
849
  __props__.__dict__["delete_protection_state"] = delete_protection_state
850
+ __props__.__dict__["deletion_policy"] = deletion_policy
754
851
  if location_id is None and not opts.urn:
755
852
  raise TypeError("Missing required property 'location_id'")
756
853
  __props__.__dict__["location_id"] = location_id
@@ -781,6 +878,7 @@ class Database(pulumi.CustomResource):
781
878
  concurrency_mode: Optional[pulumi.Input[str]] = None,
782
879
  create_time: Optional[pulumi.Input[str]] = None,
783
880
  delete_protection_state: Optional[pulumi.Input[str]] = None,
881
+ deletion_policy: Optional[pulumi.Input[str]] = None,
784
882
  earliest_version_time: Optional[pulumi.Input[str]] = None,
785
883
  etag: Optional[pulumi.Input[str]] = None,
786
884
  key_prefix: Optional[pulumi.Input[str]] = None,
@@ -804,8 +902,14 @@ class Database(pulumi.CustomResource):
804
902
  :param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
805
903
  Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
806
904
  :param pulumi.Input[str] create_time: Output only. The timestamp at which this database was created.
807
- :param pulumi.Input[str] delete_protection_state: State of delete protection for the database.
808
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
905
+ :param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
906
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
907
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
908
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
909
+ :param pulumi.Input[str] deletion_policy: Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
910
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
911
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
912
+ 'delete_protection'.
809
913
  :param pulumi.Input[str] earliest_version_time: Output only. The earliest timestamp at which older versions of the data can be read from the database. See versionRetentionPeriod above; this field is populated with now - versionRetentionPeriod.
810
914
  This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
811
915
  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -855,6 +959,7 @@ class Database(pulumi.CustomResource):
855
959
  __props__.__dict__["concurrency_mode"] = concurrency_mode
856
960
  __props__.__dict__["create_time"] = create_time
857
961
  __props__.__dict__["delete_protection_state"] = delete_protection_state
962
+ __props__.__dict__["deletion_policy"] = deletion_policy
858
963
  __props__.__dict__["earliest_version_time"] = earliest_version_time
859
964
  __props__.__dict__["etag"] = etag
860
965
  __props__.__dict__["key_prefix"] = key_prefix
@@ -898,11 +1003,24 @@ class Database(pulumi.CustomResource):
898
1003
  @pulumi.getter(name="deleteProtectionState")
899
1004
  def delete_protection_state(self) -> pulumi.Output[str]:
900
1005
  """
901
- State of delete protection for the database.
902
- Possible values are: `DELETE_PROTECTION_STATE_UNSPECIFIED`, `DELETE_PROTECTION_ENABLED`, `DELETE_PROTECTION_DISABLED`.
1006
+ State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
1007
+ default value is 'DELETE_PROTECTION_STATE_UNSPECIFIED', which is currently equivalent to 'DELETE_PROTECTION_DISABLED'.
1008
+ **Note:** Additionally, to delete this database using 'terraform destroy', 'deletion_policy' must be set to 'DELETE'.
1009
+ Possible values: ["DELETE_PROTECTION_STATE_UNSPECIFIED", "DELETE_PROTECTION_ENABLED", "DELETE_PROTECTION_DISABLED"]
903
1010
  """
904
1011
  return pulumi.get(self, "delete_protection_state")
905
1012
 
1013
+ @property
1014
+ @pulumi.getter(name="deletionPolicy")
1015
+ def deletion_policy(self) -> pulumi.Output[Optional[str]]:
1016
+ """
1017
+ Deletion behavior for this database. If the deletion policy is 'ABANDON', the database will be removed from Terraform
1018
+ state but not deleted from Google Cloud upon destruction. If the deletion policy is 'DELETE', the database will both be
1019
+ removed from Terraform state and deleted from Google Cloud upon destruction. The default value is 'ABANDON'. See also
1020
+ 'delete_protection'.
1021
+ """
1022
+ return pulumi.get(self, "deletion_policy")
1023
+
906
1024
  @property
907
1025
  @pulumi.getter(name="earliestVersionTime")
908
1026
  def earliest_version_time(self) -> pulumi.Output[str]: