Skip to content

Commit 14c2388

Browse files
committed
manage updating vpc enable update
1 parent 3788645 commit 14c2388

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
@@ -25,13 +25,13 @@ func TestAccServer_Basic(t *testing.T) {
2525
{
2626
Config: `
2727
resource scaleway_apple_silicon_server main {
28-
name = "test-m2"
28+
name = "TestAccServerBasic"
2929
type = "M2-M"
3030
}
3131
`,
3232
Check: resource.ComposeTestCheckFunc(
3333
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
34-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
34+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "TestAccServerBasic"),
3535
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
3636
// Computed
3737
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -44,6 +44,61 @@ func TestAccServer_Basic(t *testing.T) {
4444
})
4545
}
4646

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

0 commit comments

Comments
 (0)