From 9aaa5ca767705c778e2fa06a677db1c1bb2d1f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Fri, 4 Sep 2020 16:37:39 +0200 Subject: [PATCH 1/5] feat(rdb): add support for downloading a backup locally --- internal/namespaces/rdb/v1/custom.go | 1 + internal/namespaces/rdb/v1/custom_backup.go | 100 +++ .../namespaces/rdb/v1/custom_backup_test.go | 30 + .../test-download-backup-simple.cassette.yaml | 745 ++++++++++++++++++ .../test-download-backup-simple.golden | 5 + 5 files changed, 881 insertions(+) create mode 100644 internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml create mode 100644 internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden diff --git a/internal/namespaces/rdb/v1/custom.go b/internal/namespaces/rdb/v1/custom.go index 138104b55c..def2749e56 100644 --- a/internal/namespaces/rdb/v1/custom.go +++ b/internal/namespaces/rdb/v1/custom.go @@ -34,6 +34,7 @@ func GetCommands() *core.Commands { instanceWaitCommand(), instanceConnectCommand(), backupWaitCommand(), + backupDownloadCommand(), )) cmds.MustFind("rdb", "acl", "add").Override(aclAddBuilder) cmds.MustFind("rdb", "acl", "delete").Override(aclDeleteBuilder) diff --git a/internal/namespaces/rdb/v1/custom_backup.go b/internal/namespaces/rdb/v1/custom_backup.go index 0ce8572fc7..933adb5ca4 100644 --- a/internal/namespaces/rdb/v1/custom_backup.go +++ b/internal/namespaces/rdb/v1/custom_backup.go @@ -2,7 +2,13 @@ package rdb import ( "context" + "fmt" + "io" + "net/http" + "net/url" + "os" "reflect" + "strings" "time" "github.com/fatih/color" @@ -112,3 +118,97 @@ func backupRestoreBuilder(c *core.Command) *core.Command { return c } + +func getDefaultFileName(rawURL string) (string, error) { + u, err := url.Parse(rawURL) + if err != nil { + return "", err + } + splitURL := strings.Split(u.Path, "/") + filename := splitURL[len(splitURL)-1] + return filename, nil +} + +func backupDownloadCommand() *core.Command { + type backupDownloadArgs struct { + BackupID string + Region scw.Region + Output string + } + + return &core.Command{ + Short: `Download a backup locally`, + Long: `Download a backup locally.`, + Namespace: "rdb", + Resource: "backup", + Verb: "download", + ArgsType: reflect.TypeOf(backupDownloadArgs{}), + Run: func(ctx context.Context, argsI interface{}) (i interface{}, err error) { + args := argsI.(*backupDownloadArgs) + api := rdb.NewAPI(core.ExtractClient(ctx)) + backup, err := api.WaitForDatabaseBackup(&rdb.WaitForDatabaseBackupRequest{ + DatabaseBackupID: args.BackupID, + Region: args.Region, + Timeout: scw.TimeDurationPtr(backupActionTimeout), + RetryInterval: core.DefaultRetryInterval, + }) + if err != nil { + return nil, err + } + if backup.DownloadURL == nil { + return nil, fmt.Errorf("no download URL found") + } + + res, err := http.Get(*backup.DownloadURL) + if err != nil { + return nil, err + } + defer res.Body.Close() + + // Create the file + filename, err := getDefaultFileName(*backup.DownloadURL) + if err != nil { + return nil, err + } + if args.Output != "" { + filename = args.Output + } + + out, err := os.Create(filename) + if err != nil { + return nil, err + } + defer out.Close() + + // Write the body to file + size, err := io.Copy(out, res.Body) + if err != nil { + return nil, err + } + sizeStr, err := human.Marshal(scw.Size(size), nil) + if err != nil { + return nil, err + } + return fmt.Sprintf("Backup downloaded to %s successfully (%s written)", filename, sizeStr), nil + }, + ArgSpecs: core.ArgSpecs{ + { + Name: "backup-id", + Short: `ID of the backup you want to download.`, + Required: true, + Positional: true, + }, + { + Name: "output", + Short: "Destination to write to", + }, + core.RegionArgSpec(scw.RegionFrPar, scw.RegionNlAms), + }, + Examples: []*core.Example{ + { + Short: "Download a backup", + ArgsJSON: `{"backup_id": "11111111-1111-1111-1111-111111111111"}`, + }, + }, + } +} diff --git a/internal/namespaces/rdb/v1/custom_backup_test.go b/internal/namespaces/rdb/v1/custom_backup_test.go index de7f2a80c4..c326036b24 100644 --- a/internal/namespaces/rdb/v1/custom_backup_test.go +++ b/internal/namespaces/rdb/v1/custom_backup_test.go @@ -1,6 +1,7 @@ package rdb import ( + "path" "testing" "time" @@ -81,3 +82,32 @@ func Test_ExportBackup(t *testing.T) { DefaultRegion: scw.RegionNlAms, })) } + +func Test_DownloadBackup(t *testing.T) { + t.Run("Simple", core.Test(&core.TestConfig{ + Commands: GetCommands(), + BeforeFunc: core.BeforeFuncCombine( + createInstance(engine), + core.ExecStoreBeforeCmd( + "Backup", + "scw rdb backup create name=foobar expires-at=2999-01-02T15:04:05-07:00 instance-id={{ .Instance.ID }} database-name=rdb --wait", + ), + core.ExecStoreBeforeCmd( + "BackupExport", + "scw rdb backup export {{ .Backup.ID }} --wait", + ), + func(ctx *core.BeforeFuncCtx) error { + ctx.Meta["DEST"] = path.Join(ctx.OverrideEnv["HOME"], "dump") + return nil + }, + ), + Cmd: "scw rdb backup download {{ .Backup.ID }} output={{ .DEST }}", + Check: core.TestCheckCombine( + core.TestCheckGolden(), + core.TestCheckExitCode(0), + ), + AfterFunc: deleteInstance(), + DefaultRegion: scw.RegionNlAms, + TmpHomeDir: true, + })) +} diff --git a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml new file mode 100644 index 0000000000..955ebf49e0 --- /dev/null +++ b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml @@ -0,0 +1,745 @@ +--- +version: 1 +interactions: +- request: + body: '{"organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","name":"cli-test","engine":"PostgreSQL-12","user_name":"foobar","password":"{4xdl*#QOoP+\u00263XRkGA)]","node_type":"db-dev-s","is_ha_cluster":false,"disable_backup":false,"tags":null}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances + method: POST + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:33:24 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9199e4c0-383a-4d1d-9f1e-60b73ea48207 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:33:24 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fb2c70c9-8bde-4aa9-a077-1f33f6798ec8 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:33:39 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4f68a3dd-ac3a-4601-ab48-32908fb52d27 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:33:54 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d2e4e805-e974-412b-8ce0-8ad7ede55e8a + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:34:09 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3a27eff1-5619-4fad-ac6f-0c8685b6993a + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:34:24 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 5d5c3f85-6cf6-466a-81f0-716b6c6e745e + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:34:39 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3c74ca5d-fa92-4e42-ba1a-82fe03f78e1b + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:34:54 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d9ac3020-8823-4353-89e0-a6c69b74531a + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:35:10 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b7ffeb11-6701-4a9c-ad68-ac8d52d663c2 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:35:25 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 518617fb-eb9a-48db-b766-6320f3e5ebaf + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:35:40 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1a56ce10-df45-4594-86a2-4f720fce2de4 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:35:55 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0f3b44da-3bc6-4700-9094-12daf2fd81ac + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "462" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:11 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a8a5b44d-85a4-4d53-8e2b-ab517bf9b852 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "770" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:26 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2d81cb9c-1aea-485a-abbb-f2938df1cbcf + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: GET + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"ready","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "763" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:41 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 759a52f3-c972-430d-9b55-ee636eefe2d0 + status: 200 OK + code: 200 + duration: "" +- request: + body: '{"instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","expires_at":"2999-01-02T15:04:05-07:00"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups + method: POST + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + headers: + Content-Length: + - "361" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:42 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0adda629-22ed-464c-93da-6c5b014268a2 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + method: GET + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + headers: + Content-Length: + - "361" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:42 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 585239f5-7900-4273-ac95-3d4e9e6bff84 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + method: GET + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + headers: + Content-Length: + - "383" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:57 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ac09ecae-0a81-4fde-83d2-93fa33771609 + status: 200 OK + code: 200 + duration: "" +- request: + body: '{}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab/export + method: POST + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + headers: + Content-Length: + - "387" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:58 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 25f27c3a-57e4-4adb-bc10-5ff0ca1edd4c + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + method: GET + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + headers: + Content-Length: + - "387" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:36:58 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d6298481-ce85-4571-97a8-ca1fe010d2a2 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + method: GET + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/fe0be8aa-b1c3-43d4-88d5-fb755d276679/9824f1fb-c68a-4f50-8653-923f3be7b9ab.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200904%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200904T143659Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=585b216cf3dd19d1144638332157b5052023644d8d02e60937d94bf44ff2f8d1","download_url_expires_at":"2020-09-05T14:36:59.623796Z","region":"nl-ams"}' + headers: + Content-Length: + - "840" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:37:14 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 84d5c5f7-ba46-4370-b844-60a95da64158 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + method: GET + response: + body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/fe0be8aa-b1c3-43d4-88d5-fb755d276679/9824f1fb-c68a-4f50-8653-923f3be7b9ab.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200904%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200904T143659Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=585b216cf3dd19d1144638332157b5052023644d8d02e60937d94bf44ff2f8d1","download_url_expires_at":"2020-09-05T14:36:59.623796Z","region":"nl-ams"}' + headers: + Content-Length: + - "840" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:37:14 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 94da31a3-cafa-4795-9982-92f7d33a24e1 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + method: DELETE + response: + body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"deleting","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":true},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + headers: + Content-Length: + - "765" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Fri, 04 Sep 2020 14:37:14 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 47b04e93-ae5e-47f3-aca6-0d393877b903 + status: 200 OK + code: 200 + duration: "" diff --git a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden new file mode 100644 index 0000000000..042ea697f3 --- /dev/null +++ b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden @@ -0,0 +1,5 @@ +🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 +🟩🟩🟩 STDOUT️ 🟩🟩🟩️ +Backup downloaded to /var/folders/sm/h3cw_xsj0279j12fnhv6bzd40000gn/T/scw150500094/dump successfully (2.5 kB written) +🟩🟩🟩 JSON STDOUT 🟩🟩🟩 +"Backup downloaded to /var/folders/sm/h3cw_xsj0279j12fnhv6bzd40000gn/T/scw150500094/dump successfully (2.5 kB written)" From 31cc90febed265981c1f5edaf0b0989656d522ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Fri, 4 Sep 2020 16:39:10 +0200 Subject: [PATCH 2/5] Fix --- ...all-usage-rdb-backup-download-usage.golden | 24 +++++++++++++++++++ .../test-all-usage-rdb-backup-usage.golden | 1 + 2 files changed, 25 insertions(+) create mode 100644 cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden diff --git a/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden new file mode 100644 index 0000000000..b9ef6affbe --- /dev/null +++ b/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden @@ -0,0 +1,24 @@ +🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 +πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ +Download a backup locally. + +USAGE: + scw rdb backup download [arg=value ...] + +EXAMPLES: + Download a backup + scw rdb backup download 11111111-1111-1111-1111-111111111111 + +ARGS: + backup-id ID of the backup you want to download. + [output] Destination to write to + [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | nl-ams) + +FLAGS: + -h, --help help for download + +GLOBAL FLAGS: + -c, --config string The path to the config file + -D, --debug Enable debug mode + -o, --output string Output format: json or human, see 'scw help output' for more info (default "human") + -p, --profile string The config profile to use diff --git a/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden index 6c610b707a..027d7449db 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-backup-usage.golden @@ -8,6 +8,7 @@ USAGE: AVAILABLE COMMANDS: create Create a database backup delete Delete a database backup + download Download a backup locally export Export a database backup get Get a database backup list List database backups From 3fc99344097fd98ca3402728d3fdfee90a1d5b69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Mon, 7 Sep 2020 13:49:32 +0200 Subject: [PATCH 3/5] Fix --- internal/namespaces/rdb/v1/custom_backup.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/internal/namespaces/rdb/v1/custom_backup.go b/internal/namespaces/rdb/v1/custom_backup.go index 933adb5ca4..f1294c2c51 100644 --- a/internal/namespaces/rdb/v1/custom_backup.go +++ b/internal/namespaces/rdb/v1/custom_backup.go @@ -7,6 +7,7 @@ import ( "net/http" "net/url" "os" + "path" "reflect" "strings" "time" @@ -166,12 +167,24 @@ func backupDownloadCommand() *core.Command { defer res.Body.Close() // Create the file - filename, err := getDefaultFileName(*backup.DownloadURL) + defaultFilename, err := getDefaultFileName(*backup.DownloadURL) if err != nil { return nil, err } + filename := defaultFilename if args.Output != "" { - filename = args.Output + fi, err := os.Stat(args.Output) + if err != nil { + return nil, err + } + switch mode := fi.Mode(); { + case mode.IsDir(): + // do directory stuff + filename = path.Join(args.Output, defaultFilename) + case mode.IsRegular(): + // do file stuff + filename = args.Output + } } out, err := os.Create(filename) @@ -200,7 +213,7 @@ func backupDownloadCommand() *core.Command { }, { Name: "output", - Short: "Destination to write to", + Short: "Filename to write to", }, core.RegionArgSpec(scw.RegionFrPar, scw.RegionNlAms), }, From afa89e9a54906c5ae0846fd92c55322bea056f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Mon, 7 Sep 2020 15:10:43 +0200 Subject: [PATCH 4/5] Fix --- ...all-usage-rdb-backup-download-usage.golden | 2 +- internal/namespaces/rdb/v1/custom.go | 1 + internal/namespaces/rdb/v1/custom_backup.go | 46 ++- .../namespaces/rdb/v1/custom_backup_test.go | 16 +- .../test-download-backup-simple.cassette.yaml | 272 +++++++----------- .../test-download-backup-simple.golden | 7 +- 6 files changed, 152 insertions(+), 192 deletions(-) diff --git a/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden b/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden index b9ef6affbe..d038f4786a 100644 --- a/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden +++ b/cmd/scw/testdata/test-all-usage-rdb-backup-download-usage.golden @@ -11,7 +11,7 @@ EXAMPLES: ARGS: backup-id ID of the backup you want to download. - [output] Destination to write to + [output] Filename to write to [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | nl-ams) FLAGS: diff --git a/internal/namespaces/rdb/v1/custom.go b/internal/namespaces/rdb/v1/custom.go index def2749e56..ee64a6be4d 100644 --- a/internal/namespaces/rdb/v1/custom.go +++ b/internal/namespaces/rdb/v1/custom.go @@ -23,6 +23,7 @@ func GetCommands() *core.Commands { human.RegisterMarshalerFunc(rdb.Instance{}, instanceMarshalerFunc) human.RegisterMarshalerFunc(rdb.BackupSchedule{}, backupScheduleMarshalerFunc) + human.RegisterMarshalerFunc(backupDownloadResult{}, backupResultMarshalerFunc) human.RegisterMarshalerFunc(rdb.InstanceStatus(""), human.EnumMarshalFunc(instanceStatusMarshalSpecs)) human.RegisterMarshalerFunc(rdb.DatabaseBackupStatus(""), human.EnumMarshalFunc(backupStatusMarshalSpecs)) diff --git a/internal/namespaces/rdb/v1/custom_backup.go b/internal/namespaces/rdb/v1/custom_backup.go index f1294c2c51..72dbedd5be 100644 --- a/internal/namespaces/rdb/v1/custom_backup.go +++ b/internal/namespaces/rdb/v1/custom_backup.go @@ -130,6 +130,20 @@ func getDefaultFileName(rawURL string) (string, error) { return filename, nil } +type backupDownloadResult struct { + Size scw.Size `json:"size"` + FileName string `json:"file_name"` +} + +func backupResultMarshalerFunc(i interface{}, opt *human.MarshalOpt) (string, error) { + backupResult := i.(backupDownloadResult) + sizeStr, err := human.Marshal(backupResult.Size, nil) + if err != nil { + return "", err + } + return fmt.Sprintf("Backup downloaded to %s successfully (%s written)", backupResult.FileName, sizeStr), nil +} + func backupDownloadCommand() *core.Command { type backupDownloadArgs struct { BackupID string @@ -166,7 +180,7 @@ func backupDownloadCommand() *core.Command { } defer res.Body.Close() - // Create the file + // Find the filename for the dump defaultFilename, err := getDefaultFileName(*backup.DownloadURL) if err != nil { return nil, err @@ -175,18 +189,23 @@ func backupDownloadCommand() *core.Command { if args.Output != "" { fi, err := os.Stat(args.Output) if err != nil { - return nil, err - } - switch mode := fi.Mode(); { - case mode.IsDir(): - // do directory stuff - filename = path.Join(args.Output, defaultFilename) - case mode.IsRegular(): - // do file stuff + if !os.IsNotExist(err) { + return nil, err + } filename = args.Output + } else { + switch mode := fi.Mode(); { + case mode.IsDir(): + // do directory stuff + filename = path.Join(args.Output, defaultFilename) + case mode.IsRegular(): + // do file stuff + filename = args.Output + } } } + // Create the file out, err := os.Create(filename) if err != nil { return nil, err @@ -198,11 +217,10 @@ func backupDownloadCommand() *core.Command { if err != nil { return nil, err } - sizeStr, err := human.Marshal(scw.Size(size), nil) - if err != nil { - return nil, err - } - return fmt.Sprintf("Backup downloaded to %s successfully (%s written)", filename, sizeStr), nil + return backupDownloadResult{ + Size: scw.Size(size), + FileName: filename, + }, nil }, ArgSpecs: core.ArgSpecs{ { diff --git a/internal/namespaces/rdb/v1/custom_backup_test.go b/internal/namespaces/rdb/v1/custom_backup_test.go index c326036b24..3b6fec52c3 100644 --- a/internal/namespaces/rdb/v1/custom_backup_test.go +++ b/internal/namespaces/rdb/v1/custom_backup_test.go @@ -1,7 +1,7 @@ package rdb import ( - "path" + "os" "testing" "time" @@ -96,17 +96,19 @@ func Test_DownloadBackup(t *testing.T) { "BackupExport", "scw rdb backup export {{ .Backup.ID }} --wait", ), - func(ctx *core.BeforeFuncCtx) error { - ctx.Meta["DEST"] = path.Join(ctx.OverrideEnv["HOME"], "dump") - return nil - }, ), - Cmd: "scw rdb backup download {{ .Backup.ID }} output={{ .DEST }}", + Cmd: "scw rdb backup download {{ .Backup.ID }} output=dump", Check: core.TestCheckCombine( core.TestCheckGolden(), core.TestCheckExitCode(0), ), - AfterFunc: deleteInstance(), + AfterFunc: core.AfterFuncCombine( + deleteInstance(), + func(ctx *core.AfterFuncCtx) error { + err := os.Remove("dump") + return err + }, + ), DefaultRegion: scw.RegionNlAms, TmpHomeDir: true, })) diff --git a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml index 955ebf49e0..4ab5fcf7d8 100644 --- a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml +++ b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml @@ -8,11 +8,11 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances method: POST response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -21,7 +21,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:33:24 GMT + - Mon, 07 Sep 2020 12:56:04 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -31,7 +31,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 9199e4c0-383a-4d1d-9f1e-60b73ea48207 + - e328b805-e806-4a83-961a-69036269c4d0 status: 200 OK code: 200 duration: "" @@ -40,11 +40,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -53,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:33:24 GMT + - Mon, 07 Sep 2020 12:56:04 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -63,7 +63,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fb2c70c9-8bde-4aa9-a077-1f33f6798ec8 + - 18de2236-57df-4dfb-b062-a380340c1c5b status: 200 OK code: 200 duration: "" @@ -72,11 +72,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -85,7 +85,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:33:39 GMT + - Mon, 07 Sep 2020 12:56:19 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -95,7 +95,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 4f68a3dd-ac3a-4601-ab48-32908fb52d27 + - 373aef87-6078-4e67-95ae-d2be07525d2a status: 200 OK code: 200 duration: "" @@ -104,11 +104,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -117,7 +117,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:33:54 GMT + - Mon, 07 Sep 2020 12:56:34 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -127,7 +127,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d2e4e805-e974-412b-8ce0-8ad7ede55e8a + - c7b62f9a-8f8f-4c82-96bb-3b180a315aa3 status: 200 OK code: 200 duration: "" @@ -136,11 +136,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -149,7 +149,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:34:09 GMT + - Mon, 07 Sep 2020 12:56:49 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -159,7 +159,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 3a27eff1-5619-4fad-ac6f-0c8685b6993a + - 0098286b-8e4e-46d4-ab6e-828fbdb3d40b status: 200 OK code: 200 duration: "" @@ -168,11 +168,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -181,7 +181,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:34:24 GMT + - Mon, 07 Sep 2020 12:57:04 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -191,7 +191,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 5d5c3f85-6cf6-466a-81f0-716b6c6e745e + - 3bfb1be6-63c7-4837-822c-c3b8423e8a06 status: 200 OK code: 200 duration: "" @@ -200,11 +200,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -213,7 +213,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:34:39 GMT + - Mon, 07 Sep 2020 12:57:19 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -223,7 +223,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 3c74ca5d-fa92-4e42-ba1a-82fe03f78e1b + - 980743a3-8941-429c-86ec-0da27286d5b3 status: 200 OK code: 200 duration: "" @@ -232,11 +232,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -245,7 +245,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:34:54 GMT + - Mon, 07 Sep 2020 12:57:34 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -255,7 +255,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d9ac3020-8823-4353-89e0-a6c69b74531a + - 76230912-2357-4c31-8838-537b9d38a620 status: 200 OK code: 200 duration: "" @@ -264,11 +264,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -277,7 +277,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:35:10 GMT + - Mon, 07 Sep 2020 12:57:49 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -287,7 +287,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - b7ffeb11-6701-4a9c-ad68-ac8d52d663c2 + - ce2d0f6b-4801-46ac-b3e5-f78eeecc9f04 status: 200 OK code: 200 duration: "" @@ -296,11 +296,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -309,7 +309,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:35:25 GMT + - Mon, 07 Sep 2020 12:58:05 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -319,7 +319,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 518617fb-eb9a-48db-b766-6320f3e5ebaf + - 3504960a-225a-4685-8dd3-214f2ebc9b8f status: 200 OK code: 200 duration: "" @@ -328,11 +328,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -341,7 +341,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:35:40 GMT + - Mon, 07 Sep 2020 12:58:20 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -351,7 +351,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 1a56ce10-df45-4594-86a2-4f720fce2de4 + - fea169a5-037e-4a75-99df-98e00dcdf299 status: 200 OK code: 200 duration: "" @@ -360,75 +360,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' - headers: - Content-Length: - - "462" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 04 Sep 2020 14:35:55 GMT - Server: - - Scaleway API-Gateway - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 0f3b44da-3bc6-4700-9094-12daf2fd81ac - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 - method: GET - response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' - headers: - Content-Length: - - "462" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 04 Sep 2020 14:36:11 GMT - Server: - - Scaleway API-Gateway - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - a8a5b44d-85a4-4d53-8e2b-ab517bf9b852 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 - method: GET - response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "770" @@ -437,7 +373,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:26 GMT + - Mon, 07 Sep 2020 12:58:35 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -447,7 +383,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 2d81cb9c-1aea-485a-abbb-f2938df1cbcf + - 1995f03c-2d38-4ba1-87f8-e01ec7e988e2 status: 200 OK code: 200 duration: "" @@ -456,11 +392,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: GET response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"ready","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"ready","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "763" @@ -469,7 +405,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:41 GMT + - Mon, 07 Sep 2020 12:58:50 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -479,22 +415,22 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 759a52f3-c972-430d-9b55-ee636eefe2d0 + - 07945e69-cf1a-48d9-8d7e-52dce82048cd status: 200 OK code: 200 duration: "" - request: - body: '{"instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","expires_at":"2999-01-02T15:04:05-07:00"}' + body: '{"instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","expires_at":"2999-01-02T15:04:05-07:00"}' form: {} headers: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups method: POST response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "361" @@ -503,7 +439,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:42 GMT + - Mon, 07 Sep 2020 12:58:51 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -513,7 +449,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 0adda629-22ed-464c-93da-6c5b014268a2 + - c5f77a9b-99dc-46dc-8b95-f4c1581ac3ff status: 200 OK code: 200 duration: "" @@ -522,11 +458,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 method: GET response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "361" @@ -535,7 +471,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:42 GMT + - Mon, 07 Sep 2020 12:58:51 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -545,7 +481,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 585239f5-7900-4273-ac95-3d4e9e6bff84 + - 4ac7c702-3062-4cce-8781-9f3839dbf7bb status: 200 OK code: 200 duration: "" @@ -554,11 +490,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 method: GET response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "383" @@ -567,7 +503,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:57 GMT + - Mon, 07 Sep 2020 12:59:07 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -577,7 +513,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ac09ecae-0a81-4fde-83d2-93fa33771609 + - 5d53260a-c329-4c66-9e9d-169ae47c0e13 status: 200 OK code: 200 duration: "" @@ -588,11 +524,11 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab/export + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94/export method: POST response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "387" @@ -601,7 +537,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:58 GMT + - Mon, 07 Sep 2020 12:59:08 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -611,7 +547,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 25f27c3a-57e4-4adb-bc10-5ff0ca1edd4c + - de9555bf-0c75-42b4-b34d-b4faedc41fea status: 200 OK code: 200 duration: "" @@ -620,11 +556,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 method: GET response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "387" @@ -633,7 +569,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:36:58 GMT + - Mon, 07 Sep 2020 12:59:08 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -643,7 +579,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d6298481-ce85-4571-97a8-ca1fe010d2a2 + - 4a3951f7-3746-4e9a-87c2-071d97c03cdd status: 200 OK code: 200 duration: "" @@ -652,11 +588,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 method: GET response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/fe0be8aa-b1c3-43d4-88d5-fb755d276679/9824f1fb-c68a-4f50-8653-923f3be7b9ab.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200904%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200904T143659Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=585b216cf3dd19d1144638332157b5052023644d8d02e60937d94bf44ff2f8d1","download_url_expires_at":"2020-09-05T14:36:59.623796Z","region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/b0ab81a1-530d-47f4-be05-e313414acafa/5afaed8e-33c0-4490-b768-8e4735551b94.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200907%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200907T125909Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=72e8ad9c912289de2953af37b7088d781faa0d95e64cbcfb401994662d8cfeab","download_url_expires_at":"2020-09-08T12:59:09.095562Z","region":"nl-ams"}' headers: Content-Length: - "840" @@ -665,7 +601,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:37:14 GMT + - Mon, 07 Sep 2020 12:59:23 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -675,7 +611,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 84d5c5f7-ba46-4370-b844-60a95da64158 + - e72b8c2d-9b8a-4f5e-9aa3-b84c2da3c50d status: 200 OK code: 200 duration: "" @@ -684,11 +620,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/9824f1fb-c68a-4f50-8653-923f3be7b9ab + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 method: GET response: - body: '{"id":"9824f1fb-c68a-4f50-8653-923f3be7b9ab","instance_id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-04T14:36:42.305782Z","updated_at":"2020-09-04T14:36:46.538612Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/fe0be8aa-b1c3-43d4-88d5-fb755d276679/9824f1fb-c68a-4f50-8653-923f3be7b9ab.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200904%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200904T143659Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=585b216cf3dd19d1144638332157b5052023644d8d02e60937d94bf44ff2f8d1","download_url_expires_at":"2020-09-05T14:36:59.623796Z","region":"nl-ams"}' + body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/b0ab81a1-530d-47f4-be05-e313414acafa/5afaed8e-33c0-4490-b768-8e4735551b94.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200907%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200907T125909Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=72e8ad9c912289de2953af37b7088d781faa0d95e64cbcfb401994662d8cfeab","download_url_expires_at":"2020-09-08T12:59:09.095562Z","region":"nl-ams"}' headers: Content-Length: - "840" @@ -697,7 +633,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:37:14 GMT + - Mon, 07 Sep 2020 12:59:23 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -707,7 +643,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 94da31a3-cafa-4795-9982-92f7d33a24e1 + - daf0e08f-65c0-4971-b35a-bf4b8550a5af status: 200 OK code: 200 duration: "" @@ -716,11 +652,11 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/fe0be8aa-b1c3-43d4-88d5-fb755d276679 + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa method: DELETE response: - body: '{"id":"fe0be8aa-b1c3-43d4-88d5-fb755d276679","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"deleting","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":63400,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":true},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-04T14:33:23.772793Z","region":"nl-ams"}' + body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"deleting","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":true},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' headers: Content-Length: - "765" @@ -729,7 +665,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 04 Sep 2020 14:37:14 GMT + - Mon, 07 Sep 2020 12:59:24 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -739,7 +675,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 47b04e93-ae5e-47f3-aca6-0d393877b903 + - 288a0dbf-f9c0-4393-bd87-a44f63ebc6e0 status: 200 OK code: 200 duration: "" diff --git a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden index 042ea697f3..d8a8941f78 100644 --- a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden +++ b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.golden @@ -1,5 +1,8 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 🟩🟩🟩 STDOUT️ 🟩🟩🟩️ -Backup downloaded to /var/folders/sm/h3cw_xsj0279j12fnhv6bzd40000gn/T/scw150500094/dump successfully (2.5 kB written) +Backup downloaded to dump successfully (2.5 kB written) 🟩🟩🟩 JSON STDOUT 🟩🟩🟩 -"Backup downloaded to /var/folders/sm/h3cw_xsj0279j12fnhv6bzd40000gn/T/scw150500094/dump successfully (2.5 kB written)" +{ + "size": 2547, + "file_name": "dump" +} From 3093823b090cf41e02d476c5e4584184f0cab4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Tue, 8 Sep 2020 17:13:43 +0200 Subject: [PATCH 5/5] Fix --- internal/namespaces/rdb/v1/custom_backup.go | 4 +- .../test-download-backup-simple.cassette.yaml | 317 +++++++++++++----- 2 files changed, 232 insertions(+), 89 deletions(-) diff --git a/internal/namespaces/rdb/v1/custom_backup.go b/internal/namespaces/rdb/v1/custom_backup.go index 72dbedd5be..0c2d799ca9 100644 --- a/internal/namespaces/rdb/v1/custom_backup.go +++ b/internal/namespaces/rdb/v1/custom_backup.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "io" - "net/http" "net/url" "os" "path" @@ -174,7 +173,8 @@ func backupDownloadCommand() *core.Command { return nil, fmt.Errorf("no download URL found") } - res, err := http.Get(*backup.DownloadURL) + httpClient := core.ExtractHTTPClient(ctx) + res, err := httpClient.Get(*backup.DownloadURL) if err != nil { return nil, err } diff --git a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml index 4ab5fcf7d8..e2c462a869 100644 --- a/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml +++ b/internal/namespaces/rdb/v1/testdata/test-download-backup-simple.cassette.yaml @@ -2,7 +2,7 @@ version: 1 interactions: - request: - body: '{"organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","name":"cli-test","engine":"PostgreSQL-12","user_name":"foobar","password":"{4xdl*#QOoP+\u00263XRkGA)]","node_type":"db-dev-s","is_ha_cluster":false,"disable_backup":false,"tags":null}' + body: '{"organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","name":"cli-test","engine":"PostgreSQL-12","user_name":"foobar","password":"{4xdl*#QOoP+\u00263XRkGA)]","node_type":"db-dev-s","is_ha_cluster":false,"disable_backup":false,"tags":null,"init_settings":null}' form: {} headers: Content-Type: @@ -12,7 +12,7 @@ interactions: url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances method: POST response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -21,7 +21,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:56:04 GMT + - Tue, 08 Sep 2020 15:09:27 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -31,7 +31,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - e328b805-e806-4a83-961a-69036269c4d0 + - 6b97b2b2-a432-4fa7-8259-1f05cac37cc6 status: 200 OK code: 200 duration: "" @@ -41,10 +41,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -53,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:56:04 GMT + - Tue, 08 Sep 2020 15:09:27 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -63,7 +63,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 18de2236-57df-4dfb-b062-a380340c1c5b + - b36b0dab-6726-4cd1-9322-69844b62fcc3 status: 200 OK code: 200 duration: "" @@ -73,10 +73,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -85,7 +85,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:56:19 GMT + - Tue, 08 Sep 2020 15:09:42 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -95,7 +95,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 373aef87-6078-4e67-95ae-d2be07525d2a + - 6167f9c8-9716-4b6e-9a1b-632f7cbd0d5d status: 200 OK code: 200 duration: "" @@ -105,10 +105,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -117,7 +117,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:56:34 GMT + - Tue, 08 Sep 2020 15:09:57 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -127,7 +127,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - c7b62f9a-8f8f-4c82-96bb-3b180a315aa3 + - 43bfae98-937a-4986-99ac-cdaf650ba5ae status: 200 OK code: 200 duration: "" @@ -137,10 +137,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"provisioning","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -149,7 +149,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:56:49 GMT + - Tue, 08 Sep 2020 15:10:12 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -159,7 +159,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 0098286b-8e4e-46d4-ab6e-828fbdb3d40b + - a1647d34-eddf-42ad-8984-3d41b04b5106 status: 200 OK code: 200 duration: "" @@ -169,10 +169,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -181,7 +181,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:57:04 GMT + - Tue, 08 Sep 2020 15:10:28 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -191,7 +191,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 3bfb1be6-63c7-4837-822c-c3b8423e8a06 + - cfc4808a-b70a-4bcf-ab02-00e3680924fc status: 200 OK code: 200 duration: "" @@ -201,10 +201,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -213,7 +213,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:57:19 GMT + - Tue, 08 Sep 2020 15:10:42 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -223,7 +223,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 980743a3-8941-429c-86ec-0da27286d5b3 + - 3592fb98-286a-4e56-a037-a84f5be738ea status: 200 OK code: 200 duration: "" @@ -233,10 +233,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -245,7 +245,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:57:34 GMT + - Tue, 08 Sep 2020 15:10:57 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -255,7 +255,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 76230912-2357-4c31-8838-537b9d38a620 + - 93319270-fa0b-4f91-8f59-005753705221 status: 200 OK code: 200 duration: "" @@ -265,10 +265,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -277,7 +277,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:57:49 GMT + - Tue, 08 Sep 2020 15:11:13 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -287,7 +287,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ce2d0f6b-4801-46ac-b3e5-f78eeecc9f04 + - d66822a5-0445-4968-b84f-c759046f80f0 status: 200 OK code: 200 duration: "" @@ -297,10 +297,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -309,7 +309,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:05 GMT + - Tue, 08 Sep 2020 15:11:28 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -319,7 +319,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 3504960a-225a-4685-8dd3-214f2ebc9b8f + - fa957102-f786-41dd-8b04-7eec841b2320 status: 200 OK code: 200 duration: "" @@ -329,10 +329,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - "462" @@ -341,7 +341,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:20 GMT + - Tue, 08 Sep 2020 15:11:43 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -351,7 +351,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fea169a5-037e-4a75-99df-98e00dcdf299 + - 0e42b254-e5f2-46d7-997b-d722e76cb06b status: 200 OK code: 200 duration: "" @@ -361,19 +361,19 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - - "770" + - "462" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:35 GMT + - Tue, 08 Sep 2020 15:11:58 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -383,7 +383,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 1995f03c-2d38-4ba1-87f8-e01ec7e988e2 + - 75b5b6ee-6d5d-49d6-98e6-2c52d84853a9 status: 200 OK code: 200 duration: "" @@ -393,19 +393,19 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: GET response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"ready","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":null,"tags":[],"settings":[],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - - "763" + - "462" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:50 GMT + - Tue, 08 Sep 2020 15:12:13 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -415,12 +415,76 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 07945e69-cf1a-48d9-8d7e-52dce82048cd + - b75ecbb6-0b3e-48f9-ae96-d9da213964e6 status: 200 OK code: 200 duration: "" - request: - body: '{"instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","expires_at":"2999-01-02T15:04:05-07:00"}' + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e + method: GET + response: + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"initializing","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.131.28","port":52485,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' + headers: + Content-Length: + - "769" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 08 Sep 2020 15:12:28 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7dda1e42-bbf8-4470-8566-15e29bcd2d38 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e + method: GET + response: + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"ready","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.131.28","port":52485,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":false},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' + headers: + Content-Length: + - "762" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 08 Sep 2020 15:12:43 GMT + Server: + - Scaleway API-Gateway + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c647a582-8d93-4e13-b762-220efe72df6d + status: 200 OK + code: 200 + duration: "" +- request: + body: '{"instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","expires_at":"2999-01-02T15:04:05-07:00"}' form: {} headers: Content-Type: @@ -430,7 +494,7 @@ interactions: url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups method: POST response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "361" @@ -439,7 +503,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:51 GMT + - Tue, 08 Sep 2020 15:12:45 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -449,7 +513,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - c5f77a9b-99dc-46dc-8b95-f4c1581ac3ff + - 812ef3b5-47ae-42f0-803f-670b640c1117 status: 200 OK code: 200 duration: "" @@ -459,10 +523,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2 method: GET response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"creating","size":null,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":null,"instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "361" @@ -471,7 +535,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:58:51 GMT + - Tue, 08 Sep 2020 15:12:45 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -481,7 +545,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 4ac7c702-3062-4cce-8781-9f3839dbf7bb + - f7a59557-8def-4dbb-ace1-c6e238c0b782 status: 200 OK code: 200 duration: "" @@ -491,10 +555,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2 method: GET response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":"2020-09-08T15:12:50.181018Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "383" @@ -503,7 +567,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:07 GMT + - Tue, 08 Sep 2020 15:13:00 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -513,7 +577,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 5d53260a-c329-4c66-9e9d-169ae47c0e13 + - 1a6fa01e-e86c-4e48-becc-d63af26713a0 status: 200 OK code: 200 duration: "" @@ -525,10 +589,10 @@ interactions: - application/json User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94/export + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2/export method: POST response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":"2020-09-08T15:12:50.181018Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "387" @@ -537,7 +601,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:08 GMT + - Tue, 08 Sep 2020 15:13:01 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -547,7 +611,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - de9555bf-0c75-42b4-b34d-b4faedc41fea + - c4505235-1bb8-4cc4-bc3d-9e68b715b8e3 status: 200 OK code: 200 duration: "" @@ -557,10 +621,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2 method: GET response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"exporting","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":"2020-09-08T15:12:50.181018Z","instance_name":"cli-test","download_url":null,"download_url_expires_at":null,"region":"nl-ams"}' headers: Content-Length: - "387" @@ -569,7 +633,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:08 GMT + - Tue, 08 Sep 2020 15:13:01 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -579,7 +643,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 4a3951f7-3746-4e9a-87c2-071d97c03cdd + - b1006789-ad95-4304-a4c6-d60ccabd3e95 status: 200 OK code: 200 duration: "" @@ -589,10 +653,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2 method: GET response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/b0ab81a1-530d-47f4-be05-e313414acafa/5afaed8e-33c0-4490-b768-8e4735551b94.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200907%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200907T125909Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=72e8ad9c912289de2953af37b7088d781faa0d95e64cbcfb401994662d8cfeab","download_url_expires_at":"2020-09-08T12:59:09.095562Z","region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":"2020-09-08T15:12:50.181018Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/1ccab064-a1c9-44de-821d-eac67f36c06e/98042d6e-b93b-414f-a782-e3c2501e51f2.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200908%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200908T151302Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=a4a920236f310cb32bd0109d1e4dc9ee0e8ce13513ba71216ad3379f4b1951ea","download_url_expires_at":"2020-09-09T15:13:02.249858Z","region":"nl-ams"}' headers: Content-Length: - "840" @@ -601,7 +665,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:23 GMT + - Tue, 08 Sep 2020 15:13:16 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -611,7 +675,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - e72b8c2d-9b8a-4f5e-9aa3-b84c2da3c50d + - 4e02a700-213e-4686-9831-856ec1eda7f4 status: 200 OK code: 200 duration: "" @@ -621,10 +685,10 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/5afaed8e-33c0-4490-b768-8e4735551b94 + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/backups/98042d6e-b93b-414f-a782-e3c2501e51f2 method: GET response: - body: '{"id":"5afaed8e-33c0-4490-b768-8e4735551b94","instance_id":"b0ab81a1-530d-47f4-be05-e313414acafa","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-07T12:58:51.828076Z","updated_at":"2020-09-07T12:58:55.365360Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/b0ab81a1-530d-47f4-be05-e313414acafa/5afaed8e-33c0-4490-b768-8e4735551b94.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200907%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200907T125909Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=72e8ad9c912289de2953af37b7088d781faa0d95e64cbcfb401994662d8cfeab","download_url_expires_at":"2020-09-08T12:59:09.095562Z","region":"nl-ams"}' + body: '{"id":"98042d6e-b93b-414f-a782-e3c2501e51f2","instance_id":"1ccab064-a1c9-44de-821d-eac67f36c06e","database_name":"rdb","name":"foobar","status":"ready","size":2547,"expires_at":"2999-01-02T22:04:05Z","created_at":"2020-09-08T15:12:45.304038Z","updated_at":"2020-09-08T15:12:50.181018Z","instance_name":"cli-test","download_url":"http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/1ccab064-a1c9-44de-821d-eac67f36c06e/98042d6e-b93b-414f-a782-e3c2501e51f2.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200908%2Ffr-par%2Fs3%2Faws4_request\u0026X-Amz-Date=20200908T151302Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=a4a920236f310cb32bd0109d1e4dc9ee0e8ce13513ba71216ad3379f4b1951ea","download_url_expires_at":"2020-09-09T15:13:02.249858Z","region":"nl-ams"}' headers: Content-Length: - "840" @@ -633,7 +697,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:23 GMT + - Tue, 08 Sep 2020 15:13:16 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -643,7 +707,86 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - daf0e08f-65c0-4971-b35a-bf4b8550a5af + - 802b32ca-a526-45ef-a652-ab3289b941e3 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: {} + url: http://s3.fr-par.scw.cloud/9f261887-ece6-41b4-8f7a-167ab9c4349f/1ccab064-a1c9-44de-821d-eac67f36c06e/98042d6e-b93b-414f-a782-e3c2501e51f2.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=SCWG20TH0QXNPZCEZDFH%2F20200908%2Ffr-par%2Fs3%2Faws4_request&X-Amz-Date=20200908T151302Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=a4a920236f310cb32bd0109d1e4dc9ee0e8ce13513ba71216ad3379f4b1951ea + method: GET + response: + body: !!binary | + UEdETVABDgAECAEBAQAAAAAuAAAAAAwAAAAADwAAAAAIAAAAAAgAAAAAeAAAAAAAAAAAAA + MAAAByZGIAHgAAADEyLjMgKERlYmlhbiAxMi4zLTEucGdkZzEwMCsxKQAeAAAAMTIuNCAo + RGViaWFuIDEyLjQtMS5wZ2RnMTAwKzEpAAkAAAAAVgsAAAAAAAAAAAEAAAAwAAEAAAAwAA + gAAABFTkNPRElORwAIAAAARU5DT0RJTkcAAgAAAAAeAAAAU0VUIGNsaWVudF9lbmNvZGlu + ZyA9ICdVVEY4JzsKAQEAAAABAQAAAAEBAAAAAQEAAAABAQAAAAEBAAAAAAUAAABmYWxzZQ + EBAAAAAwAAAAAAAAAAAFcLAAAAAAAAAAABAAAAMAABAAAAMAAKAAAAU1REU1RSSU5HUwAK + AAAAU1REU1RSSU5HUwACAAAAACgAAABTRVQgc3RhbmRhcmRfY29uZm9ybWluZ19zdHJpbm + dzID0gJ29uJzsKAQEAAAABAQAAAAEBAAAAAQEAAAABAQAAAAEBAAAAAAUAAABmYWxzZQEB + AAAAAwAAAAAAAAAAAFgLAAAAAAAAAAABAAAAMAABAAAAMAAKAAAAU0VBUkNIUEFUSAAKAA + AAU0VBUkNIUEFUSAACAAAAADgAAABTRUxFQ1QgcGdfY2F0YWxvZy5zZXRfY29uZmlnKCdz + ZWFyY2hfcGF0aCcsICcnLCBmYWxzZSk7CgEBAAAAAQEAAAABAQAAAAEBAAAAAQEAAAABAQ + AAAAAFAAAAZmFsc2UBAQAAAAMAAAAAAAAAAABZCwAAAAAAAAAABAAAADEyNjIABQAAADE2 + Mzg3AAMAAAByZGIACAAAAERBVEFCQVNFAAIAAAAAcwAAAENSRUFURSBEQVRBQkFTRSByZG + IgV0lUSCBURU1QTEFURSA9IHRlbXBsYXRlMCBFTkNPRElORyA9ICdVVEY4JyBMQ19DT0xM + QVRFID0gJ2VuX1VTLnV0ZjgnIExDX0NUWVBFID0gJ2VuX1VTLnV0ZjgnOwoAEwAAAERST1 + AgREFUQUJBU0UgcmRiOwoBAQAAAAEBAAAAAQEAAAABAQAAAAAPAAAAX3JkYl9zdXBlcmFk + bWluAAUAAABmYWxzZQEBAAAAAwAAAAAAAAAAAFoLAAAAAAAAAAABAAAAMAABAAAAMAAMAA + AAREFUQUJBU0UgcmRiAAMAAABBQ0wAAQAAAABbAAAAUkVWT0tFIENPTk5FQ1QsVEVNUE9S + QVJZIE9OIERBVEFCQVNFIHJkYiBGUk9NIFBVQkxJQzsKR1JBTlQgQUxMIE9OIERBVEFCQV + NFIHJkYiBUTyBmb29iYXI7CgEBAAAAAQEAAAABAQAAAAEBAAAAAQEAAAAADwAAAF9yZGJf + c3VwZXJhZG1pbgAFAAAAZmFsc2UABAAAADI5MDUBAQAAAAMAAAAAAAAAAABbCwAAAAAAAA + AAAQAAADAAAQAAADAADQAAAFNDSEVNQSBwdWJsaWMAAwAAAEFDTAABAAAAAE8AAABSRVZP + S0UgQUxMIE9OIFNDSEVNQSBwdWJsaWMgRlJPTSBQVUJMSUM7CkdSQU5UIEFMTCBPTiBTQ0 + hFTUEgcHVibGljIFRPIGZvb2JhcjsKAQEAAAABAQAAAAEBAAAAAQEAAAABAQAAAAAPAAAA + X3JkYl9zdXBlcmFkbWluAAUAAABmYWxzZQABAAAAMwEBAAAAAwAAAAAAAAAAAJQGAAAAAA + AAAAADAAAAODI2AAUAAAAxNjM4OQAgAAAAREVGQVVMVCBQUklWSUxFR0VTIEZPUiBTRVFV + RU5DRVMACwAAAERFRkFVTFQgQUNMAAQAAAAA2AAAAEFMVEVSIERFRkFVTFQgUFJJVklMRU + dFUyBGT1IgUk9MRSBfcmRiX3N1cGVyYWRtaW4gSU4gU0NIRU1BIHB1YmxpYyBSRVZPS0Ug + QUxMIE9OIFNFUVVFTkNFUyAgRlJPTSBfcmRiX3N1cGVyYWRtaW47CkFMVEVSIERFRkFVTF + QgUFJJVklMRUdFUyBGT1IgUk9MRSBfcmRiX3N1cGVyYWRtaW4gSU4gU0NIRU1BIHB1Ymxp + YyBHUkFOVCBBTEwgT04gU0VRVUVOQ0VTICBUTyBmb29iYXI7CgEBAAAAAQEAAAAABgAAAH + B1YmxpYwEBAAAAAQEAAAAADwAAAF9yZGJfc3VwZXJhZG1pbgAFAAAAZmFsc2UBAQAAAAMA + AAAAAAAAAACVBgAAAAAAAAAAAwAAADgyNgAFAAAAMTYzOTAAIAAAAERFRkFVTFQgUFJJVk + lMRUdFUyBGT1IgRlVOQ1RJT05TAAsAAABERUZBVUxUIEFDTAAEAAAAAEEBAABBTFRFUiBE + RUZBVUxUIFBSSVZJTEVHRVMgRk9SIFJPTEUgX3JkYl9zdXBlcmFkbWluIElOIFNDSEVNQS + BwdWJsaWMgUkVWT0tFIEFMTCBPTiBGVU5DVElPTlMgIEZST00gUFVCTElDOwpBTFRFUiBE + RUZBVUxUIFBSSVZJTEVHRVMgRk9SIFJPTEUgX3JkYl9zdXBlcmFkbWluIElOIFNDSEVNQS + BwdWJsaWMgUkVWT0tFIEFMTCBPTiBGVU5DVElPTlMgIEZST00gX3JkYl9zdXBlcmFkbWlu + OwpBTFRFUiBERUZBVUxUIFBSSVZJTEVHRVMgRk9SIFJPTEUgX3JkYl9zdXBlcmFkbWluIE + lOIFNDSEVNQSBwdWJsaWMgR1JBTlQgQUxMIE9OIEZVTkNUSU9OUyAgVE8gZm9vYmFyOwoB + AQAAAAEBAAAAAAYAAABwdWJsaWMBAQAAAAEBAAAAAA8AAABfcmRiX3N1cGVyYWRtaW4ABQ + AAAGZhbHNlAQEAAAADAAAAAAAAAAAAkwYAAAAAAAAAAAMAAAA4MjYABQAAADE2Mzg4AB0A + AABERUZBVUxUIFBSSVZJTEVHRVMgRk9SIFRBQkxFUwALAAAAREVGQVVMVCBBQ0wABAAAAA + DSAAAAQUxURVIgREVGQVVMVCBQUklWSUxFR0VTIEZPUiBST0xFIF9yZGJfc3VwZXJhZG1p + biBJTiBTQ0hFTUEgcHVibGljIFJFVk9LRSBBTEwgT04gVEFCTEVTICBGUk9NIF9yZGJfc3 + VwZXJhZG1pbjsKQUxURVIgREVGQVVMVCBQUklWSUxFR0VTIEZPUiBST0xFIF9yZGJfc3Vw + ZXJhZG1pbiBJTiBTQ0hFTUEgcHVibGljIEdSQU5UIEFMTCBPTiBUQUJMRVMgIFRPIGZvb2 + JhcjsKAQEAAAABAQAAAAAGAAAAcHVibGljAQEAAAABAQAAAAAPAAAAX3JkYl9zdXBlcmFk + bWluAAUAAABmYWxzZQEBAAAAAwAAAAAAAAAA + headers: + Accept-Ranges: + - bytes + Content-Length: + - "2547" + Content-Type: + - application/octet-stream + Date: + - Tue, 08 Sep 2020 15:13:16 GMT + Etag: + - '"caadce77602c25e6a8e3dd8163458897"' + Last-Modified: + - Tue, 08 Sep 2020 15:13:02 GMT + X-Amz-Id-2: + - txcda8e55969b54a8ebffdd-005f579f8c + X-Amz-Request-Id: + - txcda8e55969b54a8ebffdd-005f579f8c + X-Amz-Version-Id: + - "1599577982193594" status: 200 OK code: 200 duration: "" @@ -653,19 +796,19 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.15.1; darwin; amd64) cli-e2e-test - url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/b0ab81a1-530d-47f4-be05-e313414acafa + url: https://api.scaleway.com/rdb/v1/regions/nl-ams/instances/1ccab064-a1c9-44de-821d-eac67f36c06e method: DELETE response: - body: '{"id":"b0ab81a1-530d-47f4-be05-e313414acafa","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"deleting","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.128.255","port":33888,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":true},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-07T12:56:03.512855Z","region":"nl-ams"}' + body: '{"id":"1ccab064-a1c9-44de-821d-eac67f36c06e","name":"cli-test","organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42","status":"deleting","engine":"PostgreSQL-12","endpoint":{"ip":"51.158.131.28","port":52485,"name":null},"tags":[],"settings":[{"name":"work_mem","value":"4"},{"name":"max_connections","value":"100"},{"name":"effective_cache_size","value":"1300"},{"name":"maintenance_work_mem","value":"150"},{"name":"max_parallel_workers","value":"0"},{"name":"max_parallel_workers_per_gather","value":"0"}],"backup_schedule":{"frequency":24,"retention":7,"disabled":true},"is_ha_cluster":false,"read_replicas":[],"node_type":"db-dev-s","volume":{"type":"lssd","size":5000000000},"init_settings":[],"created_at":"2020-09-08T15:09:26.794454Z","region":"nl-ams"}' headers: Content-Length: - - "765" + - "764" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 07 Sep 2020 12:59:24 GMT + - Tue, 08 Sep 2020 15:13:17 GMT Server: - Scaleway API-Gateway Strict-Transport-Security: @@ -675,7 +818,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 288a0dbf-f9c0-4393-bd87-a44f63ebc6e0 + - e7ae9115-7baf-49a4-b32c-b2dd3dd0aa27 status: 200 OK code: 200 duration: ""