From 89b74662ba27bd41140018bf84c3817e568580b0 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Tue, 28 Jan 2025 17:12:50 +0000 Subject: [PATCH 01/23] Add Gemini Gemini Gcp Enablement Setting Binding resource --- .../GeminiGcpEnablementSettingBinding.yaml | 105 ++++++++++++++++++ ...p_enablement_setting_binding_basic.tf.tmpl | 16 +++ ...cp_enablement_setting_binding_test.go.tmpl | 98 ++++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml create mode 100644 mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl create mode 100644 mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml new file mode 100644 index 000000000000..2506a729413a --- /dev/null +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -0,0 +1,105 @@ +# Copyright 2024 Google Inc. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +name: GeminiGcpEnablementSettingBinding +description: The resource for managing GeminiGcpEnablementSetting setting bindings for Admin Control. +base_url: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings +self_link: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings/{{setting_binding_id}} +create_url: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings?settingBindingId={{setting_binding_id}} +id_format: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings/{{setting_binding_id}} +update_verb: PATCH +update_mask: true +import_format: + - projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings/{{setting_binding_id}} +mutex: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}} +examples: + - name: gemini_gemini_gcp_enablement_setting_binding_basic + min_version: 'beta' + primary_resource_id: example + vars: + gemini_gcp_enablement_setting_id: ls-tf1 + setting_binding_id: ls-tf1b1 + project_id: aandrei-test + target: projects/980109375338 +autogen_async: true +async: + operation: + timeouts: + insert_minutes: 90 + update_minutes: 90 + delete_minutes: 90 + base_url: '{{op_id}}' + actions: + - create + - delete + - update + type: OpAsync + result: + resource_inside_response: true + error: {} + include_project: false +autogen_status: U2V0dGluZ0JpbmRpbmdCeVByb2plY3RBbmRMb2NhdGlvbkFuZEdlbWluaWdjcGVuYWJsZW1lbnRzZXR0aW5n +parameters: + - name: location + type: String + description: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. + immutable: true + url_param_only: true + required: true + - name: geminiGcpEnablementSettingId + type: String + description: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. + immutable: true + url_param_only: true + required: true + - name: settingBindingId + type: String + description: |- + Required. Id of the requesting object. + If auto-generating Id server-side, remove this field and + setting_id from the method_signature of Create RPC. + immutable: true + url_param_only: true + required: true +properties: + - name: labels + type: KeyValueLabels + description: Optional. Labels as key value pairs. + - name: target + type: String + description: Required. Target of the binding. + required: true + - name: product + type: String + description: |- + Required. Product type of the setting binding. + Possible values: + PRODUCT_UNSPECIFIED + GEMINI_CLOUD_ASSIST + GEMINI_CODE_ASSIST + - name: name + type: String + description: |- + Identifier. Name of the resource. + Format:projects/{project}/locations/{location}/{settingType}/{setting}/settingBindings/{setting_binding} + output: true + - name: createTime + type: String + description: Output only. [Output only] Create time stamp. + output: true + - name: updateTime + type: String + description: Output only. [Output only] Update time stamp. + output: true + diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl new file mode 100644 index 000000000000..1394f27fbeba --- /dev/null +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -0,0 +1,16 @@ +resource "google_gemini_gemini_gcp_enablement_setting" "basic" { + provider = google-beta + gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" + location = "global" + project = "{{index $.Vars "project_id"}}" + enable_customer_data_sharing = true +} + +resource "google_gemini_gemini_gcp_enablement_setting_binding" "{{$.PrimaryResourceId}}" { + provider = google-beta + gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" + setting_binding_id = "{{index $.Vars "setting_binding_id"}}" + location = "global" + target = "{{index $.Vars "target"}}" + depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] +} diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl new file mode 100644 index 000000000000..a91b5614e5b4 --- /dev/null +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -0,0 +1,98 @@ +package gemini_test +{{- if ne $.TargetVersionName "ga" }} + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + + "github.com/hashicorp/terraform-provider-google/google/acctest" +) + +func TestAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(t *testing.T) { + t.Parallel() + + context := map[string]interface{}{ + "logging_setting_id": "ls-tf1", + "setting_binding_id": "ls-tf1b1", + "project_id": "aandrei-test", + "target": "projects/980109375338", + "new_target": "projects/283661608541", + } + + acctest.VcrTest(t, resource.TestCase{ + PreCheck: func() { acctest.AccTestPreCheck(t) }, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t), + Steps: []resource.TestStep{ + { + Config: testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_basic(context), + }, + { + ResourceName: "google_gemini_logging_setting_binding.basic_binding", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"labels", "location", "logging_setting_id", "terraform_labels"}, + }, + { + Config: testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(context), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction("google_gemini_logging_setting_binding.basic_binding", plancheck.ResourceActionUpdate), + }, + }, + }, + { + ResourceName: "google_gemini_logging_setting_binding.basic_binding", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"labels", "location", "logging_setting_id", "terraform_labels"}, + }, + }, + }) +} + +func testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_basic(context map[string]interface{}) string { + return acctest.Nprintf(` +resource "google_gemini_logging_setting" "basic" { + provider = google-beta + logging_setting_id = "%{logging_setting_id}" + location = "global" + project = "%{project_id}" + log_prompts_and_responses = true +} + +resource "google_gemini_logging_setting_binding" "basic_binding" { + provider = google-beta + logging_setting_id = "%{logging_setting_id}" + setting_binding_id = "%{setting_binding_id}" + location = "global" + project = "%{project_id}" + target = "%{target}" + depends_on = [google_gemini_logging_setting.basic] +} +`, context) +} + +func testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(context map[string]interface{}) string { + return acctest.Nprintf(` +resource "google_gemini_logging_setting" "basic" { + provider = google-beta + logging_setting_id = "%{logging_setting_id}" + location = "global" + project = "%{project_id}" + log_prompts_and_responses = true +} + +resource "google_gemini_logging_setting_binding" "basic_binding" { + provider = google-beta + logging_setting_id = "%{logging_setting_id}" + setting_binding_id = "%{setting_binding_id}" + location = "global" + project = "%{project_id}" + target = "%{new_target}" + depends_on = [google_gemini_logging_setting.basic] +} +`, context) +} +{{ end }} From e7a1529133732bbddd9f850cf7d03592edd25b4c Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Tue, 28 Jan 2025 17:14:53 +0000 Subject: [PATCH 02/23] Remove EOL --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 2506a729413a..9f7a1f7cb4b7 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -102,4 +102,3 @@ properties: type: String description: Output only. [Output only] Update time stamp. output: true - From 18860c77e6424848508f7912bef8e305060c2be8 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 29 Jan 2025 09:13:22 +0000 Subject: [PATCH 03/23] Remove project declaration --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 1 - ...emini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl | 1 - ...gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 5 ----- 3 files changed, 7 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 9f7a1f7cb4b7..e604e5f1b4a5 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -30,7 +30,6 @@ examples: vars: gemini_gcp_enablement_setting_id: ls-tf1 setting_binding_id: ls-tf1b1 - project_id: aandrei-test target: projects/980109375338 autogen_async: true async: diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl index 1394f27fbeba..e148c8cfc37a 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -2,7 +2,6 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" location = "global" - project = "{{index $.Vars "project_id"}}" enable_customer_data_sharing = true } diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index a91b5614e5b4..fec93026caaf 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -16,7 +16,6 @@ func TestAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_ context := map[string]interface{}{ "logging_setting_id": "ls-tf1", "setting_binding_id": "ls-tf1b1", - "project_id": "aandrei-test", "target": "projects/980109375338", "new_target": "projects/283661608541", } @@ -58,7 +57,6 @@ resource "google_gemini_logging_setting" "basic" { provider = google-beta logging_setting_id = "%{logging_setting_id}" location = "global" - project = "%{project_id}" log_prompts_and_responses = true } @@ -67,7 +65,6 @@ resource "google_gemini_logging_setting_binding" "basic_binding" { logging_setting_id = "%{logging_setting_id}" setting_binding_id = "%{setting_binding_id}" location = "global" - project = "%{project_id}" target = "%{target}" depends_on = [google_gemini_logging_setting.basic] } @@ -80,7 +77,6 @@ resource "google_gemini_logging_setting" "basic" { provider = google-beta logging_setting_id = "%{logging_setting_id}" location = "global" - project = "%{project_id}" log_prompts_and_responses = true } @@ -89,7 +85,6 @@ resource "google_gemini_logging_setting_binding" "basic_binding" { logging_setting_id = "%{logging_setting_id}" setting_binding_id = "%{setting_binding_id}" location = "global" - project = "%{project_id}" target = "%{new_target}" depends_on = [google_gemini_logging_setting.basic] } From a17e47484a474f824cb7398d3d8f7866732b7042 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 29 Jan 2025 16:42:24 +0000 Subject: [PATCH 04/23] Change copyright year --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index e604e5f1b4a5..229740db10da 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -1,4 +1,4 @@ -# Copyright 2024 Google Inc. +# Copyright 2025 Google Inc. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -46,7 +46,6 @@ async: type: OpAsync result: resource_inside_response: true - error: {} include_project: false autogen_status: U2V0dGluZ0JpbmRpbmdCeVByb2plY3RBbmRMb2NhdGlvbkFuZEdlbWluaWdjcGVuYWJsZW1lbnRzZXR0aW5n parameters: From c1af5ece738e0ebfd0dbb32e8af2a1dda21a7a00 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Mon, 3 Feb 2025 09:46:32 +0000 Subject: [PATCH 05/23] Mark resources as beta --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 229740db10da..fde8c471e170 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -14,6 +14,7 @@ --- name: GeminiGcpEnablementSettingBinding description: The resource for managing GeminiGcpEnablementSetting setting bindings for Admin Control. +min_version: 'beta' base_url: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings self_link: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings/{{setting_binding_id}} create_url: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings?settingBindingId={{setting_binding_id}} From 1e27dc90812ae9e23e6898ff5a031364c7669672 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Mon, 3 Feb 2025 10:14:16 +0000 Subject: [PATCH 06/23] Specify product --- .../GeminiGcpEnablementSettingBinding.yaml | 1 + ...p_enablement_setting_binding_basic.tf.tmpl | 1 + ...cp_enablement_setting_binding_test.go.tmpl | 49 ++++++++++--------- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index fde8c471e170..bc32c016c3c6 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -32,6 +32,7 @@ examples: gemini_gcp_enablement_setting_id: ls-tf1 setting_binding_id: ls-tf1b1 target: projects/980109375338 + product: PRODUCT_UNSPECIFIED autogen_async: true async: operation: diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl index e148c8cfc37a..13bf34b656c1 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -11,5 +11,6 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "{{$.PrimaryResou setting_binding_id = "{{index $.Vars "setting_binding_id"}}" location = "global" target = "{{index $.Vars "target"}}" + product = "{{index $.Vars "target"}}" depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index fec93026caaf..cc5f3ad81be7 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -10,12 +10,13 @@ import ( "github.com/hashicorp/terraform-provider-google/google/acctest" ) -func TestAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(t *testing.T) { +func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(t *testing.T) { t.Parallel() context := map[string]interface{}{ - "logging_setting_id": "ls-tf1", + "gemini_gcp_enablement_setting_id": "ls-tf1", "setting_binding_id": "ls-tf1b1", + "product": "PRODUCT_UNSPECIFIED", "target": "projects/980109375338", "new_target": "projects/283661608541", } @@ -25,68 +26,70 @@ func TestAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_ ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t), Steps: []resource.TestStep{ { - Config: testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_basic(context), + Config: testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context), }, { - ResourceName: "google_gemini_logging_setting_binding.basic_binding", + ResourceName: "google_gemini_gemini_gcp_enablement_setting_binding.basic_binding", ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"labels", "location", "logging_setting_id", "terraform_labels"}, + ImportStateVerifyIgnore: []string{"labels", "location", "gemini_gcp_enablement_setting_id", "terraform_labels"}, }, { - Config: testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(context), + Config: testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction("google_gemini_logging_setting_binding.basic_binding", plancheck.ResourceActionUpdate), + plancheck.ExpectResourceAction("google_gemini_gemini_gcp_enablement_setting_binding.basic_binding", plancheck.ResourceActionUpdate), }, }, }, { - ResourceName: "google_gemini_logging_setting_binding.basic_binding", + ResourceName: "google_gemini_gemini_gcp_enablement_setting_binding.basic_binding", ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"labels", "location", "logging_setting_id", "terraform_labels"}, + ImportStateVerifyIgnore: []string{"labels", "location", "gemini_gcp_enablement_setting_id", "terraform_labels"}, }, }, }) } -func testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_basic(context map[string]interface{}) string { +func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context map[string]interface{}) string { return acctest.Nprintf(` -resource "google_gemini_logging_setting" "basic" { +resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta - logging_setting_id = "%{logging_setting_id}" + gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" location = "global" - log_prompts_and_responses = true + enable_customer_data_sharing = true } -resource "google_gemini_logging_setting_binding" "basic_binding" { +resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta - logging_setting_id = "%{logging_setting_id}" + gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" setting_binding_id = "%{setting_binding_id}" location = "global" target = "%{target}" - depends_on = [google_gemini_logging_setting.basic] + product = "%{product}" + depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } `, context) } -func testAccGeminiLoggingSettingBinding_geminiLoggingSettingBindingBasicExample_update(context map[string]interface{}) string { +func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context map[string]interface{}) string { return acctest.Nprintf(` -resource "google_gemini_logging_setting" "basic" { +resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta - logging_setting_id = "%{logging_setting_id}" + gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" location = "global" - log_prompts_and_responses = true + enable_customer_data_sharing = false } -resource "google_gemini_logging_setting_binding" "basic_binding" { +resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta - logging_setting_id = "%{logging_setting_id}" + gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" setting_binding_id = "%{setting_binding_id}" location = "global" target = "%{new_target}" - depends_on = [google_gemini_logging_setting.basic] + product = "%{product}" + depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } `, context) } From b7be68dbbe54c631f9bbb0410b133a8ea328b300 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Mon, 3 Feb 2025 10:47:11 +0000 Subject: [PATCH 07/23] Remove depends_on --- ...mini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl | 3 +-- ...emini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl index 13bf34b656c1..7f27ce4ab43d 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -7,10 +7,9 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { resource "google_gemini_gemini_gcp_enablement_setting_binding" "{{$.PrimaryResourceId}}" { provider = google-beta - gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" + gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "{{index $.Vars "setting_binding_id"}}" location = "global" target = "{{index $.Vars "target"}}" product = "{{index $.Vars "target"}}" - depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index cc5f3ad81be7..1dcaacc4a4d3 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -63,12 +63,11 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta - gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" + gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" location = "global" target = "%{target}" product = "%{product}" - depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } `, context) } @@ -84,12 +83,11 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta - gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" + gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" location = "global" target = "%{new_target}" product = "%{product}" - depends_on = [google_gemini_gemini_gcp_enablement_setting.basic] } `, context) } From 094b7816813bc17da3fd2eded930a051ee36f304 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Tue, 4 Feb 2025 09:19:42 +0000 Subject: [PATCH 08/23] Exclude tests --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index bc32c016c3c6..7492f6b0c425 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -28,6 +28,7 @@ examples: - name: gemini_gemini_gcp_enablement_setting_binding_basic min_version: 'beta' primary_resource_id: example + exclude_test: true vars: gemini_gcp_enablement_setting_id: ls-tf1 setting_binding_id: ls-tf1b1 From 1f8010b1e7cb3c5375242211ac41daf48df81b7a Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 5 Feb 2025 09:28:37 +0000 Subject: [PATCH 09/23] Remove required field from location --- mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 7492f6b0c425..994a0ce8bda2 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -57,7 +57,6 @@ parameters: description: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. immutable: true url_param_only: true - required: true - name: geminiGcpEnablementSettingId type: String description: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. From a1d5a344788536b8bb7edb5efa3c744ba3137231 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 5 Feb 2025 09:28:52 +0000 Subject: [PATCH 10/23] Add test project --- ...emini_gcp_enablement_setting_binding_test.go.tmpl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index 1dcaacc4a4d3..e0c302fa521f 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -17,8 +17,6 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet "gemini_gcp_enablement_setting_id": "ls-tf1", "setting_binding_id": "ls-tf1b1", "product": "PRODUCT_UNSPECIFIED", - "target": "projects/980109375338", - "new_target": "projects/283661608541", } acctest.VcrTest(t, resource.TestCase{ @@ -54,6 +52,9 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context map[string]interface{}) string { return acctest.Nprintf(` +data "google_project" "project" { +} + resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" @@ -66,7 +67,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" location = "global" - target = "%{target}" + target = "projects/${data.google_project.project.number}" product = "%{product}" } `, context) @@ -74,6 +75,9 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context map[string]interface{}) string { return acctest.Nprintf(` +data "google_project" "project" { +} + resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" @@ -86,7 +90,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" location = "global" - target = "%{new_target}" + target = "projects/${data.google_project.new_project.number}" product = "%{product}" } `, context) From 29ff6242391da4d39ca2b0a8a76396fcff1942f3 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 5 Feb 2025 09:46:21 +0000 Subject: [PATCH 11/23] Add random suffix to setting id --- ...gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index e0c302fa521f..b10ce9a2077e 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -2,6 +2,7 @@ package gemini_test {{- if ne $.TargetVersionName "ga" }} import ( + "fmt" "testing" "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -14,8 +15,8 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet t.Parallel() context := map[string]interface{}{ - "gemini_gcp_enablement_setting_id": "ls-tf1", - "setting_binding_id": "ls-tf1b1", + "gemini_gcp_enablement_setting_id": fmt.Sprintf("tf-test-ls-%s", acctest.RandString(t, 10)), + "setting_binding_id": fmt.Sprintf("tf-test-lsb-%s", acctest.RandString(t, 10)), "product": "PRODUCT_UNSPECIFIED", } From 8e190a73a82c6cd43d2abcfc8ccfc48e98fc7abf Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 5 Feb 2025 15:52:09 +0000 Subject: [PATCH 12/23] Add beta provider to google projects --- ...gemini_gcp_enablement_setting_binding_test.go.tmpl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index b10ce9a2077e..9f9b1d4a7475 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -17,7 +17,6 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet context := map[string]interface{}{ "gemini_gcp_enablement_setting_id": fmt.Sprintf("tf-test-ls-%s", acctest.RandString(t, 10)), "setting_binding_id": fmt.Sprintf("tf-test-lsb-%s", acctest.RandString(t, 10)), - "product": "PRODUCT_UNSPECIFIED", } acctest.VcrTest(t, resource.TestCase{ @@ -54,6 +53,11 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { + provider = google-beta +} + +data "google_project" "new_project" { + provider = google-beta } resource "google_gemini_gemini_gcp_enablement_setting" "basic" { @@ -77,6 +81,11 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { + provider = google-beta +} + +data "google_project" "new_project" { + provider = google-beta } resource "google_gemini_gemini_gcp_enablement_setting" "basic" { From 6cd0d5a1f0fe2438e879c223698f391ad12f5bbf Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 5 Feb 2025 15:54:02 +0000 Subject: [PATCH 13/23] Remove product from tests --- ...ce_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 2 -- 1 file changed, 2 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index 9f9b1d4a7475..d67227cd7fac 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -73,7 +73,6 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.project.number}" - product = "%{product}" } `, context) } @@ -101,7 +100,6 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.new_project.number}" - product = "%{product}" } `, context) } From ff2fcd078c73ae64d1e8eab743ceb0a5e3df9e9e Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Thu, 6 Feb 2025 15:51:51 +0000 Subject: [PATCH 14/23] Update labels --- .../gemini/GeminiGcpEnablementSettingBinding.yaml | 1 + ...ini_gcp_enablement_setting_binding_test.go.tmpl | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 994a0ce8bda2..4ae30d92fc95 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -88,6 +88,7 @@ properties: PRODUCT_UNSPECIFIED GEMINI_CLOUD_ASSIST GEMINI_CODE_ASSIST + default_from_api: true - name: name type: String description: |- diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index d67227cd7fac..b7d2ae9ccbcc 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -56,10 +56,6 @@ data "google_project" "project" { provider = google-beta } -data "google_project" "new_project" { - provider = google-beta -} - resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" @@ -73,6 +69,8 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.project.number}" + labels = {} + product = "PRODUCT_UNSPECIFIED" } `, context) } @@ -83,10 +81,6 @@ data "google_project" "project" { provider = google-beta } -data "google_project" "new_project" { - provider = google-beta -} - resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" @@ -99,7 +93,9 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" location = "global" - target = "projects/${data.google_project.new_project.number}" + target = "projects/${data.google_project.project.number}" + labels = {"my_label":"my_value"} + product = "PRODUCT_UNSPECIFIED" } `, context) } From f36b3c4896e1926ab095ec0b3164eb6a1e452b55 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 10:44:29 +0000 Subject: [PATCH 15/23] Change descriptions --- .../gemini/GeminiGcpEnablementSetting.yaml | 6 +++--- .../GeminiGcpEnablementSettingBinding.yaml | 18 +++++++++++------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml b/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml index 09b43ac28f22..5993f024acfd 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml @@ -42,7 +42,7 @@ parameters: - name: geminiGcpEnablementSettingId type: String description: |- - Required. Id of the requesting object. + Id of the requesting object. If auto-generating Id server-side, remove this field and gemini_gcp_enablement_setting_id from the method_signature of Create RPC immutable: true @@ -57,11 +57,11 @@ properties: output: true - name: createTime type: String - description: Output only. [Output only] Create time stamp. + description: Create time stamp. output: true - name: updateTime type: String - description: Output only. [Output only] Update time stamp. + description: Update time stamp. output: true - name: labels type: KeyValueLabels diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 4ae30d92fc95..6c8f996939ae 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -66,7 +66,7 @@ parameters: - name: settingBindingId type: String description: |- - Required. Id of the requesting object. + Id of the requesting object. If auto-generating Id server-side, remove this field and setting_id from the method_signature of Create RPC. immutable: true @@ -75,19 +75,23 @@ parameters: properties: - name: labels type: KeyValueLabels - description: Optional. Labels as key value pairs. + description: Labels as key value pairs. - name: target type: String - description: Required. Target of the binding. + description: Target of the binding. required: true - name: product - type: String + type: Enum description: |- - Required. Product type of the setting binding. + Product type of the setting binding. Possible values: PRODUCT_UNSPECIFIED GEMINI_CLOUD_ASSIST GEMINI_CODE_ASSIST + enum_values: + - 'PRODUCT_UNSPECIFIED' + - 'GEMINI_CLOUD_ASSIST' + - 'GEMINI_CODE_ASSIST' default_from_api: true - name: name type: String @@ -97,9 +101,9 @@ properties: output: true - name: createTime type: String - description: Output only. [Output only] Create time stamp. + description: Create time stamp. output: true - name: updateTime type: String - description: Output only. [Output only] Update time stamp. + description: Update time stamp. output: true From 7014348184b0aa8a6367dcb978d7b198186869fa Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 13:16:22 +0000 Subject: [PATCH 16/23] Specify the product --- ..._gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index b7d2ae9ccbcc..a76442560903 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -69,8 +69,6 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.project.number}" - labels = {} - product = "PRODUCT_UNSPECIFIED" } `, context) } @@ -95,7 +93,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { location = "global" target = "projects/${data.google_project.project.number}" labels = {"my_label":"my_value"} - product = "PRODUCT_UNSPECIFIED" + product = "GEMINI_CODE_ASSIST" } `, context) } From ecad44954c6f5b1d5e789ebe4a07f3048169a828 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 13:43:25 +0000 Subject: [PATCH 17/23] Add label to tests --- .../gemini_gemini_gcp_enablement_setting_basic.tf.tmpl | 1 + ...gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl | 1 + ..._gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 4 +++- ...resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_basic.tf.tmpl index 6da1c15e34f4..07cff6e8387e 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_basic.tf.tmpl @@ -2,5 +2,6 @@ resource "google_gemini_gemini_gcp_enablement_setting" "{{$.PrimaryResourceId}}" provider = google-beta gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = true } diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl index 7f27ce4ab43d..1216f022a6dd 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -2,6 +2,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "{{index $.Vars "gemini_gcp_enablement_setting_id"}}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = true } diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index a76442560903..bf7f50b0e071 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -60,6 +60,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = true } @@ -83,6 +84,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = false } @@ -92,7 +94,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.project.number}" - labels = {"my_label":"my_value"} + labels = {"my_key":"my_value"} product = "GEMINI_CODE_ASSIST" } `, context) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl index 1071f6f0add5..c0e570234a4d 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl @@ -51,6 +51,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = true } `, context) @@ -61,6 +62,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = false } `, context) From 19a1bddf218de2bbe04df7d235465213d396efcc Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 16:37:33 +0000 Subject: [PATCH 18/23] Remove extra descriptions --- .../products/gemini/GeminiGcpEnablementSettingBinding.yaml | 7 ------- ...ini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl | 1 - 2 files changed, 8 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index 6c8f996939ae..b25de1e3f108 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -33,7 +33,6 @@ examples: gemini_gcp_enablement_setting_id: ls-tf1 setting_binding_id: ls-tf1b1 target: projects/980109375338 - product: PRODUCT_UNSPECIFIED autogen_async: true async: operation: @@ -84,15 +83,9 @@ properties: type: Enum description: |- Product type of the setting binding. - Possible values: - PRODUCT_UNSPECIFIED - GEMINI_CLOUD_ASSIST - GEMINI_CODE_ASSIST enum_values: - - 'PRODUCT_UNSPECIFIED' - 'GEMINI_CLOUD_ASSIST' - 'GEMINI_CODE_ASSIST' - default_from_api: true - name: name type: String description: |- diff --git a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl index 1216f022a6dd..c30e9aef21c5 100644 --- a/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl +++ b/mmv1/templates/terraform/examples/gemini_gemini_gcp_enablement_setting_binding_basic.tf.tmpl @@ -12,5 +12,4 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "{{$.PrimaryResou setting_binding_id = "{{index $.Vars "setting_binding_id"}}" location = "global" target = "{{index $.Vars "target"}}" - product = "{{index $.Vars "target"}}" } From 4f79f8418df8ac095fa5d289d02b936264be889c Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 16:53:15 +0000 Subject: [PATCH 19/23] Update labels map format --- ..._gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl | 4 ++-- ...resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index bf7f50b0e071..5440f0b7aa84 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -84,7 +84,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" location = "global" - labels = {"my_key": "my_value"} + labels = {"my_key" = "my_value"} enable_customer_data_sharing = false } @@ -94,7 +94,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { setting_binding_id = "%{setting_binding_id}" location = "global" target = "projects/${data.google_project.project.number}" - labels = {"my_key":"my_value"} + labels = {"my_key" = "my_value"} product = "GEMINI_CODE_ASSIST" } `, context) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl index c0e570234a4d..d8f778f25acd 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl @@ -51,7 +51,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" - labels = {"my_key": "my_value"} + labels = {"my_key" = "my_value"} enable_customer_data_sharing = true } `, context) @@ -62,7 +62,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" - labels = {"my_key": "my_value"} + labels = {"my_key" = "my_value"} enable_customer_data_sharing = false } `, context) From 3734ec99f22b3d43710d449cefa52e38fa56a85b Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Fri, 7 Feb 2025 17:53:56 +0000 Subject: [PATCH 20/23] Shorten test names --- ..._gemini_gcp_enablement_setting_binding_test.go.tmpl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index 5440f0b7aa84..d40ff6c3af7d 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -11,7 +11,7 @@ import ( "github.com/hashicorp/terraform-provider-google/google/acctest" ) -func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(t *testing.T) { +func TestAccGeminiGeminiGcpEnablementSettingBinding_update(t *testing.T) { t.Parallel() context := map[string]interface{}{ @@ -24,7 +24,7 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t), Steps: []resource.TestStep{ { - Config: testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context), + Config: testAccGeminiGeminiGcpEnablementSettingBinding_basic(context), }, { ResourceName: "google_gemini_gemini_gcp_enablement_setting_binding.basic_binding", @@ -33,7 +33,7 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet ImportStateVerifyIgnore: []string{"labels", "location", "gemini_gcp_enablement_setting_id", "terraform_labels"}, }, { - Config: testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context), + Config: testAccGeminiGeminiGcpEnablementSettingBinding_update(context), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectResourceAction("google_gemini_gemini_gcp_enablement_setting_binding.basic_binding", plancheck.ResourceActionUpdate), @@ -50,7 +50,7 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSet }) } -func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_basic(context map[string]interface{}) string { +func testAccGeminiGeminiGcpEnablementSettingBinding_basic(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { provider = google-beta @@ -74,7 +74,7 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { `, context) } -func testAccGeminiGeminiGcpEnablementSettingBinding_geminiGeminiGcpEnablementSettingBindingBasicExample_update(context map[string]interface{}) string { +func testAccGeminiGeminiGcpEnablementSettingBinding_update(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { provider = google-beta From 12feacebc2f29b7387516c85546cd7b0ec843b45 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Mon, 10 Feb 2025 10:23:33 +0000 Subject: [PATCH 21/23] Remove description changes from Gemini Gcp Enablement Setting resource --- mmv1/products/gemini/GeminiGcpEnablementSetting.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml b/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml index 5993f024acfd..09b43ac28f22 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSetting.yaml @@ -42,7 +42,7 @@ parameters: - name: geminiGcpEnablementSettingId type: String description: |- - Id of the requesting object. + Required. Id of the requesting object. If auto-generating Id server-side, remove this field and gemini_gcp_enablement_setting_id from the method_signature of Create RPC immutable: true @@ -57,11 +57,11 @@ properties: output: true - name: createTime type: String - description: Create time stamp. + description: Output only. [Output only] Create time stamp. output: true - name: updateTime type: String - description: Update time stamp. + description: Output only. [Output only] Update time stamp. output: true - name: labels type: KeyValueLabels From f1fc9816fc1d3140ca7320dcb97178a54f5257c7 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Tue, 11 Feb 2025 10:19:42 +0000 Subject: [PATCH 22/23] Improve documentation --- .../gemini/GeminiGcpEnablementSettingBinding.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml index b25de1e3f108..19fd0906bcbc 100644 --- a/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml +++ b/mmv1/products/gemini/GeminiGcpEnablementSettingBinding.yaml @@ -14,6 +14,9 @@ --- name: GeminiGcpEnablementSettingBinding description: The resource for managing GeminiGcpEnablementSetting setting bindings for Admin Control. +references: + guides: + 'Gemini Cloud Assist overview': 'https://cloud.google.com/gemini/docs/cloud-assist/overview' min_version: 'beta' base_url: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings self_link: projects/{{project}}/locations/{{location}}/geminiGcpEnablementSettings/{{gemini_gcp_enablement_setting_id}}/settingBindings/{{setting_binding_id}} @@ -65,9 +68,7 @@ parameters: - name: settingBindingId type: String description: |- - Id of the requesting object. - If auto-generating Id server-side, remove this field and - setting_id from the method_signature of Create RPC. + Id of the setting binding. immutable: true url_param_only: true required: true @@ -90,7 +91,7 @@ properties: type: String description: |- Identifier. Name of the resource. - Format:projects/{project}/locations/{location}/{settingType}/{setting}/settingBindings/{setting_binding} + Format:projects/{project}/locations/{location}/geminiGcpEnablementSettings/{setting}/settingBindings/{setting_binding} output: true - name: createTime type: String From b15f5e6a50e5b313e6ff76975a1ba4c4e8c90a42 Mon Sep 17 00:00:00 2001 From: Andrei-Robert Alexandrescu Date: Wed, 12 Feb 2025 09:36:03 +0000 Subject: [PATCH 23/23] Fix indentation issues --- ...cp_enablement_setting_binding_test.go.tmpl | 22 +++++++++---------- ...gemini_gcp_enablement_setting_test.go.tmpl | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl index d40ff6c3af7d..a54f6f532c5f 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go.tmpl @@ -53,14 +53,14 @@ func TestAccGeminiGeminiGcpEnablementSettingBinding_update(t *testing.T) { func testAccGeminiGeminiGcpEnablementSettingBinding_basic(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { - provider = google-beta + provider = google-beta } resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" - location = "global" - labels = {"my_key": "my_value"} + location = "global" + labels = {"my_key": "my_value"} enable_customer_data_sharing = true } @@ -68,8 +68,8 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" - location = "global" - target = "projects/${data.google_project.project.number}" + location = "global" + target = "projects/${data.google_project.project.number}" } `, context) } @@ -77,14 +77,14 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { func testAccGeminiGeminiGcpEnablementSettingBinding_update(context map[string]interface{}) string { return acctest.Nprintf(` data "google_project" "project" { - provider = google-beta + provider = google-beta } resource "google_gemini_gemini_gcp_enablement_setting" "basic" { provider = google-beta gemini_gcp_enablement_setting_id = "%{gemini_gcp_enablement_setting_id}" - location = "global" - labels = {"my_key" = "my_value"} + location = "global" + labels = {"my_key" = "my_value"} enable_customer_data_sharing = false } @@ -92,9 +92,9 @@ resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" { provider = google-beta gemini_gcp_enablement_setting_id = google_gemini_gemini_gcp_enablement_setting.basic.gemini_gcp_enablement_setting_id setting_binding_id = "%{setting_binding_id}" - location = "global" - target = "projects/${data.google_project.project.number}" - labels = {"my_key" = "my_value"} + location = "global" + target = "projects/${data.google_project.project.number}" + labels = {"my_key" = "my_value"} product = "GEMINI_CODE_ASSIST" } `, context) diff --git a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl index d8f778f25acd..9a57be988b6d 100644 --- a/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl +++ b/mmv1/third_party/terraform/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go.tmpl @@ -51,7 +51,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" - labels = {"my_key" = "my_value"} + labels = {"my_key" = "my_value"} enable_customer_data_sharing = true } `, context) @@ -62,7 +62,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" { provider = google-beta gemini_gcp_enablement_setting_id = "%{setting_id}" location = "global" - labels = {"my_key" = "my_value"} + labels = {"my_key" = "my_value"} enable_customer_data_sharing = false } `, context)