Skip to content

Commit b83073f

Browse files
committed
Add force_destroy flag to CodeRepositoryIndex
1 parent 2860880 commit b83073f

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

mmv1/products/gemini/CodeRepositoryIndex.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ custom_code:
5656
error_retry_predicates:
5757
- 'transport_tpg.IsCodeRepositoryIndexUnreadyError'
5858
- 'transport_tpg.IsRepositoryGroupQueueError'
59+
virtual_fields:
60+
- name: 'force_destroy'
61+
description:
62+
If set to true, any RepositoryGroups for this CodeRepositoryIndex will also be deleted.
63+
type: Boolean
64+
default_value: false
5965
parameters:
6066
- name: location
6167
type: String
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{{- if ne $.TargetVersionName "ga" -}}
22
obj = make(map[string]interface{})
3-
obj["force"] = true
4-
{{- end }}
3+
if v, ok := d.GetOk("force_destroy"); ok {
4+
if v == true {
5+
obj["force"] = true
6+
}
7+
}
8+
{{- end }}

mmv1/third_party/terraform/services/gemini/resource_gemini_code_repository_index_test.go.tmpl

+6-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestAccGeminiCodeRepositoryIndex_delete(t *testing.T) {
7070
ResourceName: "google_gemini_code_repository_index.example",
7171
ImportState: true,
7272
ImportStateVerify: true,
73-
ImportStateVerifyIgnore: []string{"code_repository_index_id", "labels", "location", "terraform_labels"},
73+
ImportStateVerifyIgnore: []string{"code_repository_index_id", "labels", "location", "terraform_labels", "force_destroy"},
7474
},
7575
{
7676
Config: testAccGeminiCodeRepositoryIndex_withChildren_delete(context),
@@ -88,6 +88,7 @@ resource "google_gemini_code_repository_index" "example" {
8888
labels = {"ccfe_debug_note": "terraform_e2e_should_be_deleted"}
8989
location = "us-central1"
9090
code_repository_index_id = "%{cri_id}"
91+
force_destroy = true
9192
}
9293

9394
resource "google_gemini_repository_group" "example" {
@@ -100,6 +101,9 @@ resource "google_gemini_repository_group" "example" {
100101
branch_pattern = "main"
101102
}
102103
labels = {"label1": "value1"}
104+
depends_on = [
105+
google_gemini_code_repository_index.example
106+
]
103107
}
104108

105109
resource "google_developer_connect_git_repository_link" "conn" {
@@ -129,6 +133,7 @@ resource "google_developer_connect_connection" "github_conn" {
129133
`, context)
130134
}
131135

136+
// Removed depends_on to not break plan test
132137
func testAccGeminiCodeRepositoryIndex_withChildren_delete(context map[string]interface{}) string {
133138
return acctest.Nprintf(`
134139
resource "google_gemini_repository_group" "example" {

0 commit comments

Comments
 (0)