@@ -76,12 +76,22 @@ func TestAccVulnerabilityRuleBundle(t *testing.T) {
7676 ),
7777 },
7878 {
79- Config : fullVulnerabilityRuleBundleConfig_ImageLabel (random ()),
79+ Config : singleRuleConfig_label_must_not_exist (random ()),
8080 Check : resource .ComposeTestCheckFunc (
8181 resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.image_label.0.label_must_not_exist" , "forbidden-label" ),
82- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.1.image_label.0.label_must_exist" , "another-required-label" ),
83- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.2.image_label.0.label_must_exist_and_contain_value.0.required_label" , "required-label" ),
84- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.2.image_label.0.label_must_exist_and_contain_value.0.required_value" , "required-value" ),
82+ ),
83+ },
84+ {
85+ Config : singleRuleConfig_label_must_exist (random ()),
86+ Check : resource .ComposeTestCheckFunc (
87+ resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.image_label.0.label_must_exist" , "another-required-label" ),
88+ ),
89+ },
90+ {
91+ Config : singleRuleConfig_label_must_exist_and_contain_value (random ()),
92+ Check : resource .ComposeTestCheckFunc (
93+ resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.image_label.0.label_must_exist_and_contain_value.0.required_label" , "required-label" ),
94+ resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.image_label.0.label_must_exist_and_contain_value.0.required_value" , "required-value" ),
8595 ),
8696 },
8797 {
@@ -103,29 +113,6 @@ func TestAccVulnerabilityRuleBundle(t *testing.T) {
103113 resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.severities_and_threats.0.epss_percentile_at_least_percentage" , "90" ),
104114 ),
105115 },
106- {
107- Config : fullVulnerabilityRuleBundleConfig_AllTypes (random ()),
108- Check : resource .ComposeTestCheckFunc (
109- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.0.image_label.0.label_must_not_exist" , "forbidden-label" ),
110- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.1.image_label.0.label_must_exist" , "another-required-label" ),
111- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.2.image_label.0.label_must_exist_and_contain_value.0.required_label" , "required-label" ),
112- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.2.image_label.0.label_must_exist_and_contain_value.0.required_value" , "required-value" ),
113- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.severity_at_least" , "high" ),
114- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.disclosure_older_than_days" , "90" ),
115- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.package_type" , "os" ),
116- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.in_use" , "true" ),
117- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.fix_available_since_days" , "30" ),
118- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.public_exploit_available_since_days" , "15" ),
119- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.exploit_no_admin_privileges" , "true" ),
120- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.exploit_no_user_interaction" , "true" ),
121- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.exploit_network_attack_vector" , "true" ),
122- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.cisa_kev_in_ransomware_campaign" , "true" ),
123- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.cisa_kev_available_since_days" , "10" ),
124- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.cisa_kev_due_date_in_days" , "21" ),
125- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.epss_score_at_least_percentage" , "80" ),
126- resource .TestCheckResourceAttr ("sysdig_secure_vulnerability_rule_bundle.sample" , "rule.3.severities_and_threats.0.epss_percentile_at_least_percentage" , "90" ),
127- ),
128- },
129116 {
130117 Config : variantVulnerabilityRuleBundleConfig_SeverityEquals (random ()),
131118 Check : resource .ComposeTestCheckFunc (
@@ -224,82 +211,39 @@ resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
224211` , suffix )
225212}
226213
227- func fullVulnerabilityRuleBundleConfig_ImageLabel (suffix string ) string {
214+ func singleRuleConfig_label_must_not_exist (suffix string ) string {
228215 return fmt .Sprintf (`
229216resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
230217 name = "TERRAFORM TEST %s"
231- description = "Full bundle with image_label rules"
232-
218+ description = "rule with label_must_not_exist"
233219 rule {
234220 image_label {
235221 label_must_not_exist = "forbidden-label"
236222 }
237223 }
238-
239- rule {
240- image_label {
241- label_must_exist = "another-required-label"
242- }
243- }
244-
245- rule {
246- image_label {
247- label_must_exist_and_contain_value {
248- required_label = "required-label"
249- required_value = "required-value"
250- }
251- }
252- }
253224}
254225` , suffix )
255226}
256227
257- func fullVulnerabilityRuleBundleConfig_Severities (suffix string ) string {
228+ func singleRuleConfig_label_must_exist (suffix string ) string {
258229 return fmt .Sprintf (`
259230resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
260231 name = "TERRAFORM TEST %s"
261- description = "Full bundle with severities_and_threats rules"
262-
232+ description = "rule with label_must_exist"
263233 rule {
264- severities_and_threats {
265- severity_at_least = "high"
266- disclosure_older_than_days = 90
267- package_type = "os"
268- in_use = true
269- fix_available_since_days = 30
270- public_exploit_available_since_days = 15
271- exploit_no_admin_privileges = true
272- exploit_no_user_interaction = true
273- exploit_network_attack_vector = true
274- cisa_kev_in_ransomware_campaign = true
275- cisa_kev_available_since_days = 10
276- cisa_kev_due_date_in_days = 21
277- epss_score_at_least_percentage = 80
278- epss_percentile_at_least_percentage = 90
234+ image_label {
235+ label_must_exist = "another-required-label"
279236 }
280237 }
281238}
282239` , suffix )
283240}
284241
285- func fullVulnerabilityRuleBundleConfig_AllTypes (suffix string ) string {
242+ func singleRuleConfig_label_must_exist_and_contain_value (suffix string ) string {
286243 return fmt .Sprintf (`
287244resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
288245 name = "TERRAFORM TEST %s"
289- description = "Full bundle with all rule types"
290-
291- rule {
292- image_label {
293- label_must_not_exist = "forbidden-label"
294- }
295- }
296-
297- rule {
298- image_label {
299- label_must_exist = "another-required-label"
300- }
301- }
302-
246+ description = "rule with label_must_exist_and_contain_value"
303247 rule {
304248 image_label {
305249 label_must_exist_and_contain_value {
@@ -308,6 +252,15 @@ resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
308252 }
309253 }
310254 }
255+ }
256+ ` , suffix )
257+ }
258+
259+ func fullVulnerabilityRuleBundleConfig_Severities (suffix string ) string {
260+ return fmt .Sprintf (`
261+ resource "sysdig_secure_vulnerability_rule_bundle" "sample" {
262+ name = "TERRAFORM TEST %s"
263+ description = "Full bundle with severities_and_threats rules"
311264
312265 rule {
313266 severities_and_threats {
0 commit comments