@@ -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+
461489func 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+
484516func expandGeminiGeminiGcpEnablementSettingEffectiveLabels (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (map [string ]string , error ) {
485517 if v == nil {
486518 return map [string ]string {}, nil
0 commit comments