Skip to content

Commit f26c7ff

Browse files
authored
feat(config): add support for default-project-id in config set (#1197)
1 parent e9df357 commit f26c7ff

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

cmd/scw/testdata/test-all-usage-config-set-usage.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ ARGS:
1919
[api-url] Scaleway API URL
2020
[insecure] Set to true to allow insecure HTTPS connections
2121
[default-organization-id] A default Scaleway organization id
22+
[default-project-id] A default Scaleway project id
2223
[default-region] A default Scaleway region (fr-par | nl-ams)
2324
[default-zone] A default Scaleway zone (fr-par-1 | fr-par-2 | nl-ams-1)
2425
[send-telemetry] Set to false to disable telemetry

internal/core/errors.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ func InvalidOrganizationIDError(value string) *CliError {
3737
}
3838
}
3939

40+
func InvalidProjectIDError(value string) *CliError {
41+
return &CliError{
42+
Err: fmt.Errorf("invalid project-id '%v'", value),
43+
Hint: "project-id should be a valid UUID, formatted as: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.",
44+
}
45+
}
46+
4047
func ArgumentConflictError(arg1 string, arg2 string) *CliError {
4148
return &CliError{
4249
Err: fmt.Errorf("only one of those two arguments '%s' and '%s' can be specified in the same time", arg1, arg2),

internal/namespaces/config/commands.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,15 @@ The only allowed attributes are access_key, secret_key, default_organization_id,
205205
}
206206
return nil
207207
},
208+
}, {
209+
Name: "default-project-id",
210+
Short: "A default Scaleway project id",
211+
ValidateFunc: func(argSpec *core.ArgSpec, value interface{}) error {
212+
if !reflect.ValueOf(value).IsNil() && !validation.IsProjectID(*value.(*string)) {
213+
return core.InvalidProjectIDError(*value.(*string))
214+
}
215+
return nil
216+
},
208217
},
209218
{
210219
Name: "default-region",

0 commit comments

Comments
 (0)