Skip to content

Commit 9b6a927

Browse files
authored
feat(apple_silicon): introduce monthly commitment handling (#4508)
1 parent 78147bd commit 9b6a927

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

cmd/scw/testdata/test-all-usage-apple-silicon-server-create-usage.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ARGS:
1111
[type] Create a server of the given type
1212
[os-id] Create a server with the given os_id
1313
[enable-vpc] Activate the Private Network feature for this server
14+
[commitment-type] Activate commitment for this server (duration_24h | renewed_monthly | none)
1415
[zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-3)
1516

1617
FLAGS:

cmd/scw/testdata/test-all-usage-apple-silicon-server-update-usage.golden

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ USAGE:
66
scw apple-silicon server update <server-id ...> [arg=value ...]
77

88
ARGS:
9-
server-id UUID of the server you want to update
10-
[name] Updated name for your server
11-
[schedule-deletion] Specify whether the server should be flagged for automatic deletion
12-
[enable-vpc] Activate or deactivate Private Network support for this server
13-
[zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-3)
9+
server-id UUID of the server you want to update
10+
[name] Updated name for your server
11+
[schedule-deletion] Specify whether the server should be flagged for automatic deletion
12+
[enable-vpc] Activate or deactivate Private Network support for this server
13+
[commitment-type.commitment-type] (duration_24h | renewed_monthly | none)
14+
[zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-3)
1415

1516
FLAGS:
1617
-h, --help help for update

docs/commands/apple-silicon.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ scw apple-silicon server create [arg=value ...]
195195
| type | | Create a server of the given type |
196196
| os-id | | Create a server with the given os_id |
197197
| enable-vpc | | Activate the Private Network feature for this server |
198+
| commitment-type | One of: `duration_24h`, `renewed_monthly`, `none` | Activate commitment for this server |
198199
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |
199200

200201

@@ -344,6 +345,7 @@ scw apple-silicon server update <server-id ...> [arg=value ...]
344345
| name | | Updated name for your server |
345346
| schedule-deletion | | Specify whether the server should be flagged for automatic deletion |
346347
| enable-vpc | | Activate or deactivate Private Network support for this server |
348+
| commitment-type.commitment-type | One of: `duration_24h`, `renewed_monthly`, `none` | |
347349
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |
348350

349351

internal/namespaces/applesilicon/v1alpha1/applesilicon_cli.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,14 @@ func appleSiliconServerCreate() *core.Command {
183183
Deprecated: false,
184184
Positional: false,
185185
},
186+
{
187+
Name: "commitment-type",
188+
Short: `Activate commitment for this server`,
189+
Required: false,
190+
Deprecated: false,
191+
Positional: false,
192+
EnumValues: []string{"duration_24h", "renewed_monthly", "none"},
193+
},
186194
core.ZoneArgSpec(scw.ZoneFrPar3),
187195
},
188196
Run: func(ctx context.Context, args interface{}) (i interface{}, e error) {
@@ -394,6 +402,13 @@ func appleSiliconServerUpdate() *core.Command {
394402
Deprecated: false,
395403
Positional: false,
396404
},
405+
{
406+
Name: "commitment-type.commitment-type",
407+
Required: false,
408+
Deprecated: false,
409+
Positional: false,
410+
EnumValues: []string{"duration_24h", "renewed_monthly", "none"},
411+
},
397412
core.ZoneArgSpec(scw.ZoneFrPar3),
398413
},
399414
Run: func(ctx context.Context, args interface{}) (i interface{}, e error) {

0 commit comments

Comments
 (0)