Skip to content

Commit aa539c3

Browse files
Permadiff fix: advertised_ip_ranges in cloud router (#11262) (#18869)
[upstream:2079ba534361934b883b1d56c162740cf3c2c895] Signed-off-by: Modular Magician <[email protected]>
1 parent a7b29f6 commit aa539c3

File tree

3 files changed

+53
-1
lines changed

3 files changed

+53
-1
lines changed

.changelog/11262.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
compute: fixed perma-diff in `google_compute_router`
3+
```

google/services/compute/resource_compute_router.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ func flattenComputeRouterBgpAdvertisedIpRanges(v interface{}, d *schema.Resource
646646
})
647647
}
648648
configData := []map[string]interface{}{}
649-
if v, ok := d.GetOk("advertised_ip_ranges"); ok {
649+
if v, ok := d.GetOk("bgp.0.advertised_ip_ranges"); ok {
650650
for _, item := range v.([]interface{}) {
651651
configData = append(configData, item.(map[string]interface{}))
652652
}

google/services/compute/resource_compute_router_test.go

+49
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,29 @@ func TestAccComputeRouter_full(t *testing.T) {
7979
})
8080
}
8181

82+
func TestAccComputeRouter_advertisedIpRangesOrder(t *testing.T) {
83+
t.Parallel()
84+
85+
testId := acctest.RandString(t, 10)
86+
routerName := fmt.Sprintf("tf-test-router-%s", testId)
87+
acctest.VcrTest(t, resource.TestCase{
88+
PreCheck: func() { acctest.AccTestPreCheck(t) },
89+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
90+
CheckDestroy: testAccCheckComputeRouterDestroyProducer(t),
91+
Steps: []resource.TestStep{
92+
{
93+
Config: testAccComputeRouterAdvertisedIpRangesOrder(routerName),
94+
},
95+
{
96+
ResourceName: "google_compute_router.foobar",
97+
ImportState: true,
98+
ImportStateVerify: true,
99+
ImportStateVerifyIgnore: []string{"bgp.0.advertised_ip_ranges.0.range", "bgp.0.advertised_ip_ranges.1.range"},
100+
},
101+
},
102+
})
103+
}
104+
82105
func TestAccComputeRouter_update(t *testing.T) {
83106
t.Parallel()
84107

@@ -265,6 +288,32 @@ resource "google_compute_router" "foobar" {
265288
`, routerName, routerName)
266289
}
267290

291+
func testAccComputeRouterAdvertisedIpRangesOrder(routerName string) string {
292+
return fmt.Sprintf(`
293+
resource "google_compute_network" "foobar" {
294+
name = "%s-net"
295+
auto_create_subnetworks = false
296+
}
297+
298+
resource "google_compute_router" "foobar" {
299+
name = "%s"
300+
network = google_compute_network.foobar.name
301+
bgp {
302+
asn = 64514
303+
advertise_mode = "CUSTOM"
304+
advertised_groups = ["ALL_SUBNETS"]
305+
advertised_ip_ranges {
306+
range = "6.7.0.0/16"
307+
}
308+
advertised_ip_ranges {
309+
range = "1.2.3.4"
310+
}
311+
keepalive_interval = 25
312+
}
313+
}
314+
`, routerName, routerName)
315+
}
316+
268317
func testAccComputeRouter_noBGP(routerName, resourceRegion string) string {
269318
return fmt.Sprintf(`
270319
resource "google_compute_network" "foobar" {

0 commit comments

Comments
 (0)