Skip to content

Commit d03b60c

Browse files
authored
fix(baremetal): add check stock available in stock (scaleway#4358)
1 parent b12f43c commit d03b60c

23 files changed

+7293
-4261
lines changed

internal/namespaces/baremetal/v1/custom_server_create_test.go

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package baremetal_test
22

33
import (
4+
"errors"
45
"testing"
56

67
"github.com/alecthomas/assert"
@@ -15,7 +16,18 @@ func Test_CreateServer(t *testing.T) {
1516
t.Run("Simple", func(t *testing.T) {
1617
t.Run("Default", core.Test(&core.TestConfig{
1718
Commands: baremetal.GetCommands(),
18-
Cmd: "scw baremetal server create zone=" + region + " type=" + offerName + " -w",
19+
BeforeFunc: func(ctx *core.BeforeFuncCtx) error {
20+
api := baremetalSDK.NewAPI(ctx.Client)
21+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
22+
OfferName: offerName,
23+
Zone: region,
24+
})
25+
if server.Stock != baremetalSDK.OfferStockAvailable {
26+
return errors.New("offer out of stock")
27+
}
28+
return nil
29+
},
30+
Cmd: "scw baremetal server create zone=" + region + " type=" + offerName + " -w",
1931
Check: core.TestCheckCombine(
2032
core.TestCheckGolden(),
2133
core.TestCheckExitCode(0),
@@ -26,7 +38,18 @@ func Test_CreateServer(t *testing.T) {
2638

2739
t.Run("With name", core.Test(&core.TestConfig{
2840
Commands: baremetal.GetCommands(),
29-
Cmd: "scw baremetal server create name=test-create-server-with-name zone=" + region + " type=" + offerName + " -w",
41+
BeforeFunc: func(ctx *core.BeforeFuncCtx) error {
42+
api := baremetalSDK.NewAPI(ctx.Client)
43+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
44+
OfferName: offerName,
45+
Zone: region,
46+
})
47+
if server.Stock != baremetalSDK.OfferStockAvailable {
48+
return errors.New("offer out of stock")
49+
}
50+
return nil
51+
},
52+
Cmd: "scw baremetal server create name=test-create-server-with-name zone=" + region + " type=" + offerName + " -w",
3053
Check: core.TestCheckCombine(
3154
func(t *testing.T, ctx *core.CheckFuncCtx) {
3255
t.Helper()
@@ -39,7 +62,18 @@ func Test_CreateServer(t *testing.T) {
3962

4063
t.Run("Tags", core.Test(&core.TestConfig{
4164
Commands: baremetal.GetCommands(),
42-
Cmd: "scw baremetal server create tags.0=prod tags.1=blue zone=" + region + " type=" + offerName + " -w",
65+
BeforeFunc: func(ctx *core.BeforeFuncCtx) error {
66+
api := baremetalSDK.NewAPI(ctx.Client)
67+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
68+
OfferName: offerName,
69+
Zone: region,
70+
})
71+
if server.Stock != baremetalSDK.OfferStockAvailable {
72+
return errors.New("offer out of stock")
73+
}
74+
return nil
75+
},
76+
Cmd: "scw baremetal server create tags.0=prod tags.1=blue zone=" + region + " type=" + offerName + " -w",
4377
Check: core.TestCheckCombine(
4478
func(t *testing.T, ctx *core.CheckFuncCtx) {
4579
t.Helper()

internal/namespaces/baremetal/v1/custom_server_fip_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package baremetal_test
22

33
import (
4+
"errors"
45
"testing"
56

67
"github.com/scaleway/scaleway-cli/v2/core"
78
"github.com/scaleway/scaleway-cli/v2/internal/interactive"
89
"github.com/scaleway/scaleway-cli/v2/internal/namespaces/baremetal/v1"
910
flexibleip "github.com/scaleway/scaleway-cli/v2/internal/namespaces/flexibleip/v1alpha1"
11+
baremetalSDK "github.com/scaleway/scaleway-sdk-go/api/baremetal/v1"
1012
)
1113

1214
func Test_CreateFlexibleIPInteractive(t *testing.T) {
@@ -19,6 +21,17 @@ func Test_CreateFlexibleIPInteractive(t *testing.T) {
1921
t.Run("Simple Interactive", core.Test(&core.TestConfig{
2022
Commands: cmds,
2123
BeforeFunc: core.BeforeFuncCombine(
24+
func(ctx *core.BeforeFuncCtx) error {
25+
api := baremetalSDK.NewAPI(ctx.Client)
26+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
27+
OfferName: offerName,
28+
Zone: region,
29+
})
30+
if server.Stock != baremetalSDK.OfferStockAvailable {
31+
return errors.New("offer out of stock")
32+
}
33+
return nil
34+
},
2235
createServerAndWaitDefault("Server"),
2336
),
2437
Cmd: "scw baremetal server add-flexible-ip {{ .Server.ID }}",
@@ -40,6 +53,17 @@ func Test_CreateFlexibleIP(t *testing.T) {
4053
t.Run("Simple", core.Test(&core.TestConfig{
4154
Commands: cmds,
4255
BeforeFunc: core.BeforeFuncCombine(
56+
func(ctx *core.BeforeFuncCtx) error {
57+
api := baremetalSDK.NewAPI(ctx.Client)
58+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
59+
OfferName: offerName,
60+
Zone: region,
61+
})
62+
if server.Stock != baremetalSDK.OfferStockAvailable {
63+
return errors.New("offer out of stock")
64+
}
65+
return nil
66+
},
4367
createServerAndWaitDefault("Server"),
4468
),
4569
Cmd: "scw baremetal server add-flexible-ip {{ .Server.ID }} ip-type=IPv4",

internal/namespaces/baremetal/v1/custom_server_install_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package baremetal_test
22

33
import (
4+
"errors"
45
"testing"
56

67
"github.com/scaleway/scaleway-cli/v2/core"
78
"github.com/scaleway/scaleway-cli/v2/internal/namespaces/baremetal/v1"
89
iam "github.com/scaleway/scaleway-cli/v2/internal/namespaces/iam/v1alpha1"
10+
baremetalSDK "github.com/scaleway/scaleway-sdk-go/api/baremetal/v1"
911
)
1012

1113
func Test_InstallServer(t *testing.T) {
@@ -19,6 +21,18 @@ func Test_InstallServer(t *testing.T) {
1921

2022
t.Run("With ID", core.Test(&core.TestConfig{
2123
BeforeFunc: core.BeforeFuncCombine(
24+
func(ctx *core.BeforeFuncCtx) error {
25+
api := baremetalSDK.NewAPI(ctx.Client)
26+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
27+
OfferName: offerName,
28+
Zone: region,
29+
})
30+
if server.Stock != baremetalSDK.OfferStockAvailable {
31+
err := errors.New("offer out of stock")
32+
return err
33+
}
34+
return nil
35+
},
2236
addSSH("key", sshKey),
2337
createServerAndWait("Server"),
2438
),
@@ -37,6 +51,17 @@ func Test_InstallServer(t *testing.T) {
3751
t.Run("All SSH keys", core.Test(&core.TestConfig{
3852
Commands: cmds,
3953
BeforeFunc: core.BeforeFuncCombine(
54+
func(ctx *core.BeforeFuncCtx) error {
55+
api := baremetalSDK.NewAPI(ctx.Client)
56+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
57+
OfferName: offerName,
58+
Zone: region,
59+
})
60+
if server.Stock != baremetalSDK.OfferStockAvailable {
61+
return errors.New("offer out of stock")
62+
}
63+
return nil
64+
},
4065
addSSH("key", sshKey),
4166
createServerAndWait("Server"),
4267
),

internal/namespaces/baremetal/v1/custom_server_test.go

Lines changed: 49 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package baremetal_test
22

33
import (
4+
"errors"
45
"testing"
56

67
"github.com/scaleway/scaleway-cli/v2/core"
@@ -16,9 +17,22 @@ const (
1617

1718
func Test_StartServerErrors(t *testing.T) {
1819
t.Run("Error: cannot be started while not delivered", core.Test(&core.TestConfig{
19-
BeforeFunc: createServer("Server", "EM-B111X-SATA"),
20-
Commands: baremetal.GetCommands(),
21-
Cmd: "scw baremetal server start zone=" + region + " {{ .Server.ID }}",
20+
BeforeFunc: core.BeforeFuncCombine(
21+
func(ctx *core.BeforeFuncCtx) error {
22+
api := baremetalSDK.NewAPI(ctx.Client)
23+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
24+
OfferName: "EM-B111X-SATA",
25+
Zone: region,
26+
})
27+
if server.Stock != baremetalSDK.OfferStockAvailable {
28+
return errors.New("offer out of stock")
29+
}
30+
return nil
31+
},
32+
createServer("Server", "EM-B111X-SATA"),
33+
),
34+
Commands: baremetal.GetCommands(),
35+
Cmd: "scw baremetal server start zone=" + region + " {{ .Server.ID }}",
2236
Check: core.TestCheckCombine(
2337
core.TestCheckGolden(),
2438
core.TestCheckExitCode(1),
@@ -42,9 +56,22 @@ func Test_StartServerErrors(t *testing.T) {
4256

4357
func Test_StopServerErrors(t *testing.T) {
4458
t.Run("Error: cannot be stopped while not delivered", core.Test(&core.TestConfig{
45-
BeforeFunc: createServer("Server", "EM-B111X-SATA"),
46-
Commands: baremetal.GetCommands(),
47-
Cmd: "scw baremetal server stop zone=" + region + " {{ .Server.ID }}",
59+
BeforeFunc: core.BeforeFuncCombine(
60+
func(ctx *core.BeforeFuncCtx) error {
61+
api := baremetalSDK.NewAPI(ctx.Client)
62+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
63+
OfferName: "EM-B111X-SATA",
64+
Zone: region,
65+
})
66+
if server.Stock != baremetalSDK.OfferStockAvailable {
67+
return errors.New("offer out of stock")
68+
}
69+
return nil
70+
},
71+
createServer("Server", "EM-B111X-SATA"),
72+
),
73+
Commands: baremetal.GetCommands(),
74+
Cmd: "scw baremetal server stop zone=" + region + " {{ .Server.ID }}",
4875
Check: core.TestCheckCombine(
4976
core.TestCheckGolden(),
5077
core.TestCheckExitCode(1),
@@ -68,9 +95,22 @@ func Test_StopServerErrors(t *testing.T) {
6895

6996
func Test_RebootServerErrors(t *testing.T) {
7097
t.Run("Error: cannot be rebooted while not delivered", core.Test(&core.TestConfig{
71-
BeforeFunc: createServer("Server", "EM-B111X-SATA"),
72-
Commands: baremetal.GetCommands(),
73-
Cmd: "scw baremetal server reboot zone=" + region + " {{ .Server.ID }}",
98+
BeforeFunc: core.BeforeFuncCombine(
99+
func(ctx *core.BeforeFuncCtx) error {
100+
api := baremetalSDK.NewAPI(ctx.Client)
101+
server, _ := api.GetOfferByName(&baremetalSDK.GetOfferByNameRequest{
102+
OfferName: "EM-B111X-SATA",
103+
Zone: region,
104+
})
105+
if server.Stock != baremetalSDK.OfferStockAvailable {
106+
return errors.New("offer out of stock")
107+
}
108+
return nil
109+
},
110+
createServer("Server", "EM-B111X-SATA"),
111+
),
112+
Commands: baremetal.GetCommands(),
113+
Cmd: "scw baremetal server reboot zone=" + region + " {{ .Server.ID }}",
74114
Check: core.TestCheckCombine(
75115
core.TestCheckGolden(),
76116
core.TestCheckExitCode(1),

internal/namespaces/baremetal/v1/testdata/test-baremetal-get-offer-simple.cassette.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 1
33
interactions:
44
- request:
55
body: '{"id":"c5853302-63e4-40c7-a711-4a91629565c8","name":"EM-L105X-SATA","stock":"available","bandwidth":1000000000,"max_bandwidth":1000000000,"commercial_range":"lithium","disks":[{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"}],"enable":true,"cpus":[{"name":"Intel
6-
Xeon E5 1410 v2","core_count":4,"thread_count":8,"frequency":2800,"benchmark":""}],"memories":[{"capacity":96000000000,"type":"DDR3","frequency":1600,"is_ecc":true}],"quota_name":"EM_L105X_SATA","price_per_hour":{"currency_code":"EUR","units":0,"nanos":213000000},"price_per_month":null,"persistent_memories":[],"raid_controllers":[],"incompatible_os_ids":["93fb3e11-e02e-47d9-aa3a-f77a2f7a7129","fd771862-4b75-46a7-ab42-73c46c0ac2db","6aa3f876-1c83-4434-8cc4-a2dbc94216db","2e06fa49-4677-4bd7-8bf5-b1c490d8a966","fa29896b-6b49-468d-a787-966559a55c12","847bb37a-dc13-4536-9f07-023d38dba98d","1c376d8a-f237-438d-9cd9-47902050ffd3","69e740ab-9f0e-4107-8516-16470000729c"],"subscription_period":"hourly","operation_path":"","fee":{"currency_code":"EUR","units":0,"nanos":0},"options":[{"id":"31f78309-e6e0-4005-99b3-b3de3958ca7d","name":"HDS","price":{"currency_code":"EUR","units":15,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"00000000-0000-0000-0000-000000000000","certification":{}},{"id":"c498071f-4f8d-49f3-bc52-afc219a48fe0","name":"Windows
6+
Xeon E5 1410 v2","core_count":4,"thread_count":8,"frequency":2800,"benchmark":""}],"memories":[{"capacity":96000000000,"type":"DDR3","frequency":1600,"is_ecc":true}],"quota_name":"EM_L105X_SATA","price_per_hour":{"currency_code":"EUR","units":0,"nanos":213000000},"price_per_month":null,"persistent_memories":[],"raid_controllers":[],"incompatible_os_ids":["2e06fa49-4677-4bd7-8bf5-b1c490d8a966","fa29896b-6b49-468d-a787-966559a55c12","847bb37a-dc13-4536-9f07-023d38dba98d","1c376d8a-f237-438d-9cd9-47902050ffd3","69e740ab-9f0e-4107-8516-16470000729c","93fb3e11-e02e-47d9-aa3a-f77a2f7a7129","fd771862-4b75-46a7-ab42-73c46c0ac2db","6aa3f876-1c83-4434-8cc4-a2dbc94216db"],"subscription_period":"hourly","operation_path":"","fee":{"currency_code":"EUR","units":0,"nanos":0},"options":[{"id":"31f78309-e6e0-4005-99b3-b3de3958ca7d","name":"HDS","price":{"currency_code":"EUR","units":15,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"00000000-0000-0000-0000-000000000000","certification":{}},{"id":"c498071f-4f8d-49f3-bc52-afc219a48fe0","name":"Windows
77
2022 datacenter","price":{"currency_code":"EUR","units":143,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"3422ae02-d6d7-4980-8a00-eb38c262fb41","license":{"os_id":"3422ae02-d6d7-4980-8a00-eb38c262fb41"}},{"id":"931df052-d713-4674-8b58-96a63244c8e2","name":"Remote
88
Access","price":{"currency_code":"EUR","units":0,"nanos":990000000},"enabled":false,"subscription_period":"hourly","manageable":true,"os_id":"00000000-0000-0000-0000-000000000000","remote_access":{}},{"id":"cd4158d7-2d65-49be-8803-c4b8ab6f760c","name":"Private
99
Network","price":{"currency_code":"EUR","units":0,"nanos":30000000},"enabled":false,"subscription_period":"hourly","manageable":true,"os_id":"00000000-0000-0000-0000-000000000000","private_network":{"bandwidth_in_bps":1000000000}},{"id":"f42a040b-6c91-4b11-beb0-b0b21e641fda","name":"Windows
@@ -18,7 +18,7 @@ interactions:
1818
method: GET
1919
response:
2020
body: '{"id":"c5853302-63e4-40c7-a711-4a91629565c8","name":"EM-L105X-SATA","stock":"available","bandwidth":1000000000,"max_bandwidth":1000000000,"commercial_range":"lithium","disks":[{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"},{"capacity":6001175126016,"type":"HDD"}],"enable":true,"cpus":[{"name":"Intel
21-
Xeon E5 1410 v2","core_count":4,"thread_count":8,"frequency":2800,"benchmark":""}],"memories":[{"capacity":96000000000,"type":"DDR3","frequency":1600,"is_ecc":true}],"quota_name":"EM_L105X_SATA","price_per_hour":{"currency_code":"EUR","units":0,"nanos":213000000},"price_per_month":null,"persistent_memories":[],"raid_controllers":[],"incompatible_os_ids":["93fb3e11-e02e-47d9-aa3a-f77a2f7a7129","fd771862-4b75-46a7-ab42-73c46c0ac2db","6aa3f876-1c83-4434-8cc4-a2dbc94216db","2e06fa49-4677-4bd7-8bf5-b1c490d8a966","fa29896b-6b49-468d-a787-966559a55c12","847bb37a-dc13-4536-9f07-023d38dba98d","1c376d8a-f237-438d-9cd9-47902050ffd3","69e740ab-9f0e-4107-8516-16470000729c"],"subscription_period":"hourly","operation_path":"","fee":{"currency_code":"EUR","units":0,"nanos":0},"options":[{"id":"31f78309-e6e0-4005-99b3-b3de3958ca7d","name":"HDS","price":{"currency_code":"EUR","units":15,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"00000000-0000-0000-0000-000000000000","certification":{}},{"id":"c498071f-4f8d-49f3-bc52-afc219a48fe0","name":"Windows
21+
Xeon E5 1410 v2","core_count":4,"thread_count":8,"frequency":2800,"benchmark":""}],"memories":[{"capacity":96000000000,"type":"DDR3","frequency":1600,"is_ecc":true}],"quota_name":"EM_L105X_SATA","price_per_hour":{"currency_code":"EUR","units":0,"nanos":213000000},"price_per_month":null,"persistent_memories":[],"raid_controllers":[],"incompatible_os_ids":["2e06fa49-4677-4bd7-8bf5-b1c490d8a966","fa29896b-6b49-468d-a787-966559a55c12","847bb37a-dc13-4536-9f07-023d38dba98d","1c376d8a-f237-438d-9cd9-47902050ffd3","69e740ab-9f0e-4107-8516-16470000729c","93fb3e11-e02e-47d9-aa3a-f77a2f7a7129","fd771862-4b75-46a7-ab42-73c46c0ac2db","6aa3f876-1c83-4434-8cc4-a2dbc94216db"],"subscription_period":"hourly","operation_path":"","fee":{"currency_code":"EUR","units":0,"nanos":0},"options":[{"id":"31f78309-e6e0-4005-99b3-b3de3958ca7d","name":"HDS","price":{"currency_code":"EUR","units":15,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"00000000-0000-0000-0000-000000000000","certification":{}},{"id":"c498071f-4f8d-49f3-bc52-afc219a48fe0","name":"Windows
2222
2022 datacenter","price":{"currency_code":"EUR","units":143,"nanos":0},"enabled":false,"subscription_period":"monthly","manageable":false,"os_id":"3422ae02-d6d7-4980-8a00-eb38c262fb41","license":{"os_id":"3422ae02-d6d7-4980-8a00-eb38c262fb41"}},{"id":"931df052-d713-4674-8b58-96a63244c8e2","name":"Remote
2323
Access","price":{"currency_code":"EUR","units":0,"nanos":990000000},"enabled":false,"subscription_period":"hourly","manageable":true,"os_id":"00000000-0000-0000-0000-000000000000","remote_access":{}},{"id":"cd4158d7-2d65-49be-8803-c4b8ab6f760c","name":"Private
2424
Network","price":{"currency_code":"EUR","units":0,"nanos":30000000},"enabled":false,"subscription_period":"hourly","manageable":true,"os_id":"00000000-0000-0000-0000-000000000000","private_network":{"bandwidth_in_bps":1000000000}},{"id":"f42a040b-6c91-4b11-beb0-b0b21e641fda","name":"Windows
@@ -33,17 +33,17 @@ interactions:
3333
Content-Type:
3434
- application/json
3535
Date:
36-
- Thu, 12 Dec 2024 16:20:45 GMT
36+
- Fri, 13 Dec 2024 13:58:17 GMT
3737
Server:
38-
- Scaleway API Gateway (fr-par-2;edge03)
38+
- Scaleway API Gateway (fr-par-1;edge03)
3939
Strict-Transport-Security:
4040
- max-age=63072000
4141
X-Content-Type-Options:
4242
- nosniff
4343
X-Frame-Options:
4444
- DENY
4545
X-Request-Id:
46-
- f3c9bc07-fb0f-4d7b-b630-4d436243136f
46+
- 6aed657e-7cbd-4715-845e-28e6b3f9ebc3
4747
status: 200 OK
4848
code: 200
4949
duration: ""

internal/namespaces/baremetal/v1/testdata/test-baremetal-get-offer-simple.golden

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ CommercialRange lithium
88
PricePerHour € 0.213
99
Enable true
1010
QuotaName EM_L105X_SATA
11-
IncompatibleOsIDs.0 93fb3e11-e02e-47d9-aa3a-f77a2f7a7129
12-
IncompatibleOsIDs.1 fd771862-4b75-46a7-ab42-73c46c0ac2db
13-
IncompatibleOsIDs.2 6aa3f876-1c83-4434-8cc4-a2dbc94216db
14-
IncompatibleOsIDs.3 2e06fa49-4677-4bd7-8bf5-b1c490d8a966
15-
IncompatibleOsIDs.4 fa29896b-6b49-468d-a787-966559a55c12
16-
IncompatibleOsIDs.5 847bb37a-dc13-4536-9f07-023d38dba98d
17-
IncompatibleOsIDs.6 1c376d8a-f237-438d-9cd9-47902050ffd3
18-
IncompatibleOsIDs.7 69e740ab-9f0e-4107-8516-16470000729c
11+
IncompatibleOsIDs.0 2e06fa49-4677-4bd7-8bf5-b1c490d8a966
12+
IncompatibleOsIDs.1 fa29896b-6b49-468d-a787-966559a55c12
13+
IncompatibleOsIDs.2 847bb37a-dc13-4536-9f07-023d38dba98d
14+
IncompatibleOsIDs.3 1c376d8a-f237-438d-9cd9-47902050ffd3
15+
IncompatibleOsIDs.4 69e740ab-9f0e-4107-8516-16470000729c
16+
IncompatibleOsIDs.5 93fb3e11-e02e-47d9-aa3a-f77a2f7a7129
17+
IncompatibleOsIDs.6 fd771862-4b75-46a7-ab42-73c46c0ac2db
18+
IncompatibleOsIDs.7 6aa3f876-1c83-4434-8cc4-a2dbc94216db
1919
SubscriptionPeriod hourly
2020
OperationPath -
2121
Fee € 0.00
@@ -105,14 +105,14 @@ PrivateBandwidth(Mbit/s):
105105
"persistent_memories": [],
106106
"raid_controllers": [],
107107
"incompatible_os_ids": [
108-
"93fb3e11-e02e-47d9-aa3a-f77a2f7a7129",
109-
"fd771862-4b75-46a7-ab42-73c46c0ac2db",
110-
"6aa3f876-1c83-4434-8cc4-a2dbc94216db",
111108
"2e06fa49-4677-4bd7-8bf5-b1c490d8a966",
112109
"fa29896b-6b49-468d-a787-966559a55c12",
113110
"847bb37a-dc13-4536-9f07-023d38dba98d",
114111
"1c376d8a-f237-438d-9cd9-47902050ffd3",
115-
"69e740ab-9f0e-4107-8516-16470000729c"
112+
"69e740ab-9f0e-4107-8516-16470000729c",
113+
"93fb3e11-e02e-47d9-aa3a-f77a2f7a7129",
114+
"fd771862-4b75-46a7-ab42-73c46c0ac2db",
115+
"6aa3f876-1c83-4434-8cc4-a2dbc94216db"
116116
],
117117
"subscription_period": "hourly",
118118
"operation_path": "",

0 commit comments

Comments
 (0)