Skip to content

Commit 4509cd2

Browse files
committed
manage updating vpc enable update
1 parent a9511c9 commit 4509cd2

File tree

2 files changed

+71
-49
lines changed

2 files changed

+71
-49
lines changed

internal/services/applesilicon/server.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -261,23 +261,6 @@ func ResourceAppleSiliconServerUpdate(ctx context.Context, d *schema.ResourceDat
261261
req.EnableVpc = &enableVpc
262262
}
263263

264-
if d.HasChange("private_network") {
265-
privateNetwork := d.Get("private_network")
266-
267-
req := &applesilicon.PrivateNetworkAPISetServerPrivateNetworksRequest{
268-
Zone: zone,
269-
ServerID: ID,
270-
PerPrivateNetworkIpamIPIDs: expandPrivateNetworks(privateNetwork),
271-
}
272-
273-
_, err := appleSilisonPrivateNetworkAPI.SetServerPrivateNetworks(req, scw.WithContext(ctx))
274-
if err != nil {
275-
return diag.FromErr(err)
276-
}
277-
278-
_, err = waitForAppleSiliconPrivateNetworkServer(ctx, appleSilisonPrivateNetworkAPI, zone, ID, d.Timeout(schema.TimeoutCreate))
279-
}
280-
281264
_, err = asAPI.UpdateServer(req, scw.WithContext(ctx))
282265
if err != nil {
283266
return diag.FromErr(err)

internal/services/applesilicon/server_test.go

Lines changed: 71 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ func TestAccServer_Basic(t *testing.T) {
2424
{
2525
Config: `
2626
resource scaleway_apple_silicon_server main {
27-
name = "test-m2"
27+
name = "TestAccServerBasic"
2828
type = "M2-M"
2929
}
3030
`,
3131
Check: resource.ComposeTestCheckFunc(
3232
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
33-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
33+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerBasic"),
3434
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
3535
// Computed
3636
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -43,6 +43,61 @@ func TestAccServer_Basic(t *testing.T) {
4343
})
4444
}
4545

46+
func TestAccServer_EnableDisabledVPC(t *testing.T) {
47+
//t.Skip("Skipping AppleSilicon VPC not available")
48+
tt := acctest.NewTestTools(t)
49+
defer tt.Cleanup()
50+
resource.ParallelTest(t, resource.TestCase{
51+
PreCheck: func() { acctest.PreCheck(t) },
52+
ProviderFactories: tt.ProviderFactories,
53+
CheckDestroy: isServerDestroyed(tt),
54+
Steps: []resource.TestStep{
55+
{
56+
Config: `
57+
58+
resource scaleway_apple_silicon_server main {
59+
name = "TestAccServerEnableVPC"
60+
type = "M2-M"
61+
enable_vpc = true
62+
}
63+
`,
64+
Check: resource.ComposeTestCheckFunc(
65+
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
66+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerEnableVPC"),
67+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
68+
// Computed
69+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
70+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),
71+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "created_at"),
72+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "deletable_at"),
73+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_enabled"),
74+
),
75+
},
76+
{
77+
Config: `
78+
79+
resource scaleway_apple_silicon_server main {
80+
name = "TestAccServerEnableVPC"
81+
type = "M2-M"
82+
enable_vpc = false
83+
}
84+
`,
85+
Check: resource.ComposeTestCheckFunc(
86+
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
87+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerEnableVPC"),
88+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
89+
// Computed
90+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
91+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),
92+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "created_at"),
93+
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "deletable_at"),
94+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_updating"),
95+
),
96+
},
97+
},
98+
})
99+
}
100+
46101
func TestAccServer_EnableVPC(t *testing.T) {
47102
//t.Skip("Skipping AppleSilicon VPC not available")
48103
tt := acctest.NewTestTools(t)
@@ -55,65 +110,49 @@ func TestAccServer_EnableVPC(t *testing.T) {
55110
{
56111
Config: `
57112
resource "scaleway_vpc" "vpc01" {
58-
name = "TestAccScalewayBaremetalIPAM"
113+
name = "TestAccServerEnableVPC"
59114
}
60115
61116
resource "scaleway_vpc_private_network" "pn01" {
62-
name = "TestAccScalewayBaremetalIPAM"
63-
ipv4_subnet {
64-
subnet = "172.16.64.0/22"
65-
}
117+
name = "TestAccServerEnableVPC"
66118
vpc_id = scaleway_vpc.vpc01.id
67119
}
68-
69-
resource "scaleway_ipam_ip" "ip01" {
70-
address = "172.16.64.7"
71-
source {
72-
private_network_id = scaleway_vpc_private_network.pn01.id
73-
}
74-
}
75-
76-
resource "scaleway_ipam_ip" "ip02" {
77-
address = "172.16.64.9"
78-
source {
79-
private_network_id = scaleway_vpc_private_network.pn01.id
80-
}
81-
}
82120
83121
resource scaleway_apple_silicon_server main {
84-
name = "test-m2"
122+
name = "TestAccServerEnableVPC"
85123
type = "M2-M"
86124
enable_vpc = true
87125
private_network {
88126
id = scaleway_vpc_private_network.pn01.id
89-
ipam_ip_ids = [scaleway_ipam_ip.ip01.id]
90127
}
91128
}
92129
`,
93130
Check: resource.ComposeTestCheckFunc(
94131
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
95-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
132+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerEnableVPC"),
96133
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
97134
// Computed
98135
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
99136
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),
100137
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "created_at"),
101138
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "deletable_at"),
139+
resource.TestCheckResourceAttrPair("scaleway_apple_silicon_server.main", "private_network.0.id", "scaleway_vpc_private_network.pn01", "id"),
102140
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_enabled"),
103141
),
104142
},
105143
{
106144
Config: `
107-
resource scaleway_apple_silicon_server main {
108-
name = "test-m2"
109-
type = "M2-M"
110-
enable_vpc = false
111-
}
112-
`,
145+
resource scaleway_apple_silicon_server main {
146+
name = "TestAccServerEnableVPC"
147+
type = "M2-M"
148+
enable_vpc = false
149+
}
150+
`,
113151
Check: resource.ComposeTestCheckFunc(
114152
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
115-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
116-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M1-M"),
153+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerEnableVPC"),
154+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
155+
resource.TestCheckNoResourceAttr("scaleway_apple_silicon_server.main", "private_network"),
117156
// Computed
118157
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
119158
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),

0 commit comments

Comments
 (0)