Skip to content

Commit c7eae86

Browse files
authored
Merge pull request #44482 from tabito-hara/b-aws_networkfirewall_firewall_policy_data_source-fix_attribute
[bugfix] d/aws_networkfirewall_firewall_policy: Fix failure to retrieve multiple `stateful_rule_group_reference` attributes due to missing `Computed` attributes
2 parents 4b7a864 + 64bde08 commit c7eae86

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

.changelog/44482.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
data-source/aws_networkfirewall_firewall_policy: Fix failure to retrieve multiple `firewall_policy.stateful_rule_group_reference` attributes
3+
```

internal/service/networkfirewall/firewall_policy_data_source.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,12 @@ func dataSourceFirewallPolicy() *schema.Resource {
121121
},
122122
"override": {
123123
Type: schema.TypeList,
124-
Optional: true,
124+
Computed: true,
125125
Elem: &schema.Resource{
126126
Schema: map[string]*schema.Schema{
127127
names.AttrAction: {
128128
Type: schema.TypeString,
129-
Optional: true,
129+
Computed: true,
130130
},
131131
},
132132
},

internal/service/networkfirewall/firewall_policy_data_source_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,35 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_statefulEngineOptions(t *tes
223223
})
224224
}
225225

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+
226255
func testAccFirewallPolicyDataSourceConfig_basic(rName string) string {
227256
return fmt.Sprintf(`
228257
resource "aws_networkfirewall_firewall_policy" "test" {
@@ -361,3 +390,11 @@ data "aws_networkfirewall_firewall_policy" "test" {
361390
}
362391
`, rName)
363392
}
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

Comments
 (0)