diff --git a/internal/platform/web/web.go b/internal/platform/web/web.go index a74c591f5c..575f870c85 100644 --- a/internal/platform/web/web.go +++ b/internal/platform/web/web.go @@ -11,6 +11,7 @@ type Platform struct { JWT string DefaultProjectID string DefaultOrganizationID string + APIUrl string } func (p *Platform) CreateClient(client *http.Client, _ string, _ string) (*scw.Client, error) { @@ -32,6 +33,10 @@ func (p *Platform) CreateClient(client *http.Client, _ string, _ string) (*scw.C opts = append(opts, scw.WithDefaultOrganizationID(p.DefaultOrganizationID)) } + if p.APIUrl != "" { + opts = append(opts, scw.WithAPIURL(p.APIUrl)) + } + return scw.NewClient(opts...) } diff --git a/internal/wasm/run.go b/internal/wasm/run.go index 3879d0ee46..242166b3b7 100644 --- a/internal/wasm/run.go +++ b/internal/wasm/run.go @@ -24,6 +24,7 @@ type RunConfig struct { JWT string `js:"jwt"` DefaultProjectID string `js:"defaultProjectID"` DefaultOrganizationID string `js:"defaultOrganizationID"` + APIUrl string `js:"apiUrl"` } type RunResponse struct { @@ -44,6 +45,7 @@ func runCommand(cfg *RunConfig, args []string, stdout io.Writer, stderr io.Write JWT: cfg.JWT, DefaultProjectID: cfg.DefaultProjectID, DefaultOrganizationID: cfg.DefaultOrganizationID, + APIUrl: cfg.APIUrl, }, }) diff --git a/wasm/cli.d.ts b/wasm/cli.d.ts index 764874e5d3..3cd9f4f64e 100644 --- a/wasm/cli.d.ts +++ b/wasm/cli.d.ts @@ -2,6 +2,7 @@ export type RunConfig = { jwt: string defaultProjectID: string defaultOrganizationID: string + apiUrl: string } export type RunResponse = { diff --git a/wasm/package.json b/wasm/package.json index 5f43697169..ba1c10390c 100644 --- a/wasm/package.json +++ b/wasm/package.json @@ -1,6 +1,6 @@ { "name": "@scaleway/scaleway-cli-wasm", - "version": "0.0.10", + "version": "0.0.11", "description": "", "type": "module", "main": "index.js", diff --git a/wasm/src/cli.test.ts b/wasm/src/cli.test.ts index 5c8022343e..b941c53690 100644 --- a/wasm/src/cli.test.ts +++ b/wasm/src/cli.test.ts @@ -18,12 +18,14 @@ const emptyConfig = ( override?: { jwt?: string, defaultProjectID?: string, - defaultOrganizationID?: string + defaultOrganizationID?: string, + apiUrl?: string } ): RunConfig => ({ jwt: override?.jwt || "", defaultProjectID: override?.defaultProjectID || "", defaultOrganizationID: override?.defaultOrganizationID || "", + apiUrl: override?.apiUrl || "" }) describe('With wasm CLI', async () => {