55
66 "github.com/hashicorp/terraform-plugin-testing/helper/resource"
77
8+ "github.com/hashicorp/terraform-plugin-testing/plancheck"
9+
810 "github.com/hashicorp/terraform-provider-google/google/acctest"
911
1012 "github.com/hashicorp/terraform-provider-google/google/envvar"
@@ -30,8 +32,28 @@ func TestAccModelArmorGlobalFloorsetting_update(t *testing.T) {
3032 ImportStateVerify : true ,
3133 ImportStateVerifyIgnore : []string {"location" , "parent" },
3234 },
35+ {
36+ // Update from inspect_only to inspect_and_block = true for both ai_platform and google_mcp_server
37+ Config : testAccModelArmorGlobalFloorsetting_enableInspectAndBlock (context ),
38+ ConfigPlanChecks : resource.ConfigPlanChecks {
39+ PreApply : []plancheck.PlanCheck {
40+ plancheck .ExpectResourceAction ("google_model_armor_floorsetting.test-resource" , plancheck .ResourceActionUpdate ),
41+ },
42+ },
43+ },
44+ {
45+ ResourceName : "google_model_armor_floorsetting.test-resource" ,
46+ ImportState : true ,
47+ ImportStateVerify : true ,
48+ ImportStateVerifyIgnore : []string {"location" , "parent" },
49+ },
3350 {
3451 Config : testAccModelArmorGlobalFloorsetting_updated (context ),
52+ ConfigPlanChecks : resource.ConfigPlanChecks {
53+ PreApply : []plancheck.PlanCheck {
54+ plancheck .ExpectResourceAction ("google_model_armor_floorsetting.test-resource" , plancheck .ResourceActionUpdate ),
55+ },
56+ },
3557 },
3658 {
3759 ResourceName : "google_model_armor_floorsetting.test-resource" ,
@@ -72,12 +94,17 @@ resource "google_model_armor_floorsetting" "test-resource" {
7294
7395 enable_floor_setting_enforcement = true
7496
75- integrated_services = [ "AI_PLATFORM" ]
97+ integrated_services = [ "AI_PLATFORM", "GOOGLE_MCP_SERVER" ]
7698
7799 ai_platform_floor_setting {
78100 inspect_only = true
79101 enable_cloud_logging = true
80102 }
103+
104+ google_mcp_server_floor_setting {
105+ inspect_only = true
106+ enable_cloud_logging = true
107+ }
81108
82109 floor_setting_metadata {
83110 multi_language_detection {
@@ -88,6 +115,55 @@ resource "google_model_armor_floorsetting" "test-resource" {
88115` , context )
89116}
90117
118+ func testAccModelArmorGlobalFloorsetting_enableInspectAndBlock (context map [string ]interface {}) string {
119+ return acctest .Nprintf (`
120+ resource "google_model_armor_floorsetting" "test-resource" {
121+ location = "global"
122+ parent = "projects/%{project_id}"
123+
124+ filter_config {
125+ rai_settings {
126+ rai_filters {
127+ filter_type = "DANGEROUS"
128+ confidence_level = "LOW_AND_ABOVE"
129+ }
130+ }
131+ sdp_settings {
132+ basic_config {
133+ filter_enforcement = "ENABLED"
134+ }
135+ }
136+ pi_and_jailbreak_filter_settings {
137+ filter_enforcement = "ENABLED"
138+ confidence_level = "MEDIUM_AND_ABOVE"
139+ }
140+ malicious_uri_filter_settings {
141+ filter_enforcement = "ENABLED"
142+ }
143+ }
144+
145+ enable_floor_setting_enforcement = true
146+ integrated_services = [ "AI_PLATFORM", "GOOGLE_MCP_SERVER" ]
147+
148+ ai_platform_floor_setting {
149+ inspect_and_block = true
150+ enable_cloud_logging = true
151+ }
152+
153+ google_mcp_server_floor_setting {
154+ inspect_and_block = true
155+ enable_cloud_logging = true
156+ }
157+
158+ floor_setting_metadata {
159+ multi_language_detection {
160+ enable_multi_language_detection = true
161+ }
162+ }
163+ }
164+ ` , context )
165+ }
166+
91167func testAccModelArmorGlobalFloorsetting_updated (context map [string ]interface {}) string {
92168 return acctest .Nprintf (`
93169resource "google_model_armor_floorsetting" "test-resource" {
@@ -115,11 +191,6 @@ resource "google_model_armor_floorsetting" "test-resource" {
115191 filter_enforcement = "ENABLED"
116192 }
117193 }
118-
119- ai_platform_floor_setting {
120- inspect_and_block = false
121- enable_cloud_logging = false
122- }
123194
124195 floor_setting_metadata {
125196 multi_language_detection {
0 commit comments