Skip to content

Commit beda2a8

Browse files
Update Gemini GeminiGcpEnablementSetting resource -- add the web_grounding_type field (#14443) (#23581)
[upstream:7d01cbadd4d221f63c0de1ce71c9eb7c540cbd9d] Signed-off-by: Modular Magician <[email protected]>
1 parent 9f4dc04 commit beda2a8

8 files changed

+60
-8
lines changed

.changelog/14443.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
```release-note:enhancement
2+
gemini: added `web_grounding_type` field to `google_gemini_gemini_gcp_enablement_setting` resource
3+
```
4+
```release-note:deprecation
5+
gemini: deprecated the `disable_web_grounding` field in the `google_gemini_gemini_gcp_enablement_setting` resource
6+
```

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ func ResourceGeminiGeminiGcpEnablementSetting() *schema.Resource {
7272
"disable_web_grounding": {
7373
Type: schema.TypeBool,
7474
Optional: true,
75+
Deprecated: "`disable_web_grounding` is deprecated. Use `web_grounding_type` instead.",
7576
Description: `Whether web grounding should be disabled.`,
7677
},
7778
"enable_customer_data_sharing": {
@@ -88,6 +89,14 @@ func ResourceGeminiGeminiGcpEnablementSetting() *schema.Resource {
8889
Please refer to the field 'effective_labels' for all of the labels present on the resource.`,
8990
Elem: &schema.Schema{Type: schema.TypeString},
9091
},
92+
"web_grounding_type": {
93+
Type: schema.TypeString,
94+
Optional: true,
95+
Description: `Web grounding type.
96+
Possible values:
97+
GROUNDING_WITH_GOOGLE_SEARCH
98+
WEB_GROUNDING_FOR_ENTERPRISE`,
99+
},
91100
"create_time": {
92101
Type: schema.TypeString,
93102
Computed: true,
@@ -148,6 +157,12 @@ func resourceGeminiGeminiGcpEnablementSettingCreate(d *schema.ResourceData, meta
148157
} else if v, ok := d.GetOkExists("disable_web_grounding"); !tpgresource.IsEmptyValue(reflect.ValueOf(disableWebGroundingProp)) && (ok || !reflect.DeepEqual(v, disableWebGroundingProp)) {
149158
obj["disableWebGrounding"] = disableWebGroundingProp
150159
}
160+
webGroundingTypeProp, err := expandGeminiGeminiGcpEnablementSettingWebGroundingType(d.Get("web_grounding_type"), d, config)
161+
if err != nil {
162+
return err
163+
} else if v, ok := d.GetOkExists("web_grounding_type"); !tpgresource.IsEmptyValue(reflect.ValueOf(webGroundingTypeProp)) && (ok || !reflect.DeepEqual(v, webGroundingTypeProp)) {
164+
obj["webGroundingType"] = webGroundingTypeProp
165+
}
151166
labelsProp, err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels(d.Get("effective_labels"), d, config)
152167
if err != nil {
153168
return err
@@ -268,6 +283,9 @@ func resourceGeminiGeminiGcpEnablementSettingRead(d *schema.ResourceData, meta i
268283
if err := d.Set("disable_web_grounding", flattenGeminiGeminiGcpEnablementSettingDisableWebGrounding(res["disableWebGrounding"], d, config)); err != nil {
269284
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
270285
}
286+
if err := d.Set("web_grounding_type", flattenGeminiGeminiGcpEnablementSettingWebGroundingType(res["webGroundingType"], d, config)); err != nil {
287+
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
288+
}
271289
if err := d.Set("terraform_labels", flattenGeminiGeminiGcpEnablementSettingTerraformLabels(res["labels"], d, config)); err != nil {
272290
return fmt.Errorf("Error reading GeminiGcpEnablementSetting: %s", err)
273291
}
@@ -306,6 +324,12 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
306324
} else if v, ok := d.GetOkExists("disable_web_grounding"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, disableWebGroundingProp)) {
307325
obj["disableWebGrounding"] = disableWebGroundingProp
308326
}
327+
webGroundingTypeProp, err := expandGeminiGeminiGcpEnablementSettingWebGroundingType(d.Get("web_grounding_type"), d, config)
328+
if err != nil {
329+
return err
330+
} else if v, ok := d.GetOkExists("web_grounding_type"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, webGroundingTypeProp)) {
331+
obj["webGroundingType"] = webGroundingTypeProp
332+
}
309333
labelsProp, err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels(d.Get("effective_labels"), d, config)
310334
if err != nil {
311335
return err
@@ -337,6 +361,10 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
337361
updateMask = append(updateMask, "disableWebGrounding")
338362
}
339363

364+
if d.HasChange("web_grounding_type") {
365+
updateMask = append(updateMask, "webGroundingType")
366+
}
367+
340368
if d.HasChange("effective_labels") {
341369
updateMask = append(updateMask, "labels")
342370
}
@@ -486,6 +514,10 @@ func flattenGeminiGeminiGcpEnablementSettingDisableWebGrounding(v interface{}, d
486514
return v
487515
}
488516

517+
func flattenGeminiGeminiGcpEnablementSettingWebGroundingType(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
518+
return v
519+
}
520+
489521
func flattenGeminiGeminiGcpEnablementSettingTerraformLabels(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
490522
if v == nil {
491523
return v
@@ -513,6 +545,10 @@ func expandGeminiGeminiGcpEnablementSettingDisableWebGrounding(v interface{}, d
513545
return v, nil
514546
}
515547

548+
func expandGeminiGeminiGcpEnablementSettingWebGroundingType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
549+
return v, nil
550+
}
551+
516552
func expandGeminiGeminiGcpEnablementSettingEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
517553
if v == nil {
518554
return map[string]string{}, nil

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_binding_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +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
78+
web_grounding_type = "WEB_GROUNDING_FOR_ENTERPRISE"
7979
}
8080
8181
resource "google_gemini_gemini_gcp_enablement_setting_binding" "basic_binding" {
@@ -97,7 +97,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "basic" {
9797
location = "global"
9898
labels = {"my_key" = "my_value"}
9999
enable_customer_data_sharing = false
100-
disable_web_grounding = false
100+
web_grounding_type = "GROUNDING_WITH_GOOGLE_SEARCH"
101101
}
102102
103103
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
@@ -20,3 +20,4 @@ fields:
2020
- field: 'terraform_labels'
2121
provider_only: true
2222
- field: 'update_time'
23+
- field: 'web_grounding_type'

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_generated_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +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
65+
web_grounding_type = "WEB_GROUNDING_FOR_ENTERPRISE"
6666
}
6767
`, context)
6868
}

google/services/gemini/resource_gemini_gemini_gcp_enablement_setting_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +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
70+
web_grounding_type = "WEB_GROUNDING_FOR_ENTERPRISE"
7171
}
7272
`, context)
7373
}
@@ -78,7 +78,7 @@ resource "google_gemini_gemini_gcp_enablement_setting" "example" {
7878
location = "global"
7979
labels = {"my_key" = "my_value"}
8080
enable_customer_data_sharing = false
81-
disable_web_grounding = false
81+
web_grounding_type = "GROUNDING_WITH_GOOGLE_SEARCH"
8282
}
8383
`, context)
8484
}

