Skip to content

Commit f2c806c

Browse files
remyleoneMonitob
authored andcommitted
feat(vpcgw): add support for vpc public gateway ip (scaleway#863)
1 parent 8e9b09a commit f2c806c

6 files changed

+276
-535
lines changed

scaleway/provider.go

-4
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,7 @@ func Provider(config *ProviderConfig) plugin.ProviderFunc {
9494
"scaleway_rdb_user": resourceScalewayRdbUser(),
9595
"scaleway_object_bucket": resourceScalewayObjectBucket(),
9696
"scaleway_vpc_public_gateway": resourceScalewayVPCPublicGateway(),
97-
"scaleway_vpc_gateway_network": resourceScalewayVPCGatewayNetwork(),
98-
"scaleway_vpc_public_gateway_dhcp": resourceScalewayVPCPublicGatewayDHCP(),
9997
"scaleway_vpc_public_gateway_ip": resourceScalewayVPCPublicGatewayIP(),
100-
"scaleway_vpc_public_gateway_pat_rule": resourceScalewayVPCPublicGatewayPATRule(),
10198
"scaleway_vpc_private_network": resourceScalewayVPCPrivateNetwork(),
10299
},
103100

@@ -122,7 +119,6 @@ func Provider(config *ProviderConfig) plugin.ProviderFunc {
122119
"scaleway_registry_namespace": dataSourceScalewayRegistryNamespace(),
123120
"scaleway_registry_image": dataSourceScalewayRegistryImage(),
124121
"scaleway_vpc_public_gateway": dataSourceScalewayVPCPublicGateway(),
125-
"scaleway_vpc_public_gateway_dhcp": dataSourceScalewayVPCPublicGatewayDHCP(),
126122
"scaleway_vpc_public_gateway_ip": dataSourceScalewayVPCPublicGatewayIP(),
127123
"scaleway_vpc_private_network": dataSourceScalewayVPCPrivateNetwork(),
128124
},

scaleway/resource_vpc_public_gateway_ip.go

+4-20
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,15 @@ func resourceScalewayVPCPublicGatewayIP() *schema.Resource {
3434
Type: schema.TypeString,
3535
},
3636
},
37-
"project_id": projectIDSchema(),
38-
"zone": zoneSchema(),
39-
// Computed elements
40-
"organization_id": organizationIDSchema(),
4137
"reverse": {
4238
Type: schema.TypeString,
4339
Optional: true,
44-
Computed: true,
4540
Description: "reverse domain name for the IP address",
4641
},
42+
"project_id": projectIDSchema(),
43+
"zone": zoneSchema(),
44+
// Computed elements
45+
"organization_id": organizationIDSchema(),
4746
"created_at": {
4847
Type: schema.TypeString,
4948
Computed: true,
@@ -75,20 +74,6 @@ func resourceScalewayVPCPublicGatewayIPCreate(ctx context.Context, d *schema.Res
7574
return diag.FromErr(err)
7675
}
7776

78-
reverse := d.Get("reverse")
79-
if len(reverse.(string)) > 0 {
80-
updateRequest := &vpcgw.UpdateIPRequest{
81-
IPID: res.ID,
82-
Zone: zone,
83-
Tags: scw.StringsPtr(expandStrings(d.Get("tags"))),
84-
Reverse: expandStringPtr(reverse.(string)),
85-
}
86-
_, err = vpcgwAPI.UpdateIP(updateRequest, scw.WithContext(ctx))
87-
if err != nil {
88-
return diag.FromErr(err)
89-
}
90-
}
91-
9277
d.SetId(newZonedIDString(zone, res.ID))
9378

9479
return resourceScalewayVPCPublicGatewayIPRead(ctx, d, meta)
@@ -113,7 +98,6 @@ func resourceScalewayVPCPublicGatewayIPRead(ctx context.Context, d *schema.Resou
11398
}
11499

115100
_ = d.Set("organization_id", ip.OrganizationID)
116-
_ = d.Set("address", ip.Address.String())
117101
_ = d.Set("project_id", ip.ProjectID)
118102
_ = d.Set("created_at", ip.CreatedAt.Format(time.RFC3339))
119103
_ = d.Set("updated_at", ip.UpdatedAt.Format(time.RFC3339))

scaleway/resource_vpc_public_gateway_ip_test.go

-23
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,6 @@ func TestAccScalewayVPCPublicGatewayIP_Basic(t *testing.T) {
5858
`,
5959
Check: resource.ComposeTestCheckFunc(
6060
testAccCheckScalewayVPCPublicGatewayIPExists(tt, "scaleway_vpc_public_gateway_ip.main"),
61-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "reverse"),
62-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "address"),
63-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "created_at"),
64-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "updated_at"),
6561
),
6662
},
6763
{
@@ -76,25 +72,6 @@ func TestAccScalewayVPCPublicGatewayIP_Basic(t *testing.T) {
7672
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_ip.main", "tags.0", "tag0"),
7773
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_ip.main", "tags.1", "tag1"),
7874
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_ip.main", "reverse", "example.com"),
79-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "address"),
80-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "created_at"),
81-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "updated_at"),
82-
),
83-
},
84-
{
85-
Config: `
86-
resource scaleway_vpc_public_gateway_ip main {
87-
tags = ["tag2", "tag3"]
88-
}
89-
`,
90-
Check: resource.ComposeTestCheckFunc(
91-
testAccCheckScalewayVPCPublicGatewayIPExists(tt, "scaleway_vpc_public_gateway_ip.main"),
92-
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_ip.main", "tags.0", "tag2"),
93-
resource.TestCheckResourceAttr("scaleway_vpc_public_gateway_ip.main", "tags.1", "tag3"),
94-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "reverse"),
95-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "address"),
96-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "created_at"),
97-
resource.TestCheckResourceAttrSet("scaleway_vpc_public_gateway_ip.main", "updated_at"),
9875
),
9976
},
10077
},

0 commit comments

Comments
 (0)