Skip to content

Commit 0177ef4

Browse files
authored
fix(dhcp): typo attribute with check elements on list (#1242)
1 parent 10918ad commit 0177ef4

4 files changed

+451
-64
lines changed

docs/resources/vpc_public_gateway_dhcp.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The following arguments are supported:
3333
- `rebind_timer` - (Optional) After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `valid_lifetime`. Defaults to 51m (3060s).
3434
- `push_default_route` - (Optional) Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
3535
- `push_dns_server` - (Optional) Whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution. Defaults to `true`.
36-
- `dns_server_override` - (Optional) Override the DNS server list pushed to DHCP clients, instead of the gateway itself
36+
- `dns_servers_override` - (Optional) Override the DNS server list pushed to DHCP clients, instead of the gateway itself
3737
- `dns_search` - (Optional) Additional DNS search paths
3838
- `dns_local_name` - (Optional) TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
3939

scaleway/resource_vpc_public_gateway_dhcp.go

+11-5
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func resourceScalewayVPCPublicGatewayDHCP() *schema.Resource {
8787
Computed: true,
8888
Description: "Whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution. Defaults to true.",
8989
},
90-
"dns_server_override": {
90+
"dns_servers_override": {
9191
Type: schema.TypeList,
9292
Optional: true,
9393
Elem: &schema.Schema{
@@ -216,11 +216,17 @@ func resourceScalewayVPCPublicGatewayDHCPRead(ctx context.Context, d *schema.Res
216216
return diag.FromErr(err)
217217
}
218218

219+
if len(dhcp.DNSSearch) > 0 {
220+
_ = d.Set("dns_search", flattenSliceString(dhcp.DNSSearch))
221+
}
222+
223+
if len(dhcp.DNSServersOverride) > 0 {
224+
_ = d.Set("dns_servers_override", flattenSliceString(dhcp.DNSServersOverride))
225+
}
226+
219227
_ = d.Set("address", dhcp.Address.String())
220228
_ = d.Set("created_at", dhcp.CreatedAt.Format(time.RFC3339))
221229
_ = d.Set("dns_local_name", dhcp.DNSLocalName)
222-
_ = d.Set("dns_search", flattenSliceString(dhcp.DNSSearch))
223-
_ = d.Set("dns_server_override", flattenSliceString(dhcp.DNSServersOverride))
224230
_ = d.Set("enable_dynamic", dhcp.EnableDynamic)
225231
_ = d.Set("organization_id", dhcp.OrganizationID)
226232
_ = d.Set("pool_high", dhcp.PoolLow.String())
@@ -297,13 +303,13 @@ func resourceScalewayVPCPublicGatewayDHCPUpdate(ctx context.Context, d *schema.R
297303
req.PoolHigh = scw.IPPtr(net.ParseIP(d.Get("pool_high").(string)))
298304
}
299305

300-
if d.HasChangesExcept("dns_servers_override") {
306+
if d.HasChanges("dns_servers_override") {
301307
if dnsServerOverride, ok := d.GetOk("dns_servers_override"); ok {
302308
req.DNSServersOverride = expandStringsPtr(dnsServerOverride)
303309
}
304310
}
305311

306-
if d.HasChangesExcept("dns_search") {
312+
if d.HasChanges("dns_search") {
307313
if dnsSearch, ok := d.GetOk("dns_search"); ok {
308314
req.DNSSearch = expandStringsPtr(dnsSearch)
309315
}

scaleway/resource_vpc_public_gateway_dhcp_test.go

+47
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,53 @@ func TestAccScalewayVPCPublicGatewayDHCP_Basic(t *testing.T) {
7676
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "organization_id"),
7777
),
7878
},
79+
{
80+
Config: `
81+
resource "scaleway_vpc_public_gateway_dhcp" main {
82+
subnet = "192.168.1.0/24"
83+
push_default_route = true
84+
push_dns_server = true
85+
enable_dynamic = true
86+
dns_servers_override = ["192.168.1.2"]
87+
}
88+
`,
89+
Check: resource.ComposeTestCheckFunc(
90+
testAccCheckScalewayVPCPublicGatewayDHCPExists(tt, "scaleway_vpc_public_gateway_dhcp.main"),
91+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "subnet", "192.168.1.0/24"),
92+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "enable_dynamic", "true"),
93+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "valid_lifetime", "3000"),
94+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "renew_timer", "2000"),
95+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "rebind_timer", "2060"),
96+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "push_default_route", "true"),
97+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "push_dns_server", "true"),
98+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "dns_servers_override.#", "1"),
99+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "dns_servers_override.0", "192.168.1.2"),
100+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "dns_local_name"),
101+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "pool_low"),
102+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "pool_high"),
103+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "created_at"),
104+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "updated_at"),
105+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "zone"),
106+
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_dhcp.main", "organization_id"),
107+
),
108+
},
109+
{
110+
Config: `
111+
resource "scaleway_vpc_public_gateway_dhcp" main {
112+
subnet = "192.168.1.0/24"
113+
push_default_route = true
114+
push_dns_server = true
115+
enable_dynamic = true
116+
dns_servers_override = ["192.168.1.3"]
117+
}
118+
`,
119+
Check: resource.ComposeTestCheckFunc(
120+
testAccCheckScalewayVPCPublicGatewayDHCPExists(tt, "scaleway_vpc_public_gateway_dhcp.main"),
121+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "subnet", "192.168.1.0/24"),
122+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "dns_servers_override.#", "1"),
123+
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_dhcp.main", "dns_servers_override.0", "192.168.1.3"),
124+
),
125+
},
79126
},
80127
})
81128
}

0 commit comments

Comments
 (0)