website/docs/r/gemini_gemini_gcp_enablement_setting.html.markdown

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +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
42+
web_grounding_type = "WEB_GROUNDING_FOR_ENTERPRISE"
4343
}
4444
```
4545

@@ -68,9 +68,18 @@ The following arguments are supported:
6868
Whether customer data sharing should be enabled.
6969

7070
* `disable_web_grounding` -
71-
(Optional)
71+
(Optional, Deprecated)
7272
Whether web grounding should be disabled.
7373

74+
~> **Warning:** `disable_web_grounding` is deprecated. Use `web_grounding_type` instead.
75+
76+
* `web_grounding_type` -
77+
(Optional)
78+
Web grounding type.
79+
Possible values:
80+
GROUNDING_WITH_GOOGLE_SEARCH
81+
WEB_GROUNDING_FOR_ENTERPRISE
82+
7483
* `project` - (Optional) The ID of the project in which the resource belongs.
7584
If it is not provided, the provider project is used.
7685

website/docs/r/gemini_gemini_gcp_enablement_setting_binding.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +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
40+
web_grounding_type = "WEB_GROUNDING_FOR_ENTERPRISE"
4141
}
4242
4343
resource "google_gemini_gemini_gcp_enablement_setting_binding" "example" {

0 commit comments

Comments
 (0)