diff --git a/google/data_source_google_netblock_ip_ranges.go b/google/data_source_google_netblock_ip_ranges.go index 0a7c69b0..0af86f26 100644 --- a/google/data_source_google_netblock_ip_ranges.go +++ b/google/data_source_google_netblock_ip_ranges.go @@ -102,19 +102,16 @@ func getCidrBlocks() (map[string][]string, error) { splitedResponse = strings.Split(response, " ") for _, sp := range splitedResponse { - if strings.HasPrefix(sp, "ip") { - - cdrBlock := strings.Split(sp, ":")[1] + if strings.HasPrefix(sp, "ip4") { + cdrBlock := strings.Replace(sp, "ip4:", "", 1) + cidrBlocks["cidr_blocks_ipv4"] = append(cidrBlocks["cidr_blocks_ipv4"], cdrBlock) cidrBlocks["cidr_blocks"] = append(cidrBlocks["cidr_blocks"], cdrBlock) - if strings.HasPrefix(sp, "ip4") { - cdrBlock := strings.Replace(sp, "ip4:", "", 1) - cidrBlocks["cidr_blocks_ipv4"] = append(cidrBlocks["cidr_blocks_ipv4"], cdrBlock) + } else if strings.HasPrefix(sp, "ip6") { + cdrBlock := strings.Replace(sp, "ip6:", "", 1) + cidrBlocks["cidr_blocks_ipv6"] = append(cidrBlocks["cidr_blocks_ipv6"], cdrBlock) + cidrBlocks["cidr_blocks"] = append(cidrBlocks["cidr_blocks"], cdrBlock) - } else if strings.HasPrefix(sp, "ip6") { - cdrBlock := strings.Replace(sp, "ip6:", "", 1) - cidrBlocks["cidr_blocks_ipv6"] = append(cidrBlocks["cidr_blocks_ipv6"], cdrBlock) - } } else if strings.HasPrefix(sp, "include:") { cidr_block := strings.Replace(sp, "include:", "", 1) dnsNetblockList = append(dnsNetblockList, cidr_block) diff --git a/google/data_source_google_netblock_ip_ranges_test.go b/google/data_source_google_netblock_ip_ranges_test.go index eb048cca..9f7b9a81 100644 --- a/google/data_source_google_netblock_ip_ranges_test.go +++ b/google/data_source_google_netblock_ip_ranges_test.go @@ -18,15 +18,15 @@ func TestAccDataSourceGoogleNetblockIpRanges_basic(t *testing.T) { resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", "cidr_blocks.#", regexp.MustCompile(("^[1-9]+[0-9]*$"))), resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", - "cidr_blocks.0", regexp.MustCompile("^[0-9./:]+$")), + "cidr_blocks.0", regexp.MustCompile("^(?:[0-9a-fA-F./:]{1,4}){1,2}.*/[0-9]{1,3}$")), resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", "cidr_blocks_ipv4.#", regexp.MustCompile(("^[1-9]+[0-9]*$"))), resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", - "cidr_blocks_ipv4.0", regexp.MustCompile("^[0-9./]+$")), + "cidr_blocks_ipv4.0", regexp.MustCompile("^(?:[0-9]{1,3}.){3}[0-9]{1,3}/[0-9]{1,2}$")), resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", "cidr_blocks_ipv6.#", regexp.MustCompile(("^[1-9]+[0-9]*$"))), resource.TestMatchResourceAttr("data.google_netblock_ip_ranges.some", - "cidr_blocks_ipv6.0", regexp.MustCompile("^[0-9./:]+$")), + "cidr_blocks_ipv6.0", regexp.MustCompile("^(?:[0-9a-fA-F]{1,4}:){1,2}.*/[0-9]{1,3}$")), ), }, },