@@ -223,6 +223,35 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_statefulEngineOptions(t *tes
223
223
})
224
224
}
225
225
226
+ func TestAccNetworkFirewallFirewallPolicyDataSource_multipleStatefulRuleGroupReferences (t * testing.T ) {
227
+ ctx := acctest .Context (t )
228
+ rName := sdkacctest .RandomWithPrefix ("resource-test-terraform" )
229
+ resourceName := "aws_networkfirewall_firewall_policy.test"
230
+ datasourceName := "data.aws_networkfirewall_firewall_policy.test"
231
+ ruleGroupResourceName1 := "aws_networkfirewall_rule_group.test.0"
232
+ ruleGroupResourceName2 := "aws_networkfirewall_rule_group.test.1"
233
+
234
+ resource .ParallelTest (t , resource.TestCase {
235
+ PreCheck : func () { acctest .PreCheck (ctx , t ); testAccPreCheck (ctx , t ) },
236
+ ErrorCheck : acctest .ErrorCheck (t , names .NetworkFirewallServiceID ),
237
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
238
+ Steps : []resource.TestStep {
239
+ {
240
+ Config : testAccFirewallPolicyDataSourceConfig_multipleStatefulRuleGroupReferences (rName ),
241
+ Check : resource .ComposeAggregateTestCheckFunc (
242
+ resource .TestCheckResourceAttrPair (datasourceName , names .AttrARN , resourceName , names .AttrARN ), resource .TestCheckResourceAttrPair (datasourceName , names .AttrDescription , resourceName , names .AttrDescription ),
243
+ resource .TestCheckResourceAttrPair (datasourceName , "firewall_policy.#" , resourceName , "firewall_policy.#" ),
244
+ resource .TestCheckResourceAttrPair (datasourceName , "firewall_policy.0.stateful_rule_group_reference.#" , resourceName , "firewall_policy.0.stateful_rule_group_reference.#" ),
245
+ resource .TestCheckTypeSetElemAttrPair (datasourceName , "firewall_policy.0.stateful_rule_group_reference.*.resource_arn" , ruleGroupResourceName1 , names .AttrARN ),
246
+ resource .TestCheckTypeSetElemAttrPair (datasourceName , "firewall_policy.0.stateful_rule_group_reference.*.resource_arn" , ruleGroupResourceName2 , names .AttrARN ),
247
+ resource .TestCheckResourceAttrPair (datasourceName , names .AttrName , resourceName , names .AttrName ),
248
+ resource .TestCheckResourceAttrPair (datasourceName , acctest .CtTagsPercent , resourceName , acctest .CtTagsPercent ),
249
+ ),
250
+ },
251
+ },
252
+ })
253
+ }
254
+
226
255
func testAccFirewallPolicyDataSourceConfig_basic (rName string ) string {
227
256
return fmt .Sprintf (`
228
257
resource "aws_networkfirewall_firewall_policy" "test" {
@@ -361,3 +390,11 @@ data "aws_networkfirewall_firewall_policy" "test" {
361
390
}
362
391
` , rName )
363
392
}
393
+
394
+ func testAccFirewallPolicyDataSourceConfig_multipleStatefulRuleGroupReferences (rName string ) string {
395
+ return acctest .ConfigCompose (testAccFirewallPolicyConfig_multipleStatefulRuleGroupReferences (rName ), `
396
+ data "aws_networkfirewall_firewall_policy" "test" {
397
+ arn = aws_networkfirewall_firewall_policy.test.arn
398
+ }
399
+ ` )
400
+ }
0 commit comments