diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 798b166..dd31b5f 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -30,6 +30,8 @@ jobs: run: make build - name: Run unit tests run: make test + - name: Run e2e tests + run: make e2e_test generate: strategy: diff --git a/GNUmakefile b/GNUmakefile index d07a01e..61a7684 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -3,7 +3,8 @@ BINARY=packer-plugin-${NAME} PLUGIN_FQN="$(shell grep -E '^module' github.com/nywilken/go-cty v1.13.3 // added by packer-sdc fix as noted in github.com/hashicorp/packer-plugin-sdk/issues/187 diff --git a/go.sum b/go.sum index 8376ef7..3b301c6 100644 --- a/go.sum +++ b/go.sum @@ -470,6 +470,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/dnaeon/go-vcr.v4 v4.0.2 h1:7T5VYf2ifyK01ETHbJPl5A6XTpUljD4Trw3GEDcdedk= +gopkg.in/dnaeon/go-vcr.v4 v4.0.2/go.mod h1:65yxh9goQVrudqofKtHA4JNFWd6XZRkWfKN4YpMx7KI= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/internal/checks/image.go b/internal/checks/image.go new file mode 100644 index 0000000..ebdb31a --- /dev/null +++ b/internal/checks/image.go @@ -0,0 +1,77 @@ +package checks + +import ( + "context" + "fmt" + + "github.com/scaleway/packer-plugin-scaleway/internal/tester" + "github.com/scaleway/scaleway-sdk-go/api/instance/v1" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +var _ tester.PackerCheck = (*ImageCheck)(nil) + +func Image(zone scw.Zone, name string) *ImageCheck { + return &ImageCheck{ + zone: zone, + imageName: name, + } +} + +type ImageCheck struct { + zone scw.Zone + imageName string + + rootVolumeType *string + size *scw.Size +} + +func (c *ImageCheck) RootVolumeType(rootVolumeType string) *ImageCheck { + c.rootVolumeType = &rootVolumeType + + return c +} + +func (c *ImageCheck) SizeInGb(size uint64) *ImageCheck { + c.size = scw.SizePtr(scw.Size(size) * scw.GB) + + return c +} + +func (c *ImageCheck) Check(ctx context.Context) error { + testCtx := tester.ExtractCtx(ctx) + api := instance.NewAPI(testCtx.ScwClient) + + resp, err := api.ListImages(&instance.ListImagesRequest{ + Name: &c.imageName, + Zone: c.zone, + Project: &testCtx.ProjectID, + }, scw.WithAllPages(), scw.WithContext(ctx)) + if err != nil { + return fmt.Errorf("failed to list images: %w", err) + } + + if len(resp.Images) == 0 { + return fmt.Errorf("image %s not found, no images found", c.imageName) + } + + if len(resp.Images) > 1 { + return fmt.Errorf("multiple images found with name %s", c.imageName) + } + + image := resp.Images[0] + + if image.Name != c.imageName { + return fmt.Errorf("image name %s does not match expected %s", image.Name, c.imageName) + } + + if c.rootVolumeType != nil && string(image.RootVolume.VolumeType) != *c.rootVolumeType { + return fmt.Errorf("image root volume type %s does not match expected %s", image.RootVolume.VolumeType, *c.rootVolumeType) + } + + if c.size != nil && image.RootVolume.Size != *c.size { + return fmt.Errorf("image size %d does not match expected %d", image.RootVolume.Size, *c.size) + } + + return nil +} diff --git a/internal/checks/snapshot.go b/internal/checks/snapshot.go new file mode 100644 index 0000000..76ec0dd --- /dev/null +++ b/internal/checks/snapshot.go @@ -0,0 +1,64 @@ +package checks + +import ( + "context" + "fmt" + + "github.com/scaleway/packer-plugin-scaleway/internal/tester" + "github.com/scaleway/scaleway-sdk-go/api/instance/v1" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +type SnapshotCheck struct { + zone scw.Zone + snapshotName string + + size *scw.Size +} + +func (c *SnapshotCheck) SizeInGB(size uint64) *SnapshotCheck { + c.size = scw.SizePtr(scw.Size(size) * scw.GB) + + return c +} + +func (c *SnapshotCheck) Check(ctx context.Context) error { + testCtx := tester.ExtractCtx(ctx) + api := instance.NewAPI(testCtx.ScwClient) + + resp, err := api.ListSnapshots(&instance.ListSnapshotsRequest{ + Zone: c.zone, + Name: &c.snapshotName, + Project: &testCtx.ProjectID, + }) + if err != nil { + return err + } + + if len(resp.Snapshots) == 0 { + return fmt.Errorf("snapshot %s not found, no snapshots found", c.snapshotName) + } + + if len(resp.Snapshots) > 1 { + return fmt.Errorf("multiple snapshots found with name %s", c.snapshotName) + } + + snapshot := resp.Snapshots[0] + + if snapshot.Name != c.snapshotName { + return fmt.Errorf("snapshot name %s does not match expected snapshot name %s", snapshot.Name, c.snapshotName) + } + + if c.size != nil && snapshot.Size != *c.size { + return fmt.Errorf("snapshot size %d does not match expected size %d", snapshot.Size, *c.size) + } + + return nil +} + +func Snapshot(zone scw.Zone, snapshotName string) *SnapshotCheck { + return &SnapshotCheck{ + zone: zone, + snapshotName: snapshotName, + } +} diff --git a/internal/checks/volume.go b/internal/checks/volume.go new file mode 100644 index 0000000..3d4d202 --- /dev/null +++ b/internal/checks/volume.go @@ -0,0 +1,109 @@ +package checks + +import ( + "context" + "fmt" + + "github.com/scaleway/packer-plugin-scaleway/internal/tester" + block "github.com/scaleway/scaleway-sdk-go/api/block/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/api/instance/v1" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +var _ tester.PackerCheck = (*NoVolumesCheck)(nil) + +type NoVolumesCheck struct { + zone scw.Zone +} + +func (c *NoVolumesCheck) Check(ctx context.Context) error { + testCtx := tester.ExtractCtx(ctx) + instanceAPI := instance.NewAPI(testCtx.ScwClient) + blockAPI := block.NewAPI(testCtx.ScwClient) + + resp, err := instanceAPI.ListVolumes(&instance.ListVolumesRequest{ + Zone: c.zone, + }, scw.WithContext(ctx)) + if err != nil { + return fmt.Errorf("failed to list instance volumes: %w", err) + } + + if len(resp.Volumes) != 0 { + return fmt.Errorf("expected 0 instance volumes, got %d", len(resp.Volumes)) + } + + blockResp, err := blockAPI.ListVolumes(&block.ListVolumesRequest{ + Zone: c.zone, + ProjectID: &testCtx.ProjectID, + }, scw.WithContext(ctx)) + if err != nil { + return fmt.Errorf("failed to list block volumes: %w", err) + } + + if len(blockResp.Volumes) != 0 { + return fmt.Errorf("expected 0 block volumes, got %d", len(blockResp.Volumes)) + } + + return nil +} + +// NoVolume checks that the current project does not contain any volume, block or instance. +func NoVolume(zone scw.Zone) *NoVolumesCheck { + return &NoVolumesCheck{ + zone: zone, + } +} + +type VolumeCheck struct { + zone scw.Zone + volumeName string + + size *scw.Size +} + +func (c *VolumeCheck) SizeInGB(size uint64) *VolumeCheck { + c.size = scw.SizePtr(scw.Size(size) * scw.GB) + + return c +} + +func (c *VolumeCheck) Check(ctx context.Context) error { + testCtx := tester.ExtractCtx(ctx) + api := instance.NewAPI(testCtx.ScwClient) + + resp, err := api.ListVolumes(&instance.ListVolumesRequest{ + Zone: c.zone, + Name: &c.volumeName, + Project: &testCtx.ProjectID, + }) + if err != nil { + return fmt.Errorf("failed to list instance volumes: %w", err) + } + + if len(resp.Volumes) == 0 { + return fmt.Errorf("volume %s not found, no volumes found", c.volumeName) + } + + if len(resp.Volumes) > 1 { + return fmt.Errorf("multiple volumes found with name %s", c.volumeName) + } + + volume := resp.Volumes[0] + + if volume.Name != c.volumeName { + return fmt.Errorf("volume name %s does not match expected volume name %s", volume.Name, c.volumeName) + } + + if c.size != nil && volume.Size != *c.size { + return fmt.Errorf("volume size %d does not match expected size %d", volume.Size, *c.size) + } + + return nil +} + +func Volume(zone scw.Zone, name string) *VolumeCheck { + return &VolumeCheck{ + zone: zone, + volumeName: name, + } +} diff --git a/internal/tester/checks.go b/internal/tester/checks.go new file mode 100644 index 0000000..8a12127 --- /dev/null +++ b/internal/tester/checks.go @@ -0,0 +1,10 @@ +package tester + +import ( + "context" +) + +// PackerCheck represents a check for a scaleway resource +type PackerCheck interface { + Check(ctx context.Context) error +} diff --git a/internal/tester/packer_exec.go b/internal/tester/packer_exec.go new file mode 100644 index 0000000..d90ec58 --- /dev/null +++ b/internal/tester/packer_exec.go @@ -0,0 +1,81 @@ +package tester + +import ( + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + + "github.com/scaleway/packer-plugin-scaleway/internal/vcr" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +const PackerFileHeader = ` +packer { + required_plugins { + } +} +` + +// preparePackerEnv will prepare an Environ to run packer in tests. +// Some scaleway config variable are required for the client to be created. +// Cassettes must also be configured to be used, disabling the recording is enough. +func preparePackerEnv(currentEnv []string) []string { + hasProject := false + hasAccessKey := false + hasSecretKey := false + hasCassettesConfigured := false + + env := make([]string, 0, len(currentEnv)) + for _, envVariable := range currentEnv { + switch { + case strings.HasPrefix(envVariable, scw.ScwDefaultProjectIDEnv): + hasProject = true + case strings.HasPrefix(envVariable, scw.ScwAccessKeyEnv): + hasAccessKey = true + case strings.HasPrefix(envVariable, scw.ScwSecretKeyEnv): + hasSecretKey = true + case strings.HasPrefix(envVariable, vcr.UpdateCassettesEnvVariable): + hasCassettesConfigured = true + } + + env = append(env, envVariable) + } + if !hasProject { + env = append(env, scw.ScwDefaultProjectIDEnv+"=11111111-1111-1111-1111-111111111111") + } + if !hasAccessKey { + env = append(env, scw.ScwAccessKeyEnv+"=SCWXXXXXXXXXXXXXFAKE") + } + if !hasSecretKey { + env = append(env, scw.ScwSecretKeyEnv+"=11111111-1111-1111-1111-111111111111") + } + if !hasCassettesConfigured { + env = append(env, vcr.UpdateCassettesEnvVariable+"=false") + } + + return env +} + +func packerExec(folder, packerConfig string) error { + // Create Packer file + packerFile := filepath.Join(folder, "build_scaleway.pkr.hcl") + packerFileContent := PackerFileHeader + packerConfig + err := os.WriteFile(packerFile, []byte(packerFileContent), 0o600) + if err != nil { + return fmt.Errorf("failed to create packer file: %w", err) + } + + // Run Packer + cmd := exec.Command("packer", "build", packerFile) + cmd.Env = preparePackerEnv(os.Environ()) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + err = cmd.Run() + if err != nil { + return fmt.Errorf("failed to build image with packer: %w", err) + } + + return nil +} diff --git a/internal/tester/tester.go b/internal/tester/tester.go new file mode 100644 index 0000000..4c57a32 --- /dev/null +++ b/internal/tester/tester.go @@ -0,0 +1,95 @@ +package tester + +import ( + "context" + "errors" + "fmt" + "net/http" + "os" + "testing" + + "github.com/scaleway/packer-plugin-scaleway/internal/vcr" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/stretchr/testify/require" +) + +type PackerCtxKey struct{} + +type PackerCtx struct { + ScwClient *scw.Client + ProjectID string +} + +func getActiveProfile() *scw.Profile { + cfg, err := scw.LoadConfig() + if err != nil { + return &scw.Profile{} + } + activeProfile, err := cfg.GetActiveProfile() + if err != nil { + return &scw.Profile{} + } + + return activeProfile +} + +func NewTestContext(ctx context.Context, httpClient *http.Client) (context.Context, error) { + activeProfile := getActiveProfile() + profile := scw.MergeProfiles(activeProfile, scw.LoadEnvProfile()) + client, err := scw.NewClient(scw.WithProfile(profile), scw.WithHTTPClient(httpClient)) + if err != nil { + return nil, fmt.Errorf("error creating scw client: %w", err) + } + projectID, exists := client.GetDefaultProjectID() + if !exists { + if vcr.UpdateCassettes == false { + projectID = "11111111-1111-1111-1111-111111111111" + } else { + return nil, errors.New("error getting default project ID") + } + } + + return context.WithValue(ctx, PackerCtxKey{}, &PackerCtx{ + ScwClient: client, + ProjectID: projectID, + }), nil +} + +func ExtractCtx(ctx context.Context) *PackerCtx { + return ctx.Value(PackerCtxKey{}).(*PackerCtx) +} + +type TestConfig struct { + Config string + Checks []PackerCheck +} + +func Test(t *testing.T, config *TestConfig) { + httpClient, cleanup, err := vcr.GetHTTPRecorder(vcr.GetTestFilePath(t, "."), vcr.UpdateCassettes) + require.NoError(t, err) + defer cleanup() + + ctx := context.Background() + ctx, err = NewTestContext(ctx, httpClient) + require.NoError(t, err) + + // Create TMP Dir + tmpDir, err := os.MkdirTemp(os.TempDir(), "packer_e2e_test") + require.NoError(t, err) + t.Logf("Created tmp dir: %s", tmpDir) + + err = packerExec(tmpDir, config.Config) + require.NoError(t, err, "error executing packer command: %s", err) + + for i, check := range config.Checks { + t.Logf("Running check %d/%d", i+1, len(config.Checks)) + err := check.Check(ctx) + if err != nil { + t.Fail() + t.Errorf("Packer check %d failed: %s", i+1, err.Error()) + } + } + + t.Logf("Deleting tmp dir: %s", tmpDir) + require.NoError(t, os.RemoveAll(tmpDir), "failed to remote tmp dir %s", tmpDir) +} diff --git a/internal/tests/complete_test.go b/internal/tests/complete_test.go new file mode 100644 index 0000000..d4e848a --- /dev/null +++ b/internal/tests/complete_test.go @@ -0,0 +1,44 @@ +package tests_test + +import ( + "testing" + + "github.com/scaleway/packer-plugin-scaleway/internal/checks" + "github.com/scaleway/packer-plugin-scaleway/internal/tester" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +func TestComplete(t *testing.T) { + t.Skip("snapshot_name argument does not work") + zone := scw.ZoneFrPar2 + + tester.Test(t, &tester.TestConfig{ + Config: ` +source "scaleway" "basic" { + communicator = "none" + commercial_type = "PLAY2-PICO" + zone = "fr-par-2" + image = "ubuntu_jammy" + image_name = "packer-e2e-complete" + ssh_username = "root" + + remove_volume = false + image_size_in_gb = 42 + snapshot_name = "packer-e2e-complete-snapshot" +} + +build { + sources = ["source.scaleway.basic"] +} +`, + Checks: []tester.PackerCheck{ + checks.Image(zone, "packer-e2e-complete"). + RootVolumeType("unified"). + SizeInGb(42), + checks.Snapshot(zone, "packer-e2e-complete-snapshot"). + SizeInGB(42), + checks.Volume(zone, "Ubuntu 22.04 Jammy Jellyfish"). + SizeInGB(42), + }, + }) +} diff --git a/internal/tests/simple_test.go b/internal/tests/simple_test.go new file mode 100644 index 0000000..c3f5f70 --- /dev/null +++ b/internal/tests/simple_test.go @@ -0,0 +1,36 @@ +package tests_test + +import ( + "testing" + + "github.com/scaleway/packer-plugin-scaleway/internal/checks" + "github.com/scaleway/packer-plugin-scaleway/internal/tester" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +func TestSimple(t *testing.T) { + zone := scw.ZoneFrPar1 + + tester.Test(t, &tester.TestConfig{ + Config: ` +source "scaleway" "basic" { + communicator = "none" + commercial_type = "PRO2-XXS" + zone = "fr-par-1" + image = "ubuntu_jammy" + image_name = "packer-e2e-simple" + ssh_username = "root" + remove_volume = true +} + +build { + sources = ["source.scaleway.basic"] +} +`, + Checks: []tester.PackerCheck{ + checks.Image(zone, "packer-e2e-simple"). + RootVolumeType("unified"), + checks.NoVolume(zone), + }, + }) +} diff --git a/internal/tests/testdata/complete.cassette.yaml b/internal/tests/testdata/complete.cassette.yaml new file mode 100644 index 0000000..2c0d8a6 --- /dev/null +++ b/internal/tests/testdata/complete.cassette.yaml @@ -0,0 +1,162 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/images?name=packer-e2e-complete&page=1&project=ac06b5eb-7546-4f57-9ffb-5425d6bb291b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 649 + uncompressed: false + body: '{"images": [{"id": "938c98c5-344e-4043-a1c4-ce9114e64a98", "name": "packer-e2e-complete", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "e571b26e-c18a-4146-8086-cfc7b56ff229", "name": "packer-e2e-complete_snap_0", "volume_type": "unified", "size": 42000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:30:54.300081+00:00", "modification_date": "2025-01-13T09:30:54.300081+00:00", "default_bootscript": null, "from_server": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "state": "available", "tags": [], "zone": "fr-par-2"}]}' + headers: + Content-Length: + - "649" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:00 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3df0227e-47ff-4d88-8bd4-803c052482d6 + X-Total-Count: + - "1" + status: 200 OK + code: 200 + duration: 516.486709ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/snapshots?name=packer-e2e-complete-snapshot&project=ac06b5eb-7546-4f57-9ffb-5425d6bb291b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 17 + uncompressed: false + body: '{"snapshots": []}' + headers: + Content-Length: + - "17" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:01 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a3d7f651-3344-43b2-9526-a7353a4f51ba + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 487.224833ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/volumes?name=Ubuntu+22.04+Jammy+Jellyfish&project=ac06b5eb-7546-4f57-9ffb-5425d6bb291b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"volumes": [{"id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": null, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:59.869954+00:00", "tags": [], "zone": "fr-par-2"}]}' + headers: + Content-Length: + - "453" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:01 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0390a854-3083-4fe5-852c-e9fdfc985f82 + X-Total-Count: + - "1" + status: 200 OK + code: 200 + duration: 111.247334ms diff --git a/internal/tests/testdata/packer-e2e-complete.cassette.yaml b/internal/tests/testdata/packer-e2e-complete.cassette.yaml new file mode 100644 index 0000000..54de40c --- /dev/null +++ b/internal/tests/testdata/packer-e2e-complete.cassette.yaml @@ -0,0 +1,1103 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/images?name=packer-e2e-complete&page=1 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 14 + uncompressed: false + body: '{"images": []}' + headers: + Content-Length: + - "14" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:01 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - bf4155be-a2cd-48f8-9e6d-fffca750ad67 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 5.66499925s + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/snapshots?name=packer-e2e-complete-snapshot&page=1 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 17 + uncompressed: false + body: '{"snapshots": []}' + headers: + Content-Length: + - "17" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:02 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ca5daa65-7e8b-4e83-951f-8581d8dd9380 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 279.326125ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/marketplace/v2/local-images?image_label=ubuntu_jammy&order_by=type_asc&type=unknown_type&zone=fr-par-2 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2532 + uncompressed: false + body: '{"local_images":[{"id":"1c5f319f-1243-40a4-91f0-4ff5d6ddf0f6", "arch":"arm64", "zone":"fr-par-2", "compatible_commercial_types":["AMP2-C1", "AMP2-C2", "AMP2-C4", "AMP2-C8", "AMP2-C12", "AMP2-C24", "AMP2-C48", "AMP2-C60", "COPARM1-2C-8G", "COPARM1-4C-16G", "COPARM1-8C-32G", "COPARM1-16C-64G", "COPARM1-32C-128G"], "label":"ubuntu_jammy", "type":"instance_local"}, {"id":"fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "arch":"x86_64", "zone":"fr-par-2", "compatible_commercial_types":["DEV1-L", "DEV1-M", "DEV1-S", "DEV1-XL", "GP1-L", "GP1-M", "GP1-S", "GP1-XL", "GP1-XS", "START1-L", "START1-M", "START1-S", "START1-XS", "VC1L", "VC1M", "VC1S", "X64-120GB", "X64-15GB", "X64-30GB", "X64-60GB", "ENT1-XXS", "ENT1-XS", "ENT1-S", "ENT1-M", "ENT1-L", "ENT1-XL", "ENT1-2XL", "PRO2-XXS", "PRO2-XS", "PRO2-S", "PRO2-M", "PRO2-L", "PLAY2-MICRO", "PLAY2-NANO", "PLAY2-PICO", "POP2-2C-8G", "POP2-4C-16G", "POP2-8C-32G", "POP2-16C-64G", "POP2-32C-128G", "POP2-64C-256G", "POP2-HM-2C-16G", "POP2-HM-4C-32G", "POP2-HM-8C-64G", "POP2-HM-16C-128G", "POP2-HM-32C-256G", "POP2-HM-64C-512G", "POP2-HC-2C-4G", "POP2-HC-4C-8G", "POP2-HC-8C-16G", "POP2-HC-16C-32G", "POP2-HC-32C-64G", "POP2-HC-64C-128G", "POP2-HN-3", "POP2-HN-5", "POP2-HN-10"], "label":"ubuntu_jammy", "type":"instance_local"}, {"id":"5b887d75-ceb2-4b70-a972-8c90091651ce", "arch":"x86_64", "zone":"fr-par-2", "compatible_commercial_types":["DEV1-L", "DEV1-M", "DEV1-S", "DEV1-XL", "GP1-L", "GP1-M", "GP1-S", "GP1-XL", "GP1-XS", "START1-L", "START1-M", "START1-S", "START1-XS", "VC1L", "VC1M", "VC1S", "X64-120GB", "X64-15GB", "X64-30GB", "X64-60GB", "ENT1-XXS", "ENT1-XS", "ENT1-S", "ENT1-M", "ENT1-L", "ENT1-XL", "ENT1-2XL", "PRO2-XXS", "PRO2-XS", "PRO2-S", "PRO2-M", "PRO2-L", "PLAY2-MICRO", "PLAY2-NANO", "PLAY2-PICO", "POP2-2C-8G", "POP2-4C-16G", "POP2-8C-32G", "POP2-16C-64G", "POP2-32C-128G", "POP2-64C-256G", "POP2-HM-2C-16G", "POP2-HM-4C-32G", "POP2-HM-8C-64G", "POP2-HM-16C-128G", "POP2-HM-32C-256G", "POP2-HM-64C-512G", "POP2-HC-2C-4G", "POP2-HC-4C-8G", "POP2-HC-8C-16G", "POP2-HC-16C-32G", "POP2-HC-32C-64G", "POP2-HC-64C-128G", "POP2-HN-3", "POP2-HN-5", "POP2-HN-10"], "label":"ubuntu_jammy", "type":"instance_sbs"}, {"id":"9123ae94-2f7f-4510-8282-8d90d0d47495", "arch":"arm64", "zone":"fr-par-2", "compatible_commercial_types":["AMP2-C1", "AMP2-C2", "AMP2-C4", "AMP2-C8", "AMP2-C12", "AMP2-C24", "AMP2-C48", "AMP2-C60", "COPARM1-2C-8G", "COPARM1-4C-16G", "COPARM1-8C-32G", "COPARM1-16C-64G", "COPARM1-32C-128G"], "label":"ubuntu_jammy", "type":"instance_sbs"}], "total_count":4}' + headers: + Content-Length: + - "2532" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:04 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3d17730c-4c81-4da1-8e23-51b11068a7eb + status: 200 OK + code: 200 + duration: 138.557208ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 1011 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11","commercial_type":"PLAY2-PICO","image":"fa80ce3c-a765-4d4d-9b96-c5af6cf3f302","volumes":{"0":{"size":42000000000,"volume_type":"b_ssd"}},"boot_type":"local","project":"ac06b5eb-7546-4f57-9ffb-5425d6bb291b","tags":["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2937 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopped", "protected": false, "state_detail": "", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["poweron", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "2937" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:04 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 621e32d5-c464-4273-ad65-855e27045bbf + status: 201 Created + code: 201 + duration: 736.200958ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 20 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"poweron"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 357 + uncompressed: false + body: '{"task": {"id": "c91a6dce-b778-4c87-9cca-a1172b387d33", "description": "server_batch_poweron", "status": "pending", "href_from": "/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action", "href_result": "/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3", "started_at": "2025-01-13T09:30:05.469285+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-2"}}' + headers: + Content-Length: + - "357" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:05 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-2/tasks/c91a6dce-b778-4c87-9cca-a1172b387d33 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 85c86622-892e-464a-ab91-861654564d84 + status: 202 Accepted + code: 202 + duration: 452.887208ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2959 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "starting", "protected": false, "state_detail": "allocating node", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:05.288907+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "2959" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:05 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d6b4ce6a-bfe6-4813-8494-bb1a01a8969e + status: 200 OK + code: 200 + duration: 184.431708ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3588 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "starting", "protected": false, "state_detail": "provisioning node", "public_ip": {"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}, "public_ips": [{"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:05.288907+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3588" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:10 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4065a24f-3a49-448a-b67a-419f54171901 + status: 200 OK + code: 200 + duration: 160.667125ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3619 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "running", "protected": false, "state_detail": "booting kernel", "public_ip": {"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}, "public_ips": [{"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:13.737466+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["poweroff", "terminate", "reboot", "stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3619" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:15 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b880e784-6495-4a9d-8f49-f1f4a8f203f4 + status: 200 OK + code: 200 + duration: 184.08075ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3619 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "running", "protected": false, "state_detail": "booting kernel", "public_ip": {"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}, "public_ips": [{"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:13.737466+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["poweroff", "terminate", "reboot", "stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3619" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:15 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d4167553-db62-4ced-821d-2213866ad890 + status: 200 OK + code: 200 + duration: 245.109417ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 21 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"poweroff"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 352 + uncompressed: false + body: '{"task": {"id": "cf1a6ffa-ed39-4d73-9dd4-a661cd44ab0f", "description": "server_poweroff", "status": "pending", "href_from": "/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action", "href_result": "/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3", "started_at": "2025-01-13T09:30:16.922762+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-2"}}' + headers: + Content-Length: + - "352" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:16 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-2/tasks/cf1a6ffa-ed39-4d73-9dd4-a661cd44ab0f + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e7779eb2-7b16-45b4-8e90-eccf6a309eed + status: 202 Accepted + code: 202 + duration: 650.535834ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3579 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": {"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}, "public_ips": [{"id": "a42bb629-1a5a-45b3-bbf4-680eb01c1279", "address": "51.159.152.103", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "84e9bafe-e806-40c0-8fa4-4edcb9dcdb50"}], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3579" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:17 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 94e190a6-7c90-48d8-b96b-e9464137adf0 + status: 200 OK + code: 200 + duration: 371.729709ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:22 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 121ae19c-536b-492f-aea3-1ea5441de343 + status: 200 OK + code: 200 + duration: 165.02675ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:27 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3006c098-d36f-44d3-8bdb-0cef356cff5f + status: 200 OK + code: 200 + duration: 311.01275ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:32 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 13691b4d-57d7-40b7-bd6b-f56cb56b9276 + status: 200 OK + code: 200 + duration: 142.098709ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:38 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 739968f0-e4dd-49b7-9341-7f7160ed3549 + status: 200 OK + code: 200 + duration: 747.133292ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:43 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9ec31581-ba9e-402d-ba1a-3422dbcac7fc + status: 200 OK + code: 200 + duration: 177.830875ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3053 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:16.562797+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": {"zone_id": "fr-par-2", "platform_id": "30", "cluster_id": "19", "hypervisor_id": "901", "node_id": "58"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "3053" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:48 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0ebb3185-2935-420d-bf8f-0192fff638b8 + status: 200 OK + code: 200 + duration: 162.15525ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2937 + uncompressed: false + body: '{"server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "arch": "x86_64", "commercial_type": "PLAY2-PICO", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11", "image": {"id": "fa80ce3c-a765-4d4d-9b96-c5af6cf3f302", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "7cad0678-e28a-4260-b772-e0e21ba6aad8", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:14.478234+00:00", "modification_date": "2024-10-07T11:39:14.478234+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-2"}, "volumes": {"0": {"boot": false, "id": "e770b5d2-a812-47ca-8523-8897eb7834e6", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "name": "packer-6784dd14-29b4-6df4-c5f9-90717c4a9f11"}, "size": 42000000000, "state": "available", "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:04.814833+00:00", "tags": [], "zone": "fr-par-2"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDZvv+sOz2y1g6thdSOya2WBkYWFL6I1IqB4erLeQdhviy94RXWFFfHAODJmZXXd9tbQLN5dZcxLmEalLEcbTfJsUEUwS3XBjeUqSz/9MjrblKd6cYQqaquCsEuJX5gZLhaPVNCT0mDUQH7Vu/EI506r2Nab1N6gjulOYjLEz1NX020mM25/gvEPLoSK8dnWUl9TH2v6RJhTLHQAPmoOvx+aXBnuG8NzQqAabf+8ALh4fAuFK6chdGGgXyBAjcJAp6Hvv5LdEMvhHa1iSXZugfT5wSLXi6lHqF9uy4WjhtZSeKQhsTDgz7HVJRf223jewLjvD4kqEWX3AnldAstnLHf2dUzAyHS9chtukj7fCiZ68bFTf/3aVyHQt2+t6/9ekglXi1SDEEuD6AGBdIncrmhLXlRLtrcZ53xLgd9BpECC8cW/gyWGV6LhdOUJuoQu2NL5NBN4cFXTdeY5l6XN6OQ65b/pKhKYvzzy3iK7RXuMnJyi3za2piXi5C/Xi0Mrk3f5THdelwWQPSnEvXheDnmftEvlZ0VyGv4M1FaKYZdf0Jn/SIo9YAyrWDuPD5fMZnC1OdMC/hRNjAWQPCmia/WJ54I9AkGevDLAiNArXaS5E1znf4xPHtgu3LSFr0hPpWtgGWLgYL/PR689cLo2ch/1wQ6CesL3QZ9frOZz0lXNQ=="], "state": "stopped", "protected": false, "state_detail": "", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:66:f1:4f", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:30:04.814833+00:00", "modification_date": "2025-01-13T09:30:50.365681+00:00", "bootscript": null, "security_group": {"id": "ce63557f-7f6b-4554-b0b5-1cfdcef63111", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["poweron", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "2937" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:53 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f6824d0b-c4cb-499a-8f1e-0fb6814b029b + status: 200 OK + code: 200 + duration: 157.292833ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 125 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"backup","name":"packer-e2e-complete","volumes":{"e770b5d2-a812-47ca-8523-8897eb7834e6":{"volume_type":"unified"}}}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 351 + uncompressed: false + body: '{"task": {"id": "7f9b0f7c-fb85-4a71-817e-5367676c26f0", "description": "instance_backup", "status": "pending", "href_from": "/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3/action", "href_result": "/images/938c98c5-344e-4043-a1c4-ce9114e64a98", "started_at": "2025-01-13T09:30:54.600898+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-2"}}' + headers: + Content-Length: + - "351" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:54 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-2/tasks/7f9b0f7c-fb85-4a71-817e-5367676c26f0 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1c077e35-299a-4684-92da-8026b1e2a153 + status: 202 Accepted + code: 202 + duration: 411.756041ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/images/938c98c5-344e-4043-a1c4-ce9114e64a98 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 645 + uncompressed: false + body: '{"image": {"id": "938c98c5-344e-4043-a1c4-ce9114e64a98", "name": "packer-e2e-complete", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "e571b26e-c18a-4146-8086-cfc7b56ff229", "name": "packer-e2e-complete_snap_0", "volume_type": "unified", "size": 42000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:30:54.300081+00:00", "modification_date": "2025-01-13T09:30:54.300081+00:00", "default_bootscript": null, "from_server": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "state": "creating", "tags": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "645" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:54 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 47b30d64-e0d0-48e9-8888-47cbf5d77d26 + status: 200 OK + code: 200 + duration: 110.6785ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/images/938c98c5-344e-4043-a1c4-ce9114e64a98 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 646 + uncompressed: false + body: '{"image": {"id": "938c98c5-344e-4043-a1c4-ce9114e64a98", "name": "packer-e2e-complete", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "e571b26e-c18a-4146-8086-cfc7b56ff229", "name": "packer-e2e-complete_snap_0", "volume_type": "unified", "size": 42000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:30:54.300081+00:00", "modification_date": "2025-01-13T09:30:54.300081+00:00", "default_bootscript": null, "from_server": "95cea6d7-d6b2-49af-9dff-a475a1c336c3", "state": "available", "tags": [], "zone": "fr-par-2"}}' + headers: + Content-Length: + - "646" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:59 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3d519739-da2b-4deb-a64c-2b82969d864e + status: 200 OK + code: 200 + duration: 79.421083ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-2/servers/95cea6d7-d6b2-49af-9dff-a475a1c336c3 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:30:59 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7ef8d460-97c4-4587-a93c-bd77d1510ade + status: 204 No Content + code: 204 + duration: 162.127709ms diff --git a/internal/tests/testdata/packer-e2e-simple.cassette.yaml b/internal/tests/testdata/packer-e2e-simple.cassette.yaml new file mode 100644 index 0000000..13b6b20 --- /dev/null +++ b/internal/tests/testdata/packer-e2e-simple.cassette.yaml @@ -0,0 +1,1101 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/images?name=packer-e2e-simple&page=1 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 14 + uncompressed: false + body: '{"images": []}' + headers: + Content-Length: + - "14" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:05 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7035ad85-5fe0-415d-a0c5-5f95c84a448b + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 4.690355041s + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/snapshots?name=snapshot-packer-1736760661&page=1 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 17 + uncompressed: false + body: '{"snapshots": []}' + headers: + Content-Length: + - "17" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:06 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7a55523c-0217-4a85-a29d-8cbbb7a11d98 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 204.380416ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/marketplace/v2/local-images?image_label=ubuntu_jammy&order_by=type_asc&type=unknown_type&zone=fr-par-1 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2562 + uncompressed: false + body: '{"local_images":[{"id":"2982a1c0-be7e-4114-af3d-a8af8aa7aec5", "arch":"arm64", "zone":"fr-par-1", "compatible_commercial_types":["AMP2-C1", "AMP2-C2", "AMP2-C4", "AMP2-C8", "AMP2-C12", "AMP2-C24", "AMP2-C48", "AMP2-C60", "COPARM1-2C-8G", "COPARM1-4C-16G", "COPARM1-8C-32G", "COPARM1-16C-64G", "COPARM1-32C-128G"], "label":"ubuntu_jammy", "type":"instance_local"}, {"id":"bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "arch":"x86_64", "zone":"fr-par-1", "compatible_commercial_types":["DEV1-L", "DEV1-M", "DEV1-S", "DEV1-XL", "GP1-L", "GP1-M", "GP1-S", "GP1-XL", "GP1-XS", "START1-L", "START1-M", "START1-S", "START1-XS", "VC1L", "VC1M", "VC1S", "X64-120GB", "X64-15GB", "X64-30GB", "X64-60GB", "ENT1-XXS", "ENT1-XS", "ENT1-S", "ENT1-M", "ENT1-L", "ENT1-XL", "ENT1-2XL", "PRO2-XXS", "PRO2-XS", "PRO2-S", "PRO2-M", "PRO2-L", "STARDUST1-S", "PLAY2-MICRO", "PLAY2-NANO", "PLAY2-PICO", "POP2-2C-8G", "POP2-4C-16G", "POP2-8C-32G", "POP2-16C-64G", "POP2-32C-128G", "POP2-64C-256G", "POP2-HM-2C-16G", "POP2-HM-4C-32G", "POP2-HM-8C-64G", "POP2-HM-16C-128G", "POP2-HM-32C-256G", "POP2-HM-64C-512G", "POP2-HC-2C-4G", "POP2-HC-4C-8G", "POP2-HC-8C-16G", "POP2-HC-16C-32G", "POP2-HC-32C-64G", "POP2-HC-64C-128G", "POP2-HN-3", "POP2-HN-5", "POP2-HN-10"], "label":"ubuntu_jammy", "type":"instance_local"}, {"id":"1fb9bfa4-68c3-4d6f-a362-8913a1af27b0", "arch":"x86_64", "zone":"fr-par-1", "compatible_commercial_types":["DEV1-L", "DEV1-M", "DEV1-S", "DEV1-XL", "GP1-L", "GP1-M", "GP1-S", "GP1-XL", "GP1-XS", "START1-L", "START1-M", "START1-S", "START1-XS", "VC1L", "VC1M", "VC1S", "X64-120GB", "X64-15GB", "X64-30GB", "X64-60GB", "ENT1-XXS", "ENT1-XS", "ENT1-S", "ENT1-M", "ENT1-L", "ENT1-XL", "ENT1-2XL", "PRO2-XXS", "PRO2-XS", "PRO2-S", "PRO2-M", "PRO2-L", "STARDUST1-S", "PLAY2-MICRO", "PLAY2-NANO", "PLAY2-PICO", "POP2-2C-8G", "POP2-4C-16G", "POP2-8C-32G", "POP2-16C-64G", "POP2-32C-128G", "POP2-64C-256G", "POP2-HM-2C-16G", "POP2-HM-4C-32G", "POP2-HM-8C-64G", "POP2-HM-16C-128G", "POP2-HM-32C-256G", "POP2-HM-64C-512G", "POP2-HC-2C-4G", "POP2-HC-4C-8G", "POP2-HC-8C-16G", "POP2-HC-16C-32G", "POP2-HC-32C-64G", "POP2-HC-64C-128G", "POP2-HN-3", "POP2-HN-5", "POP2-HN-10"], "label":"ubuntu_jammy", "type":"instance_sbs"}, {"id":"7044ae1e-a35d-4364-a962-93811c845f2f", "arch":"arm64", "zone":"fr-par-1", "compatible_commercial_types":["AMP2-C1", "AMP2-C2", "AMP2-C4", "AMP2-C8", "AMP2-C12", "AMP2-C24", "AMP2-C48", "AMP2-C60", "COPARM1-2C-8G", "COPARM1-4C-16G", "COPARM1-8C-32G", "COPARM1-16C-64G", "COPARM1-32C-128G"], "label":"ubuntu_jammy", "type":"instance_sbs"}], "total_count":4}' + headers: + Content-Length: + - "2562" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:07 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a224fec6-8dcd-4697-89b1-bb66d5c19ca8 + status: 200 OK + code: 200 + duration: 126.78675ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 950 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"packer-6784dd55-014e-8cfe-e298-d4d936bf312f","commercial_type":"PRO2-XXS","image":"bc50e86c-a6c7-401a-8fbb-2ef17ce87aee","boot_type":"local","project":"ac06b5eb-7546-4f57-9ffb-5425d6bb291b","tags":["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2935 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopped", "protected": false, "state_detail": "", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["poweron", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "2935" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:07 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 38c9f4f9-c47a-44a2-a0fa-79bc91d92e71 + status: 201 Created + code: 201 + duration: 504.369208ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 20 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"poweron"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 357 + uncompressed: false + body: '{"task": {"id": "fe550818-a38b-4b6a-a81d-2fb69508e027", "description": "server_batch_poweron", "status": "pending", "href_from": "/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action", "href_result": "/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c", "started_at": "2025-01-13T09:31:08.038537+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-1"}}' + headers: + Content-Length: + - "357" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:07 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-1/tasks/fe550818-a38b-4b6a-a81d-2fb69508e027 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a4e8305b-cc91-4e17-95e8-45a718b6e8b7 + status: 202 Accepted + code: 202 + duration: 261.288084ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2957 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "starting", "protected": false, "state_detail": "allocating node", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.874253+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "2957" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:08 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1bb19e94-1f4b-4ea0-b2dc-d7a7b4daf2d5 + status: 200 OK + code: 200 + duration: 152.336958ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3609 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "running", "protected": false, "state_detail": "booting kernel", "public_ip": {"id": "4cd59068-6e30-458f-8ffb-7e4cb9a064d3", "address": "51.15.138.40", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "a81c8ac1-c21d-44e5-8760-a207d4f024b2"}, "public_ips": [{"id": "4cd59068-6e30-458f-8ffb-7e4cb9a064d3", "address": "51.15.138.40", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "a81c8ac1-c21d-44e5-8760-a207d4f024b2"}], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:11.078847+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["poweroff", "terminate", "reboot", "stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3609" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:13 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - bae654e4-ba36-49b1-80d7-0c20a094f596 + status: 200 OK + code: 200 + duration: 169.474959ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3609 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "running", "protected": false, "state_detail": "booting kernel", "public_ip": {"id": "4cd59068-6e30-458f-8ffb-7e4cb9a064d3", "address": "51.15.138.40", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "a81c8ac1-c21d-44e5-8760-a207d4f024b2"}, "public_ips": [{"id": "4cd59068-6e30-458f-8ffb-7e4cb9a064d3", "address": "51.15.138.40", "dynamic": true, "gateway": "62.210.0.1", "netmask": "32", "family": "inet", "provisioning_mode": "dhcp", "tags": [], "state": "attached", "ipam_id": "a81c8ac1-c21d-44e5-8760-a207d4f024b2"}], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:11.078847+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["poweroff", "terminate", "reboot", "stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3609" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:13 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8666fef2-b5d3-4f02-ae0c-5fe37a8a77e1 + status: 200 OK + code: 200 + duration: 241.158875ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 21 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"poweroff"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 352 + uncompressed: false + body: '{"task": {"id": "ad2d505a-50c3-4e59-b367-e5d0f81a6998", "description": "server_poweroff", "status": "pending", "href_from": "/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action", "href_result": "/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c", "started_at": "2025-01-13T09:31:13.989002+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-1"}}' + headers: + Content-Length: + - "352" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:13 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-1/tasks/ad2d505a-50c3-4e59-b367-e5d0f81a6998 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 952da932-bba2-45bc-96dc-fb77596eb6cd + status: 202 Accepted + code: 202 + duration: 719.06125ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:14 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 122bef91-1d6e-4a2a-bbf8-f2161944929a + status: 200 OK + code: 200 + duration: 212.896208ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:19 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 326ecdad-b924-4de6-8f2c-b886715dc2d9 + status: 200 OK + code: 200 + duration: 181.990667ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:24 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 58829c4f-223d-4bb1-b1ab-12561e72ef41 + status: 200 OK + code: 200 + duration: 177.803416ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:29 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 69ad73a5-9ea8-4881-8227-f11bb972162f + status: 200 OK + code: 200 + duration: 146.530834ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:35 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 404e03dc-c0b0-4dab-b7bd-163c753bcaf0 + status: 200 OK + code: 200 + duration: 191.620916ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:40 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 95e81330-c9de-418a-9e74-9da2798d31f4 + status: 200 OK + code: 200 + duration: 163.002042ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3047 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopping", "protected": false, "state_detail": "stopping", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:13.823817+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": {"zone_id": "par1", "platform_id": "14", "cluster_id": "12", "hypervisor_id": "501", "node_id": "26"}, "maintenances": [], "allowed_actions": ["stop_in_place", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "3047" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:45 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e6925dde-d84d-41da-949b-36772be27a13 + status: 200 OK + code: 200 + duration: 193.911916ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2935 + uncompressed: false + body: '{"server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "arch": "x86_64", "commercial_type": "PRO2-XXS", "boot_type": "local", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "hostname": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f", "image": {"id": "bc50e86c-a6c7-401a-8fbb-2ef17ce87aee", "name": "Ubuntu 22.04 Jammy Jellyfish", "organization": "51b656e3-4865-41e8-adbc-0c45bdd780db", "project": "51b656e3-4865-41e8-adbc-0c45bdd780db", "root_volume": {"id": "f1efdd5c-375b-431e-ac06-daaf1518369b", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": true, "arch": "x86_64", "creation_date": "2024-10-07T11:39:08.941837+00:00", "modification_date": "2024-10-07T11:39:08.941837+00:00", "default_bootscript": null, "from_server": "", "state": "available", "tags": [], "zone": "fr-par-1"}, "volumes": {"0": {"boot": false, "id": "8b91f397-ca67-4359-a6b7-0c0fadb7b055", "name": "Ubuntu 22.04 Jammy Jellyfish", "volume_type": "b_ssd", "export_uri": null, "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "server": {"id": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "name": "packer-6784dd55-014e-8cfe-e298-d4d936bf312f"}, "size": 10000000000, "state": "available", "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:07.495552+00:00", "tags": [], "zone": "fr-par-1"}}, "tags": ["AUTHORIZED_KEY=ssh-rsa_AAAAB3NzaC1yc2EAAAADAQABAAACAQDFxjPw96Mwa7ojJcIDhpX3HbShBQ46L3pZ3iBMatgPH2NQtMbVor4dKP5KeyWShaoukh6XGVs81sglBnFJW3ajB2rl44DS2bO+0tQnFygTXjOb478+MBP/dfmgFkBKy4UzcdVu6NKlneCmgKAi55D52OR+4DPwIQsdg2M/Z+l3WxZ6KPSI/iA45U8MjudefL3yOT0kVfw4F7JApCof5HN6rACeQ9NYuJNIh5Ow8G901rao/XclzQtc6YxCvHxLdiSg22vcTVelew7+aekYEoQDtxRrCkNHJaUu6gR/1ImeV/Hdq41Hw80ek8y+XhNIGy/kONoiCxJ2RnDwlDqr5AfMyQf1ez1xxjm6mzsOuqvw/pvawe2AFmL7PKn8LmBjzCcweaJyHfjjgVVd8AFJRnhOm4B+HMqMN+RPxMb0p4w9PXdNlhOa+A3vbUAytPviZmt9DVAiQofTLpce8Rgc4jjoQPyDhe0HzZ1SUl4wyjftd1YDtRHuQ9Pa6CYMZfUsBtIHiCKmcTzmdJHcTvWvvCkZr1q73BrGcqTg1vNPOo4d004giOgkITd1u69Yct/pMKEdJh1+DOJNxCrItIS5/QycHxNiYo1vNpDYSjRyTTM3awIgy/ZK//p3nHfJsqjGhlkPijkClqzOL3DmjqTuFpvCFeLcEcMh8aVLVECyaW48bw=="], "state": "stopped", "protected": false, "state_detail": "", "public_ip": null, "public_ips": [], "mac_address": "de:00:00:8c:fe:f3", "routed_ip_enabled": true, "ipv6": null, "extra_networks": [], "dynamic_ip_required": true, "enable_ipv6": false, "private_ip": null, "creation_date": "2025-01-13T09:31:07.495552+00:00", "modification_date": "2025-01-13T09:31:47.303573+00:00", "bootscript": null, "security_group": {"id": "390578d1-6df4-4e36-b1c6-2799cea30746", "name": "Default security group"}, "location": null, "maintenances": [], "allowed_actions": ["poweron", "backup"], "placement_group": null, "private_nics": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "2935" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:50 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fff0f7b2-5316-4ebe-8551-abe40867e547 + status: 200 OK + code: 200 + duration: 303.572833ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 123 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"action":"backup","name":"packer-e2e-simple","volumes":{"8b91f397-ca67-4359-a6b7-0c0fadb7b055":{"volume_type":"unified"}}}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 351 + uncompressed: false + body: '{"task": {"id": "6a2adac3-e3da-4488-b263-8778dc5f5fc9", "description": "instance_backup", "status": "pending", "href_from": "/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c/action", "href_result": "/images/247f2d44-1754-4c88-9130-32dc35bad182", "started_at": "2025-01-13T09:31:51.739993+00:00", "terminated_at": null, "progress": 0, "zone": "fr-par-1"}}' + headers: + Content-Length: + - "351" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:51 GMT + Location: + - https://api.scaleway.com/instance/v1/zones/fr-par-1/tasks/6a2adac3-e3da-4488-b263-8778dc5f5fc9 + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ab3ef94c-2911-4fbb-8f68-d9b74a4d0ed1 + status: 202 Accepted + code: 202 + duration: 820.818458ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/images/247f2d44-1754-4c88-9130-32dc35bad182 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 641 + uncompressed: false + body: '{"image": {"id": "247f2d44-1754-4c88-9130-32dc35bad182", "name": "packer-e2e-simple", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "ff522daf-6ccd-4d82-aec4-a6b22634ac45", "name": "packer-e2e-simple_snap_0", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:31:51.401650+00:00", "modification_date": "2025-01-13T09:31:51.401650+00:00", "default_bootscript": null, "from_server": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "state": "creating", "tags": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "641" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:51 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7a45d645-3fe3-41b1-bd59-df2c7eaedecc + status: 200 OK + code: 200 + duration: 116.0825ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/images/247f2d44-1754-4c88-9130-32dc35bad182 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 642 + uncompressed: false + body: '{"image": {"id": "247f2d44-1754-4c88-9130-32dc35bad182", "name": "packer-e2e-simple", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "ff522daf-6ccd-4d82-aec4-a6b22634ac45", "name": "packer-e2e-simple_snap_0", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:31:51.401650+00:00", "modification_date": "2025-01-13T09:31:51.401650+00:00", "default_bootscript": null, "from_server": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "state": "available", "tags": [], "zone": "fr-par-1"}}' + headers: + Content-Length: + - "642" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:56 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4ccc929b-2a1b-4849-95cc-f8a6d710f933 + status: 200 OK + code: 200 + duration: 356.392084ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers/66c81978-be4c-4e50-9815-95f4cdbd4a8c + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:57 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 37ed28a4-9be2-4559-8bf2-4fb1739dfd3b + status: 204 No Content + code: 204 + duration: 350.71025ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.30 (go1.23.4; darwin; arm64) Packer/1.1.1-dev (+https://www.packer.io/; go1.23.4; darwin/arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/volumes/8b91f397-ca67-4359-a6b7-0c0fadb7b055 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:31:57 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6ff6b856-3f88-4638-a43d-9ce23e1bbdfe + status: 204 No Content + code: 204 + duration: 253.631625ms diff --git a/internal/tests/testdata/simple.cassette.yaml b/internal/tests/testdata/simple.cassette.yaml new file mode 100644 index 0000000..2744b82 --- /dev/null +++ b/internal/tests/testdata/simple.cassette.yaml @@ -0,0 +1,158 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/images?name=packer-e2e-simple&page=1&project=ac06b5eb-7546-4f57-9ffb-5425d6bb291b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 645 + uncompressed: false + body: '{"images": [{"id": "247f2d44-1754-4c88-9130-32dc35bad182", "name": "packer-e2e-simple", "organization": "ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b", "project": "ac06b5eb-7546-4f57-9ffb-5425d6bb291b", "root_volume": {"id": "ff522daf-6ccd-4d82-aec4-a6b22634ac45", "name": "packer-e2e-simple_snap_0", "volume_type": "unified", "size": 10000000000}, "extra_volumes": {}, "public": false, "arch": "x86_64", "creation_date": "2025-01-13T09:31:51.401650+00:00", "modification_date": "2025-01-13T09:31:51.401650+00:00", "default_bootscript": null, "from_server": "66c81978-be4c-4e50-9815-95f4cdbd4a8c", "state": "available", "tags": [], "zone": "fr-par-1"}]}' + headers: + Content-Length: + - "645" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:32:00 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8b982c2a-85ac-4bb8-85d4-f55782d4233c + X-Total-Count: + - "1" + status: 200 OK + code: 200 + duration: 1.888183125s + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/volumes + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 15 + uncompressed: false + body: '{"volumes": []}' + headers: + Content-Length: + - "15" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:32:00 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 46604685-b405-440e-9323-181c44b8cab0 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 315.853542ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.23.4; darwin; arm64) + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes?order_by=created_at_asc&project_id=ac06b5eb-7546-4f57-9ffb-5425d6bb291b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 31 + uncompressed: false + body: '{"volumes":[], "total_count":0}' + headers: + Content-Length: + - "31" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Mon, 13 Jan 2025 09:32:01 GMT + Server: + - Scaleway API Gateway (fr-par-1;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ad549ffe-e009-4833-ba05-316b3dc72aa9 + status: 200 OK + code: 200 + duration: 170.403417ms diff --git a/internal/vcr/vcr.go b/internal/vcr/vcr.go new file mode 100644 index 0000000..df1a076 --- /dev/null +++ b/internal/vcr/vcr.go @@ -0,0 +1,135 @@ +package vcr + +import ( + "fmt" + "net/http" + "net/url" + "os" + "path/filepath" + "regexp" + "strconv" + "strings" + "testing" + + "github.com/scaleway/scaleway-sdk-go/strcase" + "gopkg.in/dnaeon/go-vcr.v4/pkg/cassette" + "gopkg.in/dnaeon/go-vcr.v4/pkg/recorder" +) + +// QueryMatcherIgnore is a list of query parameters that should be ignored when matching cassettes requests +var QueryMatcherIgnore = []string{ + "project_id", + "project", +} + +const UpdateCassettesEnvVariable = "PACKER_UPDATE_CASSETTES" + +var UpdateCassettes = os.Getenv(UpdateCassettesEnvVariable) == "true" + +// getTestFilePath returns a valid filename path based on the go test name and suffix. (Take care of non fs friendly char) +func getTestFilePath(t *testing.T, pkgFolder string, suffix string) string { + t.Helper() + specialChars := regexp.MustCompile(`[\\?%*:|"<>. ]`) + + // Replace nested tests separators. + fileName := strings.ReplaceAll(t.Name(), "/", "-") + + fileName = strcase.ToBashArg(fileName) + + // Replace special characters. + fileName = specialChars.ReplaceAllLiteralString(fileName, "") + suffix + + // Remove prefix to simplify + fileName = strings.TrimPrefix(fileName, "test-") + + return filepath.Join(pkgFolder, "testdata", fileName) +} + +func GetTestFilePath(t *testing.T, pkgFolder string) string { + t.Helper() + return getTestFilePath(t, pkgFolder, ".cassette") +} + +// recorderAuthHook is a hook that will clean authorization tokens from cassette during record. +func recorderAuthHook(i *cassette.Interaction) error { + i.Request.Headers = i.Request.Headers.Clone() + delete(i.Request.Headers, "x-auth-token") + delete(i.Request.Headers, "X-Auth-Token") + delete(i.Request.Headers, "Authorization") + + return nil +} + +// stripRandomNumbers receive a string with format "%s-%d" and will strip the last number element when split by dash. +func stripRandomNumbers(s string) string { + elems := strings.Split(s, "-") + if _, err := strconv.ParseInt(elems[len(elems)-1], 10, 64); err == nil { + // Last elem is an int + elems = elems[:len(elems)-1] + } + + return strings.Join(elems, "-") +} + +func cleanURLValues(values url.Values) url.Values { + for _, query := range QueryMatcherIgnore { + values.Del(query) + } + for key, query := range values { + if key == "name" && len(query) > 0 { + query[0] = stripRandomNumbers(query[0]) + } + } + + return values +} + +func requestMatcher(actualRequest *http.Request, cassetteRequest cassette.Request) bool { + cassetteURL, _ := url.Parse(cassetteRequest.URL) + actualURL := actualRequest.URL + cassetteQueryValues := cassetteURL.Query() + actualQueryValues := actualURL.Query() + actualURL.RawQuery = cleanURLValues(actualQueryValues).Encode() + cassetteURL.RawQuery = cleanURLValues(cassetteQueryValues).Encode() + + return actualRequest.Method == cassetteRequest.Method && + actualURL.String() == cassetteURL.String() +} + +// GetHTTPRecorder creates a new httpClient that records all HTTP requests in a cassette. +// This cassette is then replayed whenever tests are executed again. This means that once the +// requests are recorded in the cassette, no more real HTTP requests must be made to run the tests. +// +// It is important to add a `defer cleanup()` so the given cassette files are correctly +// closed and saved after the requests. +func GetHTTPRecorder(cassetteFilePath string, update bool) (client *http.Client, cleanup func(), err error) { + recorderMode := recorder.ModeReplayOnly + if update { + recorderMode = recorder.ModeRecordOnly + } + + _, errorCassette := os.Stat(cassetteFilePath + ".yaml") + + // If in record mode we check that the cassette exists + if recorderMode == recorder.ModeReplayOnly && errorCassette != nil { + return nil, nil, fmt.Errorf("cannot stat file %s.yaml while in replay mode", cassetteFilePath) + } + + // Setup recorder and scw client + r, err := recorder.New(cassetteFilePath, + recorder.WithMode(recorderMode), + recorder.WithSkipRequestLatency(true), + // Add a filter which removes Authorization headers from all requests: + recorder.WithHook(recorderAuthHook, recorder.BeforeSaveHook), + recorder.WithMatcher(requestMatcher)) + if err != nil { + return nil, nil, err + } + defer func(r *recorder.Recorder) { + _ = r.Stop() + }(r) + + return &http.Client{Transport: r}, func() { + _ = r.Stop() // Make sure recorder is stopped once done with it + }, nil +}