Skip to content

Commit 479f2da

Browse files
Update Gemini GeminiGcpEnablementSetting resource -- add the disable_web_grounding field (#14120) (#23096)
[upstream:484dea3c91c73bedbf73b6e987dc4900b6314f72] Signed-off-by: Modular Magician <[email protected]>
1 parent b11a1c0 commit 479f2da

8 files changed

+47
-0
lines changed

.changelog/14120.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
gemini: added `disable_web_grounding` field to `google_gemini_gemini_gcp_enablement_setting` resource
3+
```

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ func ResourceGeminiGeminiGcpEnablementSetting() *schema.Resource {
6969
ForceNew: true,
7070
Description: `Resource ID segment making up resource 'name'. It identifies the resource within its parent collection as described in https://google.aip.dev/122.`,
7171
},
72+
"disable_web_grounding": {
73+
Type: schema.TypeBool,
74+
Optional: true,
75+
Description: `Whether web grounding should be disabled.`,
76+
},
7277
"enable_customer_data_sharing": {
7378
Type: schema.TypeBool,
7479
Optional: true,
@@ -137,6 +142,12 @@ func resourceGeminiGeminiGcpEnablementSettingCreate(d *schema.ResourceData, meta
137142
} else if v, ok := d.GetOkExists("enable_customer_data_sharing"); !tpgresource.IsEmptyValue(reflect.ValueOf(enableCustomerDataSharingProp)) && (ok || !reflect.DeepEqual(v, enableCustomerDataSharingProp)) {
138143
obj["enableCustomerDataSharing"] = enableCustomerDataSharingProp
139144
}
145+
disableWebGroundingProp, err := expandGeminiGeminiGcpEnablementSettingDisableWebGrounding(d.Get("disable_web_grounding"), d, config)
146+
if err != nil {
147+
return err
148+
} else if v, ok := d.GetOkExists("disable_web_grounding"); !tpgresource.IsEmptyValue(reflect.ValueOf(disableWebGroundingProp)) && (ok || !reflect.DeepEqual(v, disableWebGroundingProp)) {
149+
obj["disableWebGrounding"] = disableWebGroundingProp
150+
}
140151
labelsProp, err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels(d.Get("effective_labels"), d, config)
141152
if err != nil {
142153
return err
@@ -254,6 +265,9 @@ func resourceGeminiGeminiGcpEnablementSettingRead(d *schema.ResourceData, meta i
254265
if err := d.Set("enable_customer_data_sharing", flattenGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing(res["enableCustomerDataSharing"], d, config)); err != nil {
255266
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
256267
}
268+
if err := d.Set("disable_web_grounding", flattenGeminiGeminiGcpEnablementSettingDisableWebGrounding(res["disableWebGrounding"], d, config)); err != nil {
269+
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
270+
}
257271
if err := d.Set("terraform_labels", flattenGeminiGeminiGcpEnablementSettingTerraformLabels(res["labels"], d, config)); err != nil {
258272
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
259273
}
@@ -286,6 +300,12 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
286300
} else if v, ok := d.GetOkExists("enable_customer_data_sharing"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, enableCustomerDataSharingProp)) {
287301
obj["enableCustomerDataSharing"] = enableCustomerDataSharingProp
288302
}
303+
disableWebGroundingProp, err := expandGeminiGeminiGcpEnablementSettingDisableWebGrounding(d.Get("disable_web_grounding"), d, config)
304+
if err != nil {
305+
return err
306+
} else if v, ok := d.GetOkExists("disable_web_grounding"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, disableWebGroundingProp)) {
307+
obj["disableWebGrounding"] = disableWebGroundingProp
308+
}
289309
labelsProp, err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels(d.Get("effective_labels"), d, config)
290310
if err != nil {
291311
return err
@@ -313,6 +333,10 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
313333
updateMask = append(updateMask, "enableCustomerDataSharing")
314334
}
315335

336+
if d.HasChange("disable_web_grounding") {
337+
updateMask = append(updateMask, "disableWebGrounding")
338+
}
339+
316340
if d.HasChange("effective_labels") {
317341
updateMask = append(updateMask, "labels")
318342
}
@@ -458,6 +482,10 @@ func flattenGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing(v interfac
458482
return v
459483
}
460484

485+
func flattenGeminiGeminiGcpEnablementSettingDisableWebGrounding(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
486+
return v
487+
}
488+
461489
func flattenGeminiGeminiGcpEnablementSettingTerraformLabels(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
462490
if v == nil {
463491
return v
@@ -481,6 +509,10 @@ func expandGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing(v interface
481509
return v, nil
482510
}
483511

512+
func expandGeminiGeminiGcpEnablementSettingDisableWebGrounding(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
513+
return v, nil
514+
}
515+
484516
func expandGeminiGeminiGcpEnablementSettingEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
485517
if v == nil {
486518
return map[string]string{}, nil

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" {
7575
location = "global"
7676
labels = {"my_key": "my_value"}
7777
enable_customer_data_sharing = true
78+
disable_web_grounding = true
7879
}
7980
8081
resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" {
@@ -96,6 +97,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" {
9697
location = "global"
9798
labels = {"my_key" = "my_value"}
9899
enable_customer_data_sharing = false
100+
disable_web_grounding = false
99101
}
100102
101103
resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" {

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_generated_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ api_resource_type_kind: 'GeminiGcpEnablementSetting'
77
autogen_status: true
88
fields:
99
- field: 'create_time'
10+
- field: 'disable_web_grounding'
1011
- field: 'effective_labels'
1112
provider_only: true
1213
- field: 'enable_customer_data_sharing'

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_generated_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" {
6262
location = "global"
6363
labels = {"my_key": "my_value"}
6464
enable_customer_data_sharing = true
65+
disable_web_grounding = true
6566
}
6667
`, context)
6768
}

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" {
6767
location = "global"
6868
labels = {"my_key" = "my_value"}
6969
enable_customer_data_sharing = true
70+
disable_web_grounding = true
7071
}
7172
`, context)
7273
}
@@ -77,6 +78,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" {
7778
location = "global"
7879
labels = {"my_key" = "my_value"}
7980
enable_customer_data_sharing = false
81+
disable_web_grounding = false
8082
}
8183
`, context)
8284
}

website/docs/r/gemini_gemini_gcp_enablement_setting.html.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" {
3939
location = "global"
4040
labels = {"my_key": "my_value"}
4141
enable_customer_data_sharing = true
42+
disable_web_grounding = true
4243
}
4344
```
4445

@@ -69,6 +70,10 @@ The following arguments are supported:
6970
(Optional)
7071
Whether customer data sharing should be enabled.
7172

73+
* `disable_web_grounding` -
74+
(Optional)
75+
Whether web grounding should be disabled.
76+
7277
* `project` - (Optional) The ID of the project in which the resource belongs.
7378
If it is not provided, the provider project is used.
7479

website/docs/r/gemini_gemini_gcp_enablement_setting_binding.html.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" {
3737
location = "global"
3838
labels = {"my_key": "my_value"}
3939
enable_customer_data_sharing = true
40+
disable_web_grounding = true
4041
}
4142
4243
resource "google_gemini_gemini_gcp_enablement_setting_binding" "example" {

0 commit comments

Comments
 (0)