Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
592fb27
adds deletion_policy field generation to templates (feature branch) (…
NickElliot Feb 4, 2026
59e2f9f
deletion policy generation accessapproval-artifactregistry (#16324)
NickElliot Feb 12, 2026
0134df4
deletion policy generation backupdr-blockchainnodeengine (#16325)
NickElliot Feb 12, 2026
7f1b014
deletion policy generation certificatemanager-containerattached (#16382)
NickElliot Feb 18, 2026
618ffb2
deletion policy generation databasemigrationservice-documentaiwarehou…
NickElliot Feb 18, 2026
1e01019
deletion policy generation edgecontainer-firestore (#16462)
NickElliot Feb 18, 2026
e3e4515
add logic to short circuit updates in deletion policy generation (#16…
NickElliot Feb 24, 2026
e58cd37
deletion policy generation iam2-kms (#16529)
NickElliot Feb 26, 2026
b1b0797
deletion policy generation gemini - healthcare (#16511)
NickElliot Feb 26, 2026
c6022ed
add deletion_policy_exclude to firestore index
NickElliot Mar 4, 2026
d01762f
Sync feature branch universal deletion policy (#16610)
NickElliot Mar 5, 2026
bf6e246
logging-monitoring
NickElliot Mar 5, 2026
e4c90b7
deletion policy generation logging-monitoring (#16626)
NickElliot Mar 5, 2026
cee5fca
deletion policy generation parallelstore-runtimeconfig (#16628)
NickElliot Mar 5, 2026
30b3b9f
deletion policy generation saasservicemgmt-storagetransfer (#16633)
NickElliot Mar 10, 2026
4a8f391
deletion policy generation tags-workstations (#16634)
NickElliot Mar 10, 2026
161981e
deletion policy generation netapp-oslogin (#16627)
NickElliot Mar 16, 2026
072535b
add deletion_policy_exclude to chronicle data table
NickElliot Mar 17, 2026
84cc95e
sync universal deletion feature branch march 17 (#16745)
NickElliot Mar 18, 2026
52fdedb
apigee_app
NickElliot Mar 23, 2026
7020449
apigee_sharedflow
NickElliot Mar 23, 2026
4cc8c9c
apigee_sharedflow_deployment
NickElliot Mar 23, 2026
9e49005
apigee_flowhook
NickElliot Mar 23, 2026
f9187b3
apigee_keystores_aliases_pkcs12
NickElliot Mar 23, 2026
cc9148d
big*
NickElliot Mar 23, 2026
1260a7b
cloud functions function
NickElliot Mar 24, 2026
6f9b689
composer environment
NickElliot Mar 24, 2026
f2eadcf
composer workloads secret
NickElliot Mar 24, 2026
44928ce
compute part 1
NickElliot Mar 24, 2026
5738618
gofmt/add to data source schema manually
NickElliot Mar 24, 2026
2dbcbb8
add customize diff for provider-level declaring deletion_policy default
NickElliot Mar 27, 2026
7b528f8
comment cleanup
NickElliot Mar 27, 2026
11a5463
changing to isNull()
NickElliot Mar 30, 2026
77fff66
add customize diff for provider-level declaring deletion_policy defau…
NickElliot Mar 30, 2026
dfe80b5
Merge remote-tracking branch 'upstream/FEATURE-BRANCH-universal-delet…
NickElliot Mar 31, 2026
b0a5dd2
default refactor
NickElliot Mar 31, 2026
b2d91fd
gofmt all
NickElliot Mar 31, 2026
da0a50c
imports
NickElliot Mar 31, 2026
245426a
attached disk schema fix
NickElliot Apr 1, 2026
3d3d608
shared code
NickElliot Apr 2, 2026
d6b01e3
refactor for shared code
NickElliot Apr 2, 2026
0c80867
fixed tpgresource reference
NickElliot Apr 2, 2026
04d3b43
gofmt
NickElliot Apr 2, 2026
569178b
Universal Deletion Handwritten Part 1 (#16814)
NickElliot Apr 2, 2026
de75bba
in progress
NickElliot Apr 1, 2026
ba13237
shared refactor+meta yamls
NickElliot Apr 2, 2026
ea6b846
docs
NickElliot Apr 2, 2026
f7548db
gofmt
NickElliot Apr 2, 2026
dd5afe7
container node pool
NickElliot Apr 2, 2026
93eadf5
dataflow
NickElliot Apr 2, 2026
e1dcf18
dataproc
NickElliot Apr 2, 2026
9815f12
fix
NickElliot Apr 2, 2026
bfbed37
dns-folder-endpoints
NickElliot Apr 2, 2026
a99fbc0
fofmt
NickElliot Apr 2, 2026
f0e672b
fofmt
NickElliot Apr 2, 2026
3463639
logging
NickElliot Apr 2, 2026
c918dd5
unit tests
NickElliot Apr 2, 2026
12b8531
manually add to google folder ds
NickElliot Apr 2, 2026
c9cd21d
error
NickElliot Apr 2, 2026
92b47b7
exclude reasoning engine from universal deletion policy
NickElliot Apr 3, 2026
ebd7bee
sync feature branch for universal deletion policy 4/2 (#16920)
NickElliot Apr 3, 2026
497dc0f
Universal Deletion Handwritten Part 2 (#16915)
NickElliot Apr 3, 2026
63892e1
monitoring/os
NickElliot Apr 2, 2026
40c64db
add cdiff/provider support to project
NickElliot Apr 2, 2026
44f634f
monitoring-resourcemanager
NickElliot Apr 2, 2026
94c768b
remaining handwrittens
NickElliot Apr 2, 2026
62fff76
fix build issues
NickElliot Apr 2, 2026
44fb9ea
unit tests
NickElliot Apr 3, 2026
618d046
project field computed
NickElliot Apr 3, 2026
ec74447
adding to peered dns domain schema
NickElliot Apr 3, 2026
2b14eb1
import
NickElliot Apr 3, 2026
c6bc93b
fix data source sql instance test check
NickElliot Apr 3, 2026
136bc3b
unit test remove from yaml
NickElliot Apr 3, 2026
0daa32f
update all former dcl resources
NickElliot Apr 6, 2026
67fbce7
missing docs
NickElliot Apr 6, 2026
d97809f
Universal Deletion Handwritten Part 3 (#16917)
NickElliot Apr 6, 2026
6f66710
add universal deletion policy to former dcl resources (#16978)
NickElliot Apr 7, 2026
4d78784
refactor template to move custom delete above template flag
NickElliot Apr 7, 2026
b4a08e7
refactor resource template to move universal deletion policy above cu…
NickElliot Apr 8, 2026
4e0360d
implement flags for modifying existing implementations
NickElliot Apr 7, 2026
c794765
modify generated pre existing implementations
NickElliot Apr 7, 2026
232fb75
yamllint
NickElliot Apr 20, 2026
44fcbcb
re add custom deletes
NickElliot Apr 21, 2026
b80c9b3
add docs link
NickElliot Apr 21, 2026
a028559
modify existing generated deletion policy implementations for univers…
NickElliot Apr 22, 2026
0e0378f
resolved merge conflicts
NickElliot Apr 22, 2026
eae3e30
resolve UDP merge conflict error
NickElliot Apr 22, 2026
40db013
resolve merge build errors
NickElliot Apr 22, 2026
c6dd6d5
UDP merge conflict error resolution
NickElliot Apr 22, 2026
b34a9d6
moved UDP to .go file from .go.tmpl
NickElliot Apr 22, 2026
e7ec056
missing import
NickElliot Apr 22, 2026
de5fb6c
universal deletion policy last sync (#17240)
NickElliot Apr 27, 2026
bf4dafa
bigtable_gc_policy
NickElliot Apr 30, 2026
8557f82
gcpolicydocs
NickElliot Apr 30, 2026
5147246
billing_subaccount
NickElliot Apr 30, 2026
e82c3be
service_networking
NickElliot Apr 30, 2026
41dec1b
metas
NickElliot Apr 30, 2026
cb2c246
sql user
NickElliot Apr 30, 2026
87842d5
storage bucket object
NickElliot Apr 30, 2026
149e12a
build/fmt
NickElliot Apr 30, 2026
2f8f8ca
bigtable schema
NickElliot Apr 30, 2026
f0d1232
last missing resources for universal deletion policy (#17360)
NickElliot Apr 30, 2026
4faf853
merge conflicts
NickElliot May 1, 2026
fb5f7fd
remove product opt-in
NickElliot May 6, 2026
965ce77
remove //udp markers
NickElliot May 6, 2026
eb0746d
merge conflict
NickElliot May 6, 2026
d7c9d31
gofmt
NickElliot May 6, 2026
6b54354
fix metadata unit test
NickElliot May 8, 2026
8a5493d
Merge branch 'main' into universaldeletionpolicyfinal
NickElliot May 8, 2026
ee0994e
issues
NickElliot May 8, 2026
365c06f
Merge branch 'main' into universaldeletionpolicyfinal
NickElliot May 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions mmv1/api/metadata/metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ func FromResource(r api.Resource) Metadata {
ApiField: "selfLink",
})
}
if !r.DeletionPolicyExclude && !r.ExcludeDelete {
m.Fields = append(m.Fields, Field{
Field: "deletion_policy",
ProviderOnly: true,
})
}
return m
}

Expand Down
14 changes: 12 additions & 2 deletions mmv1/api/metadata/metadata_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ func TestFromResource(t *testing.T) {
wantMetadata Metadata
}{
{
name: "empty resource",
resource: api.Resource{},
name: "empty resource",
resource: api.Resource{
DeletionPolicyExclude: true,
},
wantMetadata: Metadata{
Resource: "google_product_",
GenerationType: "mmv1",
Expand Down Expand Up @@ -55,6 +57,10 @@ func TestFromResource(t *testing.T) {
{
ApiField: "field",
},
{
Field: "deletion_policy",
ProviderOnly: true,
},
},
},
},
Expand Down Expand Up @@ -87,6 +93,10 @@ func TestFromResource(t *testing.T) {
{
ApiField: "selfLink",
},
{
Field: "deletion_policy",
ProviderOnly: true,
},
},
},
},
Expand Down
18 changes: 18 additions & 0 deletions mmv1/api/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,19 @@ type Resource struct {
// public ca external account keys
ExcludeRead bool `yaml:"exclude_read,omitempty"`

// Set to true for resources that are excluded from universal deletion policy due to differing
// behavior on a universal option or use a different data type
DeletionPolicyExclude bool `yaml:"deletion_policy_exclude,omitempty"`

// Set to true for resources that have deletion policy fields with custom options that are
// compatible with the universal deletion policy
// if set to true, use implement `deletion_policy` within the yaml of the resource
DeletionPolicyCustomDocs bool `yaml:"deletion_policy_custom_docs,omitempty"`

// Set to the default deletion policy value for the resource.
// By default this will be "DELETE".
DeletionPolicyDefault string `yaml:"deletion_policy_default,omitempty"`

// Set to true for resources that wish to disable automatic generation of default provider
// value customdiff functions
// TODO rewrite: 1 instance used
Expand Down Expand Up @@ -492,6 +505,11 @@ func (r *Resource) setShallowDefaults() {
if r.Timeouts == nil {
r.Timeouts = NewTimeouts() // This only sets defaults if Timeouts is nil
}
if !r.DeletionPolicyExclude {
if r.DeletionPolicyDefault == "" {
r.DeletionPolicyDefault = "DELETE"
}
}
}

// SetDefault sets default values for this Resource and all its properties.
Expand Down
14 changes: 12 additions & 2 deletions mmv1/products/alloydb/Cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@
pre_update: 'templates/terraform/pre_update/alloydb_cluster.go.tmpl'
pre_delete: 'templates/terraform/pre_delete/alloydb_cluster.go.tmpl'
test_constants: 'templates/terraform/test_constants/import_tpgcompute.go.tmpl'
deletion_policy_default: "DEFAULT"
deletion_policy_custom_docs: true
# Skipping the sweeper because we need to force-delete clusters.
exclude_sweeper: true
include_in_tgc_next: true
Expand Down Expand Up @@ -139,9 +141,17 @@
Policy to determine if the cluster should be deleted forcefully.
Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
Possible values: DEFAULT, FORCE

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", the command will behave as if set to "DEFAULT".

Possible values: DEFAULT, FORCE, PREVENT, ABANDON, DELETE
type: String
default_value: "DEFAULT"
#excluded from generation due to Universal Deletion Policy

Check warning on line 153 in mmv1/products/alloydb/Cluster.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

153:6 [comments] missing starting space in comment
exclude: true
- name: 'deletion_protection'
description: |
Whether Terraform will be prevented from destroying the cluster.
Expand Down
14 changes: 12 additions & 2 deletions mmv1/products/chronicle/DataTable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

update_verb: PATCH
update_mask: true
deletion_policy_default: "DEFAULT"
deletion_policy_custom_docs: true
references:
guides:
'Google SecOps Guides': 'https://cloud.google.com/chronicle/docs/secops/secops-overview'
Expand Down Expand Up @@ -52,9 +54,17 @@
The policy governing the deletion of the data table.
If set to `FORCE`, allows the deletion of the data table even if it contains rows.
If set to `DEFAULT`,or if the field is omitted, the data table must be empty before it can be deleted.
Possible values: DEFAULT, FORCE

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", the command will behave as if set to "DEFAULT".

Possible values: DEFAULT, FORCE, PREVENT, ABANDON, DELETE
type: String
default_value: "DEFAULT"
#excluded from generation due to Universal Deletion Policy

Check warning on line 66 in mmv1/products/chronicle/DataTable.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

66:6 [comments] missing starting space in comment
exclude: true

parameters:
- name: location
Expand Down
19 changes: 14 additions & 5 deletions mmv1/products/chronicle/Rule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@
update_verb: PATCH
update_mask: true
autogen_status: UnVsZQ==

deletion_policy_default: "DEFAULT"
deletion_policy_custom_docs: true
examples:
- name: 'chronicle_rule_basic'
primary_resource_id: example
Expand Down Expand Up @@ -61,11 +62,19 @@
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
rule has no associated retrohunts, including completed retrohunts, and no
associated detections. Regardless of this field's value, the rule
deployment associated with this rule will also be deleted.
Possible values: DEFAULT, FORCE
associated detections. Regardless of being set to "FORCE" the rule
deployment associated with this rule will also be deleted if deletion is successful.

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", the command will behave as if set to "DEFAULT".

Possible values: DEFAULT, FORCE, PREVENT, ABANDON, DELETE
type: String
default_value: "DEFAULT"
#excluded from generation due to Universal Deletion Policy

Check warning on line 76 in mmv1/products/chronicle/Rule.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

76:6 [comments] missing starting space in comment
exclude: true

parameters:
- name: location
Expand Down
14 changes: 12 additions & 2 deletions mmv1/products/containerattached/Cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
constants: 'templates/terraform/constants/containerattached_cluster_diff.go.tmpl'
pre_update: 'templates/terraform/pre_update/containerattached_update.go.tmpl'
pre_delete: 'templates/terraform/pre_delete/container_attached_deletion_policy.go.tmpl'
deletion_policy_custom_docs: true
examples:
- name: 'container_attached_cluster_basic'
primary_resource_id: 'primary'
Expand All @@ -71,9 +72,18 @@
- 'deletion_policy'
virtual_fields:
- name: 'deletion_policy'
description: 'Policy to determine what flags to send on delete. Possible values: DELETE, DELETE_IGNORE_ERRORS'
description: |
Policy to determine what flags to send on delete.

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.

Possible values: DELETE, DELETE_IGNORE_ERRORS, PREVENT, ABANDON'. Defaults to 'DELETE'.
type: String
default_value: "DELETE"
#excluded from generation due to Universal Deletion Policy

Check warning on line 85 in mmv1/products/containerattached/Cluster.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

85:6 [comments] missing starting space in comment
exclude: true
parameters:
properties:
- name: 'location'
Expand Down
17 changes: 12 additions & 5 deletions mmv1/products/dataform/Repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
min_version: 'beta'
custom_code:
pre_delete: 'templates/terraform/pre_delete/dataform_repository.go.tmpl'
deletion_policy_custom_docs: true
examples:
- name: 'dataform_repository'
primary_resource_id: 'dataform_repository'
Expand Down Expand Up @@ -92,11 +93,17 @@
- name: 'deletion_policy'
type: Enum
description: |
Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
default_value: 'DELETE'
enum_values:
- 'DELETE'
- 'FORCE'
Policy to control how the repository and its child resources are deleted.
When set to `FORCE`, any child resources of this repository will also be deleted.

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.

Possible values: `DELETE`, `FORCE`, 'PREVENT', 'ABANDON'. Defaults to `DELETE`.
#excluded from generation due to Universal Deletion Policy

Check warning on line 105 in mmv1/products/dataform/Repository.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

105:6 [comments] missing starting space in comment
exclude: true
parameters:
- name: 'region'
type: String
Expand Down
11 changes: 9 additions & 2 deletions mmv1/products/datastream/PrivateConnection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ create_url: 'projects/{{project}}/locations/{{location}}/privateConnections?priv
immutable: true
import_format:
- 'projects/{{project}}/locations/{{location}}/privateConnections/{{private_connection_id}}'
deletion_policy_custom_docs: true
deletion_policy_default: "FORCE"
timeouts:
insert_minutes: 30
update_minutes: 30
Expand Down Expand Up @@ -81,9 +83,14 @@ virtual_fields:
The deletion policy for the private connection. Setting `FORCE` will also delete any child
routes that belong to this private connection. Setting `DEFAULT` will fail the delete if
child routes exist. Defaults to `FORCE` for backwards compatibility.
Possible values: `DEFAULT`, `FORCE`.

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", the command will behave as if set to "DEFAULT".
type: String
default_value: "FORCE"
exclude: true
parameters:
- name: 'privateConnectionId'
type: String
Expand Down
8 changes: 0 additions & 8 deletions mmv1/products/firebase/AndroidApp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,6 @@ examples:
ignore_read_extra:
- 'project'
- 'deletion_policy'
virtual_fields:
- name: 'deletion_policy'
description: |
(Optional) Set to `ABANDON` to allow the AndroidApp to be untracked from terraform state
rather than deleted upon `terraform destroy`. This is useful because the AndroidApp may be
serving traffic. Set to `DELETE` to delete the AndroidApp. Defaults to `DELETE`.
type: String
default_value: "DELETE"
parameters:
properties:
- name: 'name'
Expand Down
8 changes: 0 additions & 8 deletions mmv1/products/firebase/AppleApp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
display_name: 'Display Name Full'
bundle_id: 'apple.app.12345'
app_store_id: '12345'
# Has to be a 10-digit number.

Check warning on line 75 in mmv1/products/firebase/AppleApp.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

75:2 [comments-indentation] comment not indented like content
team_id: '9987654321'
api_key_name: 'api-key'
test_env_vars:
Expand All @@ -86,14 +86,6 @@
ignore_read_extra:
- 'project'
- 'deletion_policy'
virtual_fields:
- name: 'deletion_policy'
description: |
(Optional) Set to `ABANDON` to allow the Apple to be untracked from terraform state
rather than deleted upon `terraform destroy`. This is useful because the Apple may be
serving traffic. Set to `DELETE` to delete the Apple. Defaults to `DELETE`.
type: String
default_value: "DELETE"
parameters:
properties:
- name: 'name'
Expand Down
8 changes: 0 additions & 8 deletions mmv1/products/firebase/WebApp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,6 @@ examples:
ignore_read_extra:
- 'project'
- 'deletion_policy'
virtual_fields:
- name: 'deletion_policy'
description: |
Set to `ABANDON` to allow the WebApp to be untracked from terraform state
rather than deleted upon `terraform destroy`. This is useful becaue the WebApp may be
serving traffic. Set to `DELETE` to delete the WebApp. Default to `DELETE`
type: String
default_value: "DELETE"
parameters:
properties:
- name: 'name'
Expand Down
14 changes: 12 additions & 2 deletions mmv1/products/firebasedataconnect/Service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
resource_inside_response: true
include_project: false
autogen_status: U2VydmljZQ==
deletion_policy_default: "DEFAULT"
deletion_policy_custom_docs: true
parameters:
- name: location
type: String
Expand Down Expand Up @@ -130,12 +132,20 @@
virtual_fields:
- name: deletion_policy
type: String
default_value: DEFAULT
description: |-
The deletion policy for the database. Setting the field to FORCE allows the
Service to be deleted even if a Schema or Connector is present. By default,
the Service deletion will only succeed when no Schema or Connectors are
present.
Possible values: DEFAULT, FORCE

When a 'terraform destroy' or 'terraform apply' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", the command will behave as if set to "DEFAULT".

Possible values: DEFAULT, FORCE, PREVENT, ABANDON, DELETE
#excluded from generation due to Universal Deletion Policy

Check warning on line 148 in mmv1/products/firebasedataconnect/Service.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

148:6 [comments] missing starting space in comment
exclude: true
custom_code:
pre_delete: templates/terraform/pre_delete/firebasedataconnect_service.go.tmpl
15 changes: 2 additions & 13 deletions mmv1/products/firestore/Database.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ async:
resource_inside_response: true
custom_code:
pre_delete: 'templates/terraform/pre_delete/firestore_database.go.tmpl'
# TODO: remove this default in the 8.0.0 major release
deletion_policy_default: "ABANDON"
examples:
- name: 'firestore_default_database'
primary_resource_id: 'database'
Expand Down Expand Up @@ -177,19 +179,6 @@ examples:
- 'project'
- 'etag'
- 'deletion_policy'
virtual_fields:
- name: 'deletion_policy'
description: |
Deletion behavior for this database.
If the deletion policy is `ABANDON`, the database will be removed from Terraform state but not deleted from Google Cloud upon destruction.
If the deletion policy is `DELETE`, the database will both be removed from Terraform state and deleted from Google Cloud upon destruction.
The default value is `ABANDON`.
See also `delete_protection`.
type: String
default_value: "ABANDON"
# `deletion_policy` is deprecated and will be removed in a future major release.
# Once that release happens, you should use `delete_protection_state` instead.
# For now though, setting this field is necessary if you wish for your Firestore databases to be deleted upon `terraform destroy`.
parameters:
properties:
- name: 'name'
Expand Down
13 changes: 0 additions & 13 deletions mmv1/products/firestore/Index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ custom_code:
encoder: 'templates/terraform/encoders/index.go.tmpl'
custom_import: 'templates/terraform/custom_import/index_self_link_as_name_set_project.go.tmpl'
custom_create: 'templates/terraform/custom_create/firestore_index.go.tmpl'
pre_delete: 'templates/terraform/pre_delete/firestore_index.go.tmpl'
error_retry_predicates:
- 'transport_tpg.FirestoreIndex409Retry'
examples:
Expand Down Expand Up @@ -144,18 +143,6 @@ virtual_fields:
default_value: false
description: "Whether to skip waiting for the index to be created."
ignore_read: true
- name: 'deletion_policy'
type: Enum
default_value: 'DELETE'
ignore_read: true
enum_values:
- 'DELETE'
- 'PREVENT'
description: |
Deletion behavior for this index.
If the deletion policy is `PREVENT`, the index cannot be deleted and a terraform destroy will fail.
If the deletion policy is `DELETE`, the index will both be removed from Terraform state and deleted from Google Cloud upon destruction.
The default value is `DELETE`.
parameters:
# Firestore uses a custom create function. Any new fields must be explicitly handled there.
properties:
Expand Down
Loading
Loading