@@ -69,6 +69,11 @@ func ResourceGeminiGeminiGcpEnablementSetting() *schema.Resource {
69
69
ForceNew : true ,
70
70
Description : `Resource ID segment making up resource 'name'. It identifies the resource within its parent collection as described in https://google.aip.dev/122.` ,
71
71
},
72
+ "disable_web_grounding" : {
73
+ Type : schema .TypeBool ,
74
+ Optional : true ,
75
+ Description : `Whether web grounding should be disabled.` ,
76
+ },
72
77
"enable_customer_data_sharing" : {
73
78
Type : schema .TypeBool ,
74
79
Optional : true ,
@@ -137,6 +142,12 @@ func resourceGeminiGeminiGcpEnablementSettingCreate(d *schema.ResourceData, meta
137
142
} else if v , ok := d .GetOkExists ("enable_customer_data_sharing" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (enableCustomerDataSharingProp )) && (ok || ! reflect .DeepEqual (v , enableCustomerDataSharingProp )) {
138
143
obj ["enableCustomerDataSharing" ] = enableCustomerDataSharingProp
139
144
}
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
+ }
140
151
labelsProp , err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels (d .Get ("effective_labels" ), d , config )
141
152
if err != nil {
142
153
return err
@@ -254,6 +265,9 @@ func resourceGeminiGeminiGcpEnablementSettingRead(d *schema.ResourceData, meta i
254
265
if err := d .Set ("enable_customer_data_sharing" , flattenGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing (res ["enableCustomerDataSharing" ], d , config )); err != nil {
255
266
return fmt .Errorf ("Error reading GeminiGcpEnablementSetting: %s" , err )
256
267
}
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
+ }
257
271
if err := d .Set ("terraform_labels" , flattenGeminiGeminiGcpEnablementSettingTerraformLabels (res ["labels" ], d , config )); err != nil {
258
272
return fmt .Errorf ("Error reading GeminiGcpEnablementSetting: %s" , err )
259
273
}
@@ -286,6 +300,12 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
286
300
} else if v , ok := d .GetOkExists ("enable_customer_data_sharing" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , enableCustomerDataSharingProp )) {
287
301
obj ["enableCustomerDataSharing" ] = enableCustomerDataSharingProp
288
302
}
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
+ }
289
309
labelsProp , err := expandGeminiGeminiGcpEnablementSettingEffectiveLabels (d .Get ("effective_labels" ), d , config )
290
310
if err != nil {
291
311
return err
@@ -313,6 +333,10 @@ func resourceGeminiGeminiGcpEnablementSettingUpdate(d *schema.ResourceData, meta
313
333
updateMask = append (updateMask , "enableCustomerDataSharing" )
314
334
}
315
335
336
+ if d .HasChange ("disable_web_grounding" ) {
337
+ updateMask = append (updateMask , "disableWebGrounding" )
338
+ }
339
+
316
340
if d .HasChange ("effective_labels" ) {
317
341
updateMask = append (updateMask , "labels" )
318
342
}
@@ -458,6 +482,10 @@ func flattenGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing(v interfac
458
482
return v
459
483
}
460
484
485
+ func flattenGeminiGeminiGcpEnablementSettingDisableWebGrounding (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
486
+ return v
487
+ }
488
+
461
489
func flattenGeminiGeminiGcpEnablementSettingTerraformLabels (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
462
490
if v == nil {
463
491
return v
@@ -481,6 +509,10 @@ func expandGeminiGeminiGcpEnablementSettingEnableCustomerDataSharing(v interface
481
509
return v , nil
482
510
}
483
511
512
+ func expandGeminiGeminiGcpEnablementSettingDisableWebGrounding (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
513
+ return v , nil
514
+ }
515
+
484
516
func expandGeminiGeminiGcpEnablementSettingEffectiveLabels (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (map [string ]string , error ) {
485
517
if v == nil {
486
518
return map [string ]string {}, nil
0 commit comments