diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 338207ee98..24ba65f029 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -13,6 +13,7 @@ jobs: products: - account - applesilicon + - autoscaling - az - baremetal - billing diff --git a/docs/resources/autoscaling_instance_group.md b/docs/resources/autoscaling_instance_group.md new file mode 100644 index 0000000000..b80ef5f5e2 --- /dev/null +++ b/docs/resources/autoscaling_instance_group.md @@ -0,0 +1,177 @@ +--- +subcategory: "Autoscaling" +page_title: "Scaleway: scaleway_autoscaling_instance_group" +--- + +# Resource: scaleway_autoscaling_instance_group + +Books and manages Autoscaling Instance groups. + +## Example Usage + +### Basic + +```terraform +resource "scaleway_autoscaling_instance_group" "main" { + name = "asg-group" + template_id = scaleway_autoscaling_instance_template.main.id + tags = ["terraform-test", "instance-group"] + capacity { + max_replicas = 5 + min_replicas = 1 + cooldown_delay = "300" + } + load_balancer { + id = scaleway_lb.main.id + backend_ids = [scaleway_lb_backend.main.id] + private_network_id = scaleway_vpc_private_network.main.id + } +} +``` + +### With template and policies + +```terraform +resource "scaleway_vpc" "main" { + name = "TestAccAutoscalingVPC" +} + +resource "scaleway_vpc_private_network" "main" { + name = "TestAccAutoscalingVPC" + vpc_id = scaleway_vpc.main.id +} + +resource "scaleway_block_volume" "main" { + iops = 5000 + size_in_gb = 10 +} + +resource "scaleway_block_snapshot" "main" { + name = "test-ds-block-snapshot-basic" + volume_id = scaleway_block_volume.main.id +} + +resource "scaleway_lb_ip" "main" {} +resource "scaleway_lb" "main" { + ip_id = scaleway_lb_ip.main.id + name = "test-lb" + type = "lb-s" + private_network { + private_network_id = scaleway_vpc_private_network.main.id + } +} + +resource "scaleway_lb_backend" "main" { + lb_id = scaleway_lb.main.id + forward_protocol = "tcp" + forward_port = 80 + proxy_protocol = "none" +} + +resource "scaleway_autoscaling_instance_template" "main" { + name = "autoscaling-instance-template-basic" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "basic"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + private_network_ids = [scaleway_vpc_private_network.main.id] +} + +resource "scaleway_autoscaling_instance_group" "main" { + name = "autoscaling-instance-group-basic" + template_id = scaleway_autoscaling_instance_template.main.id + tags = ["terraform-test", "instance-group"] + capacity { + max_replicas = 5 + min_replicas = 1 + cooldown_delay = "300" + } + load_balancer { + id = scaleway_lb.main.id + backend_ids = [scaleway_lb_backend.main.id] + private_network_id = scaleway_vpc_private_network.main.id + } + delete_servers_on_destroy = true +} + +resource "scaleway_autoscaling_instance_policy" "up" { + instance_group_id = scaleway_autoscaling_instance_group.main.id + name = "scale-up-if-cpu-high" + action = "scale_up" + type = "flat_count" + value = 1 + priority = 1 + + metric { + name = "cpu scale up" + managed_metric = "managed_metric_instance_cpu" + operator = "operator_greater_than" + aggregate = "aggregate_average" + sampling_range_min = 5 + threshold = 70 + } +} + +resource "scaleway_autoscaling_instance_policy" "down" { + instance_group_id = scaleway_autoscaling_instance_group.main.id + name = "scale-down-if-cpu-low" + action = "scale_down" + type = "flat_count" + value = 1 + priority = 2 + + metric { + name = "cpu scale down" + managed_metric = "managed_metric_instance_cpu" + operator = "operator_less_than" + aggregate = "aggregate_average" + sampling_range_min = 5 + threshold = 40 + } +} +``` + +## Argument Reference + +The following arguments are supported: + +- `template_id` - (Required) The ID of the Instance template to attach to the Instance group. +- `tags` - (Optional) The tags associated with the Instance group. +- `name` - (Optional) The Instance group name. +- `capacity` - (Optional) The specification of the minimum and maximum replicas for the Instance group, and the cooldown interval between two scaling events. + - `max_replicas` - The maximum count of Instances for the Instance group. + - `min_replicas` - The minimum count of Instances for the Instance group. + - `cooldown_delay` - Time (in seconds) after a scaling action during which requests to carry out a new scaling action will be denied. +- `load_balancer` - (Optional) The specification of the Load Balancer to link to the Instance group. + - `id` - The ID of the Load Balancer. + - `backend_ids` - The Load Balancer backend IDs. + - `private_network_id` - The ID of the Private Network attached to the Load Balancer. +- `delete_servers_on_destroy` - (Optional) Whether to delete all instances in this group when the group is destroyed. Set to `true` to tear them down, `false` (the default) leaves them running. +- `zone` - (Defaults to [provider](../index.md#zone) `zone`) The [zone](../guides/regions_and_zones.md#zones) in which the Instance group exists. +- `project_id` - (Defaults to [provider](../index.md#project_id) `project_id`) The ID of the Project the Instance group is associated with. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +- `id` - The ID of the Instance group. +- `created_at` - Date and time of Instance group's creation (RFC 3339 format). +- `updated_at` - Date and time of Instance group's last update (RFC 3339 format). + +~> **Important:** Autoscaling Instance group IDs are [zonal](../guides/regions_and_zones.md#resource-ids), which means they are of the form `{zone}/{id}`, e.g. `fr-par-1/11111111-1111-1111-1111-111111111111` + +## Import + +Autoscaling Instance groups can be imported using `{zone}/{id}`, e.g. + +```bash +terraform import scaleway_autoscaling_instance_group.main fr-par-1/11111111-1111-1111-1111-111111111111 +``` diff --git a/docs/resources/autoscaling_instance_policy.md b/docs/resources/autoscaling_instance_policy.md new file mode 100644 index 0000000000..b8b87906fc --- /dev/null +++ b/docs/resources/autoscaling_instance_policy.md @@ -0,0 +1,87 @@ +--- +subcategory: "Autoscaling" +page_title: "Scaleway: scaleway_autoscaling_instance_policy" +--- + +# Resource: scaleway_autoscaling_instance_policy + +Books and manages Autoscaling Instance policies. + +## Example Usage + +### Basic + +```terraform +resource "scaleway_autoscaling_instance_policy" "up" { + instance_group_id = scaleway_autoscaling_instance_group.main.id + name = "scale-up-if-cpu-high" + action = "scale_up" + type = "flat_count" + value = 1 + priority = 1 + + metric { + name = "cpu scale up" + managed_metric = "managed_metric_instance_cpu" + operator = "operator_greater_than" + aggregate = "aggregate_average" + sampling_range_min = 5 + threshold = 70 + } +} + +resource "scaleway_autoscaling_instance_policy" "down" { + instance_group_id = scaleway_autoscaling_instance_group.main.id + name = "scale-down-if-cpu-low" + action = "scale_down" + type = "flat_count" + value = 1 + priority = 2 + + metric { + name = "cpu scale down" + managed_metric = "managed_metric_instance_cpu" + operator = "operator_less_than" + aggregate = "aggregate_average" + sampling_range_min = 5 + threshold = 40 + } +} +``` + +## Argument Reference + +The following arguments are supported: + +- `instance_group_id` - (Required) The ID of the Instance group related to this policy. +- `name` - (Optional) The Instance policy name. +- `action` - (Required) The action to execute when the metric-based condition is met. +- `type` - (Required) How to use the number defined in `value` when determining by how many Instances to scale up/down. +- `value` - (Required) The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by. +- `priority` - (Required) The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority. +- `metric` - (Optional) Cockpit metric to use when determining whether to trigger a scale up/down action. + - `name` - Name or description of the metric policy. + - `operator` - Operator used when comparing the threshold value of the chosen `metric` to the actual sampled and aggregated value. + - `aggregate` - How the values sampled for the `metric` should be aggregated. + - `managed_metric` - The managed metric to use for this policy. These are available by default in Cockpit without any configuration or `node_exporter`. The chosen metric forms the basis of the condition that will be checked to determine whether a scaling action should be triggered. + - `cockpit_metric_name` - The custom metric to use for this policy. This must be stored in Scaleway Cockpit. The metric forms the basis of the condition that will be checked to determine whether a scaling action should be triggered + - `sampling_range_min` - The Interval of time, in minutes, during which metric is sampled. + - `threshold` - The threshold value to measure the aggregated sampled `metric` value against. Combined with the `operator` field, determines whether a scaling action should be triggered. +- `zone` - (Defaults to [provider](../index.md#zone) `zone`) The [zone](../guides/regions_and_zones.md#zones) in which the Instance policy exists. +- `project_id` - (Defaults to [provider](../index.md#project_id) `project_id`) The ID of the Project the Instance policy is associated with. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +- `id` - The ID of the Instance policy. + +~> **Important:** Autoscaling policies IDs are [zonal](../guides/regions_and_zones.md#resource-ids), which means they are of the form `{zone}/{id}`, e.g. `fr-par-1/11111111-1111-1111-1111-111111111111` + +## Import + +Autoscaling instance policies can be imported using `{zone}/{id}`, e.g. + +```bash +terraform import scaleway_autoscaling_instance_policy.main fr-par-1/11111111-1111-1111-1111-111111111111 +``` diff --git a/docs/resources/autoscaling_instance_template.md b/docs/resources/autoscaling_instance_template.md new file mode 100644 index 0000000000..2b6939f9c3 --- /dev/null +++ b/docs/resources/autoscaling_instance_template.md @@ -0,0 +1,72 @@ +--- +subcategory: "Autoscaling" +page_title: "Scaleway: scaleway_autoscaling_instance_template" +--- + +# Resource: scaleway_autoscaling_instance_template + +Books and manages Autoscaling Instance templates. + +## Example Usage + +### Basic + +```terraform +resource "scaleway_autoscaling_instance_template" "main" { + name = "asg-template" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "basic"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + private_network_ids = [scaleway_vpc_private_network.main.id] +} +``` + +## Argument Reference + +The following arguments are supported: + +- `commercial_type` - (Required) The name of Instance commercial type. +- `tags` - (Optional) The tags associated with the Instance template. +- `name` - (Optional) The Instance group template. +- `image_id` - (Optional) The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template. +- `volumes` - (Required) The template of Instance volume. + - `name` - The name of the volume. + - `perf_iops` - The maximum IO/s expected, according to the different options available in stock (`5000 | 15000`). + - `tags` - The list of tags assigned to the volume. + - `boot` - Force the Instance to boot on this volume. + - `volume_type` - The type of the volume. +- `security_group_id` - (Optional) The instance security group ID. +- `placement_group_id` - (Optional) The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone. +- `public_ips_v4_count` - (Optional) The number of flexible IPv4 addresses to attach to the new Instance. +- `public_ips_v6_count` - (Optional) The number of flexible IPv6 addresses to attach to the new Instance. +- `private_network_ids` - (Optional) The private Network IDs to attach to the new Instance. +- `cloud_init` - (Optional) The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template. +- `zone` - (Defaults to [provider](../index.md#zone) `zone`) The [zone](../guides/regions_and_zones.md#zones) in which the Instance template exists. +- `project_id` - (Defaults to [provider](../index.md#project_id) `project_id`) The ID of the Project the Instance template is associated with. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +- `id` - The ID of the Instance group. +- `created_at` - Date and time of Instance group's creation (RFC 3339 format). +- `updated_at` - Date and time of Instance group's last update (RFC 3339 format). + +~> **Important:** Autoscaling Instance template IDs are [zonal](../guides/regions_and_zones.md#resource-ids), which means they are of the form `{zone}/{id}`, e.g. `fr-par-1/11111111-1111-1111-1111-111111111111` + +## Import + +Autoscaling Instance templates can be imported using `{zone}/{id}`, e.g. + +```bash +terraform import scaleway_autoscaling_instance_template.main fr-par-1/11111111-1111-1111-1111-111111111111 +``` diff --git a/internal/locality/regional/ids.go b/internal/locality/regional/ids.go index cc180896a7..27e37ec8d6 100644 --- a/internal/locality/regional/ids.go +++ b/internal/locality/regional/ids.go @@ -21,6 +21,19 @@ func NewID(region scw.Region, id string) ID { } } +func NewIDStrings(region scw.Region, ids []string) []string { + if ids == nil { + return nil + } + + flattenedIDs := make([]string, len(ids)) + for i, id := range ids { + flattenedIDs[i] = NewIDString(region, id) + } + + return flattenedIDs +} + func (z ID) String() string { return fmt.Sprintf("%s/%s", z.Region, z.ID) } @@ -68,16 +81,3 @@ func ParseID(regionalID string) (region scw.Region, id string, err error) { return } - -func NewRegionalIDs(region scw.Region, ids []string) []string { - if ids == nil { - return nil - } - - flattenedIDs := make([]string, len(ids)) - for i, id := range ids { - flattenedIDs[i] = NewIDString(region, id) - } - - return flattenedIDs -} diff --git a/internal/locality/zonal/ids.go b/internal/locality/zonal/ids.go index 66cc8c7fdb..eeb54c5f2d 100644 --- a/internal/locality/zonal/ids.go +++ b/internal/locality/zonal/ids.go @@ -45,6 +45,20 @@ func NewIDString(zone scw.Zone, id string) string { return fmt.Sprintf("%s/%s", zone, id) } +// NewIDStrings returns a slice of zonal IDs built from a zone and a list of raw resource IDs. +func NewIDStrings(zone scw.Zone, ids []string) []string { + if ids == nil { + return nil + } + + flattenedIDs := make([]string, len(ids)) + for i, id := range ids { + flattenedIDs[i] = NewIDString(zone, id) + } + + return flattenedIDs +} + // NewNestedIDString constructs a unique identifier based on resource zone, inner and outer IDs func NewNestedIDString(zone scw.Zone, outerID, innerID string) string { return fmt.Sprintf("%s/%s/%s", zone, outerID, innerID) diff --git a/internal/provider/provider.go b/internal/provider/provider.go index c13ffcd749..980d585e2b 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -13,6 +13,7 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/meta" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/applesilicon" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/autoscaling" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/az" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/baremetal" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/billing" @@ -126,6 +127,9 @@ func Provider(config *Config) plugin.ProviderFunc { "scaleway_account_project": account.ResourceProject(), "scaleway_account_ssh_key": iam.ResourceSSKKey(), "scaleway_apple_silicon_server": applesilicon.ResourceServer(), + "scaleway_autoscaling_instance_group": autoscaling.ResourceInstanceGroup(), + "scaleway_autoscaling_instance_policy": autoscaling.ResourceInstancePolicy(), + "scaleway_autoscaling_instance_template": autoscaling.ResourceInstanceTemplate(), "scaleway_baremetal_server": baremetal.ResourceServer(), "scaleway_block_snapshot": block.ResourceSnapshot(), "scaleway_block_volume": block.ResourceVolume(), diff --git a/internal/services/applesilicon/types.go b/internal/services/applesilicon/types.go index 24e9eec607..d270bceea4 100644 --- a/internal/services/applesilicon/types.go +++ b/internal/services/applesilicon/types.go @@ -42,7 +42,7 @@ func flattenPrivateNetworks(region scw.Region, privateNetworks []*applesilicon.S for _, privateNetwork := range privateNetworks { flattenedPrivateNetworks = append(flattenedPrivateNetworks, map[string]any{ "id": regional.NewIDString(region, privateNetwork.PrivateNetworkID), - "ipam_ip_ids": regional.NewRegionalIDs(region, privateNetwork.IpamIPIDs), + "ipam_ip_ids": regional.NewIDStrings(region, privateNetwork.IpamIPIDs), "vlan": types.FlattenUint32Ptr(privateNetwork.Vlan), "status": privateNetwork.Status, "created_at": types.FlattenTime(privateNetwork.CreatedAt), diff --git a/internal/services/autoscaling/helpers_autoscaling.go b/internal/services/autoscaling/helpers_autoscaling.go new file mode 100644 index 0000000000..f0eae9b544 --- /dev/null +++ b/internal/services/autoscaling/helpers_autoscaling.go @@ -0,0 +1,33 @@ +package autoscaling + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/meta" +) + +// NewAPIWithZone returns a new autoscaling API and the zone for a Create request +func NewAPIWithZone(d *schema.ResourceData, m any) (*autoscaling.API, scw.Zone, error) { + autoscalingAPI := autoscaling.NewAPI(meta.ExtractScwClient(m)) + + zone, err := meta.ExtractZone(d, m) + if err != nil { + return nil, "", err + } + + return autoscalingAPI, zone, nil +} + +// NewAPIWithZoneAndID returns a new autoscaling API with zone and ID extracted from the state +func NewAPIWithZoneAndID(m any, zonalID string) (*autoscaling.API, scw.Zone, string, error) { + autoscalingAPI := autoscaling.NewAPI(meta.ExtractScwClient(m)) + + zone, ID, err := zonal.ParseID(zonalID) + if err != nil { + return nil, "", "", err + } + + return autoscalingAPI, zone, ID, nil +} diff --git a/internal/services/autoscaling/instance_group.go b/internal/services/autoscaling/instance_group.go new file mode 100644 index 0000000000..c3a2f04a88 --- /dev/null +++ b/internal/services/autoscaling/instance_group.go @@ -0,0 +1,265 @@ +package autoscaling + +import ( + "context" + _ "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + instanceSDK "github.com/scaleway/scaleway-sdk-go/api/instance/v1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/dsf" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/meta" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/instance" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" +) + +func ResourceInstanceGroup() *schema.Resource { + return &schema.Resource{ + CreateContext: ResourceInstanceGroupCreate, + ReadContext: ResourceInstanceGroupRead, + UpdateContext: ResourceInstanceGroupUpdate, + DeleteContext: ResourceInstanceGroupDelete, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + SchemaVersion: 0, + Schema: map[string]*schema.Schema{ + "template_id": { + Type: schema.TypeString, + Required: true, + Description: "ID of the Instance template to attach to the Instance group", + DiffSuppressFunc: dsf.Locality, + }, + "name": { + Type: schema.TypeString, + Computed: true, + Optional: true, + Description: "The Instance group name", + }, + "tags": { + Type: schema.TypeList, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Description: "The tags associated with the Instance group", + }, + "capacity": { + Type: schema.TypeList, + Optional: true, + Description: "The specification of the minimum and maximum replicas for the Instance group, and the cooldown interval between two scaling events", + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "max_replicas": { + Type: schema.TypeInt, + Optional: true, + Description: "The maximum count of Instances for the Instance group", + }, + "min_replicas": { + Type: schema.TypeInt, + Optional: true, + Description: "The minimum count of Instances for the Instance group", + }, + "cooldown_delay": { + Type: schema.TypeInt, + Optional: true, + Description: "Time (in seconds) after a scaling action during which requests to carry out a new scaling action will be denied", + }, + }, + }, + }, + "load_balancer": { + Type: schema.TypeList, + Optional: true, + Description: "The specification of the Load Balancer to link to the Instance group", + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "id": { + Type: schema.TypeString, + Optional: true, + Description: "The ID of the load balancer", + DiffSuppressFunc: dsf.Locality, + }, + "backend_ids": { + Type: schema.TypeList, + Elem: &schema.Schema{ + Type: schema.TypeString, + DiffSuppressFunc: dsf.Locality, + }, + Optional: true, + Description: "The Load Balancer backend IDs", + }, + "private_network_id": { + Type: schema.TypeString, + Optional: true, + Description: "The ID of the Private Network attached to the Load Balancer", + DiffSuppressFunc: dsf.Locality, + }, + }, + }, + }, + "delete_servers_on_destroy": { + Type: schema.TypeBool, + Optional: true, + Default: false, + Description: "Whether to delete all instances in this group when the group is destroyed. Set to `true` to tear them down, `false` (the default) leaves them running", + }, + "created_at": { + Type: schema.TypeString, + Computed: true, + Description: "The date and time of the creation of the Instance group", + }, + "updated_at": { + Type: schema.TypeString, + Computed: true, + Description: "The date and time of the last update of the Instance group", + }, + "zone": zonal.Schema(), + "project_id": account.ProjectIDSchema(), + }, + } +} + +func ResourceInstanceGroupCreate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, err := NewAPIWithZone(d, m) + if err != nil { + return diag.FromErr(err) + } + + req := &autoscaling.CreateInstanceGroupRequest{ + Zone: zone, + ProjectID: d.Get("project_id").(string), + Name: types.ExpandOrGenerateString(d.Get("name").(string), "instance-group"), + Tags: types.ExpandStrings(d.Get("tags")), + TemplateID: locality.ExpandID(d.Get("template_id").(string)), + Capacity: expandInstanceCapacity(d.Get("capacity")), + Loadbalancer: expandInstanceLoadBalancer(d.Get("load_balancer")), + } + + group, err := api.CreateInstanceGroup(req, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + d.SetId(zonal.NewIDString(zone, group.ID)) + + return ResourceInstanceGroupRead(ctx, d, m) +} + +func ResourceInstanceGroupRead(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + group, err := api.GetInstanceGroup(&autoscaling.GetInstanceGroupRequest{ + Zone: zone, + InstanceGroupID: ID, + }, scw.WithContext(ctx)) + if err != nil { + if httperrors.Is404(err) { + d.SetId("") + + return nil + } + + return diag.FromErr(err) + } + + _ = d.Set("name", group.Name) + _ = d.Set("template_id", zonal.NewIDString(zone, group.InstanceTemplateID)) + _ = d.Set("tags", group.Tags) + _ = d.Set("capacity", flattenInstanceCapacity(group.Capacity)) + _ = d.Set("load_balancer", flattenInstanceLoadBalancer(group.Loadbalancer, zone)) + _ = d.Set("created_at", types.FlattenTime(group.CreatedAt)) + _ = d.Set("updated_at", types.FlattenTime(group.UpdatedAt)) + _ = d.Set("zone", zone) + _ = d.Set("project_id", group.ProjectID) + + return nil +} + +func ResourceInstanceGroupUpdate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + updateRequest := &autoscaling.UpdateInstanceGroupRequest{ + Zone: zone, + InstanceGroupID: ID, + } + + hasChanged := false + + if d.HasChange("name") { + updateRequest.Name = types.ExpandUpdatedStringPtr(d.Get("name")) + hasChanged = true + } + + if d.HasChange("tags") { + updateRequest.Tags = types.ExpandUpdatedStringsPtr(d.Get("tags")) + hasChanged = true + } + + if d.HasChange("capacity") { + updateRequest.Capacity = expandUpdateInstanceCapacity(d.Get("capacity")) + hasChanged = true + } + + if d.HasChange("load_balancer") { + updateRequest.Loadbalancer = expandUpdateInstanceLoadBalancer(d.Get("load_balancer")) + hasChanged = true + } + + if hasChanged { + _, err = api.UpdateInstanceGroup(updateRequest, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + } + + return ResourceInstanceGroupRead(ctx, d, m) +} + +func ResourceInstanceGroupDelete(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + group, err := api.GetInstanceGroup(&autoscaling.GetInstanceGroupRequest{ + Zone: zone, + InstanceGroupID: ID, + }, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + err = api.DeleteInstanceGroup(&autoscaling.DeleteInstanceGroupRequest{ + Zone: zone, + InstanceGroupID: ID, + }, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + if d.Get("delete_servers_on_destroy").(bool) { + instanceAPI := instanceSDK.NewAPI(meta.ExtractScwClient(m)) + + err = instance.DeleteASGServers(ctx, instanceAPI, zone, group.ID, d.Timeout(schema.TimeoutDelete)) + if err != nil { + return diag.FromErr(err) + } + } + + return nil +} diff --git a/internal/services/autoscaling/instance_group_test.go b/internal/services/autoscaling/instance_group_test.go new file mode 100644 index 0000000000..5c54d6c4b4 --- /dev/null +++ b/internal/services/autoscaling/instance_group_test.go @@ -0,0 +1,169 @@ +package autoscaling_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + autoscalingSDK "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/autoscaling" +) + +func TestAccInstanceGroup_Basic(t *testing.T) { + tt := acctest.NewTestTools(t) + defer tt.Cleanup() + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ProviderFactories: tt.ProviderFactories, + CheckDestroy: testAccCheckInstanceGroupDestroy(tt), + Steps: []resource.TestStep{ + { + Config: ` + resource "scaleway_vpc" "main" { + name = "TestAccASGInstanceGroup" + } + + resource "scaleway_vpc_private_network" "main" { + name = "TestAccASGInstanceGroup" + vpc_id = scaleway_vpc.main.id + } + + resource "scaleway_block_volume" "main" { + iops = 5000 + size_in_gb = 10 + } + + resource "scaleway_block_snapshot" "main" { + name = "test-ds-block-snapshot-basic" + volume_id = scaleway_block_volume.main.id + } + + resource "scaleway_lb_ip" "main" {} + resource "scaleway_lb" "main" { + ip_id = scaleway_lb_ip.main.id + name = "TestAccASGInstanceGroup" + type = "lb-s" + private_network { + private_network_id = scaleway_vpc_private_network.main.id + } + } + + resource "scaleway_lb_backend" "main" { + lb_id = scaleway_lb.main.id + forward_protocol = "tcp" + forward_port = 80 + proxy_protocol = "none" + } + + resource "scaleway_autoscaling_instance_template" "main" { + name = "TestAccASGInstanceGroup" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "instance-template"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + private_network_ids = [scaleway_vpc_private_network.main.id] + } + + resource "scaleway_autoscaling_instance_group" "main" { + name = "TestAccASGInstanceGroup" + template_id = scaleway_autoscaling_instance_template.main.id + tags = ["terraform-test", "instance-group"] + capacity { + max_replicas = 5 + min_replicas = 1 + cooldown_delay = "300" + } + load_balancer { + id = scaleway_lb.main.id + backend_ids = [scaleway_lb_backend.main.id] + private_network_id = scaleway_vpc_private_network.main.id + } + delete_servers_on_destroy = true + } + `, + Check: resource.ComposeTestCheckFunc( + testAccCheckInstanceGroupExists(tt, "scaleway_autoscaling_instance_group.main"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "name", "TestAccASGInstanceGroup"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_group.main", "template_id", "scaleway_autoscaling_instance_template.main", "id"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_group.main", "load_balancer.0.id", "scaleway_lb.main", "id"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_group.main", "load_balancer.0.backend_ids.0", "scaleway_lb_backend.main", "id"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_group.main", "load_balancer.0.private_network_id", "scaleway_vpc_private_network.main", "id"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "tags.#", "2"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "tags.0", "terraform-test"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "tags.1", "instance-group"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "capacity.0.max_replicas", "5"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "capacity.0.min_replicas", "1"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_group.main", "capacity.0.cooldown_delay", "300"), + resource.TestCheckResourceAttrSet("scaleway_autoscaling_instance_group.main", "created_at"), + resource.TestCheckResourceAttrSet("scaleway_autoscaling_instance_group.main", "updated_at"), + ), + }, + }, + }) +} + +func testAccCheckInstanceGroupExists(tt *acctest.TestTools, n string) resource.TestCheckFunc { + return func(state *terraform.State) error { + rs, ok := state.RootModule().Resources[n] + if !ok { + return fmt.Errorf("resource not found: %s", n) + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + _, err = api.GetInstanceGroup(&autoscalingSDK.GetInstanceGroupRequest{ + InstanceGroupID: id, + Zone: zone, + }) + if err != nil { + return err + } + + return nil + } +} + +func testAccCheckInstanceGroupDestroy(tt *acctest.TestTools) resource.TestCheckFunc { + return func(state *terraform.State) error { + for _, rs := range state.RootModule().Resources { + if rs.Type != "scaleway_autoscaling_instance_group" { + continue + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + err = api.DeleteInstanceGroup(&autoscalingSDK.DeleteInstanceGroupRequest{ + InstanceGroupID: id, + Zone: zone, + }) + + if err == nil { + return fmt.Errorf("autoscaling instance group (%s) still exists", rs.Primary.ID) + } + + if !httperrors.Is404(err) { + return err + } + } + + return nil + } +} diff --git a/internal/services/autoscaling/instance_policy.go b/internal/services/autoscaling/instance_policy.go new file mode 100644 index 0000000000..8f27142b59 --- /dev/null +++ b/internal/services/autoscaling/instance_policy.go @@ -0,0 +1,238 @@ +package autoscaling + +import ( + "context" + _ "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/dsf" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" +) + +func ResourceInstancePolicy() *schema.Resource { + return &schema.Resource{ + CreateContext: ResourceInstancePolicyCreate, + ReadContext: ResourceInstancePolicyRead, + UpdateContext: ResourceInstancePolicyUpdate, + DeleteContext: ResourceInstancePolicyDelete, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + SchemaVersion: 0, + Schema: map[string]*schema.Schema{ + "instance_group_id": { + Type: schema.TypeString, + Required: true, + Description: "ID of the instance group related to this policy", + DiffSuppressFunc: dsf.Locality, + }, + "name": { + Type: schema.TypeString, + Computed: true, + Optional: true, + Description: "The policy name", + }, + "action": { + Type: schema.TypeString, + Required: true, + Description: "Action to execute when the metric-based condition is met", + ValidateDiagFunc: verify.ValidateEnum[autoscaling.InstancePolicyAction](), + }, + "type": { + Type: schema.TypeString, + Required: true, + Description: "How to use the number defined in `value` when determining by how many Instances to scale up/down", + ValidateDiagFunc: verify.ValidateEnum[autoscaling.InstancePolicyType](), + }, + "value": { + Type: schema.TypeInt, + Required: true, + Description: "Value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, " + + "this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by", + }, + "priority": { + Type: schema.TypeInt, + Required: true, + Description: "Priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority", + }, + "metric": { + Type: schema.TypeList, + Optional: true, + Description: "Cockpit metric to use when determining whether to trigger a scale up/down action", + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + Description: "Name or description of the metric policy", + }, + "operator": { + Type: schema.TypeString, + Required: true, + Description: "Operator used when comparing the threshold value of the chosen `metric` to the actual sampled and aggregated value", + }, + "aggregate": { + Type: schema.TypeString, + Required: true, + Description: "How the values sampled for the `metric` should be aggregated", + }, + "managed_metric": { + Type: schema.TypeString, + Optional: true, + Description: "Managed metric to use for this policy. These are available by default in Cockpit without any configuration or `node_exporter`. " + + "The chosen metric forms the basis of the condition that will be checked to determine whether a scaling action should be triggered", + }, + "cockpit_metric_name": { + Type: schema.TypeString, + Optional: true, + Description: "Custom metric to use for this policy. This must be stored in Scaleway Cockpit. " + + "The metric forms the basis of the condition that will be checked to determine whether a scaling action should be triggered", + }, + "sampling_range_min": { + Type: schema.TypeInt, + Optional: true, + Description: "Interval of time, in minutes, during which metric is sampled", + }, + "threshold": { + Type: schema.TypeInt, + Optional: true, + Description: "Threshold value to measure the aggregated sampled `metric` value against. Combined with the `operator` field, determines whether a scaling action should be triggered", + }, + }, + }, + }, + "zone": zonal.Schema(), + "project_id": account.ProjectIDSchema(), + }, + } +} + +func ResourceInstancePolicyCreate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, err := NewAPIWithZone(d, m) + if err != nil { + return diag.FromErr(err) + } + + req := &autoscaling.CreateInstancePolicyRequest{ + Zone: zone, + InstanceGroupID: locality.ExpandID(d.Get("instance_group_id").(string)), + Name: types.ExpandOrGenerateString(d.Get("name").(string), "instance-policy"), + Action: autoscaling.InstancePolicyAction(d.Get("action").(string)), + Type: autoscaling.InstancePolicyType(d.Get("type").(string)), + Value: uint32(d.Get("value").(int)), + Priority: uint32(d.Get("priority").(int)), + Metric: expandPolicyMetric(d.Get("metric").([]any)), + } + + policy, err := api.CreateInstancePolicy(req, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + d.SetId(zonal.NewIDString(zone, policy.ID)) + + return ResourceInstancePolicyRead(ctx, d, m) +} + +func ResourceInstancePolicyRead(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + policy, err := api.GetInstancePolicy(&autoscaling.GetInstancePolicyRequest{ + Zone: zone, + PolicyID: ID, + }, scw.WithContext(ctx)) + if err != nil { + if httperrors.Is404(err) { + d.SetId("") + + return nil + } + + return diag.FromErr(err) + } + + _ = d.Set("name", policy.Name) + _ = d.Set("action", policy.Action.String()) + _ = d.Set("type", policy.Type.String()) + _ = d.Set("value", int(policy.Value)) + _ = d.Set("priority", int(policy.Priority)) + _ = d.Set("metric", flattenPolicyMetric(policy.Metric)) + _ = d.Set("instance_group_id", zonal.NewIDString(zone, policy.InstanceGroupID)) + _ = d.Set("zone", zone) + + return nil +} + +func ResourceInstancePolicyUpdate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + updateRequest := &autoscaling.UpdateInstancePolicyRequest{ + Zone: zone, + PolicyID: ID, + Action: autoscaling.InstancePolicyAction(d.Get("action").(string)), + Type: autoscaling.InstancePolicyType(d.Get("type").(string)), + } + + hasChanged := false + + if d.HasChange("name") { + updateRequest.Name = types.ExpandUpdatedStringPtr(d.Get("name")) + hasChanged = true + } + + if d.HasChange("metric") { + updateRequest.Metric = expandUpdatePolicyMetric(d.Get("metric")) + hasChanged = true + } + + if d.HasChange("value") { + updateRequest.Value = types.ExpandUint32Ptr(d.Get("value")) + hasChanged = true + } + + if d.HasChange("priority") { + updateRequest.Priority = types.ExpandUint32Ptr(d.Get("priority")) + hasChanged = true + } + + if hasChanged { + _, err = api.UpdateInstancePolicy(updateRequest, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + } + + return ResourceInstancePolicyRead(ctx, d, m) +} + +func ResourceInstancePolicyDelete(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, id, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + err = api.DeleteInstancePolicy(&autoscaling.DeleteInstancePolicyRequest{ + Zone: zone, + PolicyID: id, + }, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + return nil +} diff --git a/internal/services/autoscaling/instance_policy_test.go b/internal/services/autoscaling/instance_policy_test.go new file mode 100644 index 0000000000..8ee2291ca9 --- /dev/null +++ b/internal/services/autoscaling/instance_policy_test.go @@ -0,0 +1,185 @@ +package autoscaling_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + autoscalingSDK "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/autoscaling" +) + +func TestAccInstancePolicy_Basic(t *testing.T) { + tt := acctest.NewTestTools(t) + defer tt.Cleanup() + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ProviderFactories: tt.ProviderFactories, + CheckDestroy: testAccCheckInstancePolicyDestroy(tt), + Steps: []resource.TestStep{ + { + Config: ` + resource "scaleway_vpc" "main" { + name = "TestAccASGInstancePolicy" + } + + resource "scaleway_vpc_private_network" "main" { + name = "TestAccASGInstancePolicy" + vpc_id = scaleway_vpc.main.id + } + + resource "scaleway_block_volume" "main" { + iops = 5000 + size_in_gb = 10 + } + + resource "scaleway_block_snapshot" "main" { + name = "test-ds-block-snapshot-basic" + volume_id = scaleway_block_volume.main.id + } + + resource "scaleway_lb_ip" "main" {} + resource "scaleway_lb" "main" { + ip_id = scaleway_lb_ip.main.id + name = "TestAccASGInstanceTemplatePrivateNetwork" + type = "lb-s" + private_network { + private_network_id = scaleway_vpc_private_network.main.id + } + } + + resource "scaleway_lb_backend" "main" { + lb_id = scaleway_lb.main.id + forward_protocol = "tcp" + forward_port = 80 + proxy_protocol = "none" + } + + resource "scaleway_autoscaling_instance_template" "main" { + name = "TestAccASGInstancePolicy" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "instance-template"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + private_network_ids = [scaleway_vpc_private_network.main.id] + } + + resource "scaleway_autoscaling_instance_group" "main" { + name = "TestAccASGInstancePolicy" + template_id = scaleway_autoscaling_instance_template.main.id + tags = ["terraform-test", "instance-group"] + capacity { + max_replicas = 5 + min_replicas = 1 + cooldown_delay = "300" + } + load_balancer { + id = scaleway_lb.main.id + backend_ids = [scaleway_lb_backend.main.id] + private_network_id = scaleway_vpc_private_network.main.id + } + delete_servers_on_destroy = true + } + + resource "scaleway_autoscaling_instance_policy" "main" { + instance_group_id = scaleway_autoscaling_instance_group.main.id + name = "TestAccASGInstancePolicy" + action = "scale_down" + type = "flat_count" + value = 1 + priority = 2 + metric { + name = "cpu scale down" + managed_metric = "managed_metric_instance_cpu" + operator = "operator_less_than" + aggregate = "aggregate_average" + sampling_range_min = 5 + threshold = 40 + } + } + `, + Check: resource.ComposeTestCheckFunc( + testAccCheckInstancePolicyExists(tt, "scaleway_autoscaling_instance_policy.main"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_policy.main", "instance_group_id", "scaleway_autoscaling_instance_group.main", "id"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "name", "TestAccASGInstancePolicy"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "action", "scale_down"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "type", "flat_count"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "value", "1"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "priority", "2"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.name", "cpu scale down"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.managed_metric", "managed_metric_instance_cpu"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.operator", "operator_less_than"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.aggregate", "aggregate_average"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.sampling_range_min", "5"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_policy.main", "metric.0.threshold", "40"), + ), + }, + }, + }) +} + +func testAccCheckInstancePolicyExists(tt *acctest.TestTools, n string) resource.TestCheckFunc { + return func(state *terraform.State) error { + rs, ok := state.RootModule().Resources[n] + if !ok { + return fmt.Errorf("resource not found: %s", n) + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + _, err = api.GetInstancePolicy(&autoscalingSDK.GetInstancePolicyRequest{ + PolicyID: id, + Zone: zone, + }) + if err != nil { + return err + } + + return nil + } +} + +func testAccCheckInstancePolicyDestroy(tt *acctest.TestTools) resource.TestCheckFunc { + return func(state *terraform.State) error { + for _, rs := range state.RootModule().Resources { + if rs.Type != "scaleway_autoscaling_instance_policy" { + continue + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + err = api.DeleteInstancePolicy(&autoscalingSDK.DeleteInstancePolicyRequest{ + PolicyID: id, + Zone: zone, + }) + + if err == nil { + return fmt.Errorf("autoscaling instance policy (%s) still exists", rs.Primary.ID) + } + + if !httperrors.Is404(err) { + return err + } + } + + return nil + } +} diff --git a/internal/services/autoscaling/instance_template.go b/internal/services/autoscaling/instance_template.go new file mode 100644 index 0000000000..eac8648d19 --- /dev/null +++ b/internal/services/autoscaling/instance_template.go @@ -0,0 +1,378 @@ +package autoscaling + +import ( + "context" + _ "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/dsf" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" +) + +func ResourceInstanceTemplate() *schema.Resource { + return &schema.Resource{ + CreateContext: ResourceInstanceTemplateCreate, + ReadContext: ResourceInstanceTemplateRead, + UpdateContext: ResourceInstanceTemplateUpdate, + DeleteContext: ResourceInstanceTemplateDelete, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + SchemaVersion: 0, + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Computed: true, + Optional: true, + Description: "The Instance template name", + }, + "commercial_type": { + Type: schema.TypeString, + Required: true, + Description: "Name of Instance commercial type", + }, + "image_id": { + Type: schema.TypeString, + Optional: true, + Description: "Instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template", + DiffSuppressFunc: dsf.Locality, + }, + "security_group_id": { + Type: schema.TypeString, + Optional: true, + Description: "Instance security group ID", + DiffSuppressFunc: dsf.Locality, + }, + "placement_group_id": { + Type: schema.TypeString, + Optional: true, + Description: "Instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone", + DiffSuppressFunc: dsf.Locality, + }, + "volumes": { + Type: schema.TypeList, + Optional: true, + Description: "The IPv4 subnet associated with the private network", + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + Description: "The name of the volume", + }, + "perf_iops": { + Type: schema.TypeInt, + Optional: true, + Description: "The maximum IO/s expected, according to the different options available in stock (`5000 | 15000`)", + }, + "from_empty": { + Type: schema.TypeList, + Optional: true, + Description: "Volume instance template from empty", + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "size": { + Type: schema.TypeInt, + Required: true, + Description: "Size in GB of the new empty volume", + }, + }, + }, + }, + "from_snapshot": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Description: "Volume instance template from snapshot", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "snapshot_id": { + Type: schema.TypeString, + Required: true, + Description: "ID of the snapshot to clone", + }, + "size": { + Type: schema.TypeInt, + Optional: true, + Description: "Override size (in GB) of the cloned volume", + }, + }, + }, + }, + "tags": { + Type: schema.TypeList, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Description: "List of tags assigned to the volume", + }, + "boot": { + Type: schema.TypeBool, + Optional: true, + Description: "Force the Instance to boot on this volume", + }, + "volume_type": { + Type: schema.TypeString, + Required: true, + Description: "Type of the volume", + ValidateDiagFunc: verify.ValidateEnum[autoscaling.VolumeInstanceTemplateVolumeType](), + }, + }, + }, + }, + "tags": { + Type: schema.TypeList, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Description: "The tags associated with the Instance template", + }, + "private_network_ids": { + Type: schema.TypeList, + Elem: &schema.Schema{ + Type: schema.TypeString, + DiffSuppressFunc: dsf.Locality, + }, + Optional: true, + Description: "Private Network IDs to attach to the new Instance", + }, + "public_ips_v4_count": { + Type: schema.TypeInt, + Optional: true, + Description: "Number of flexible IPv4 addresses to attach to the new Instance", + }, + "public_ips_v6_count": { + Type: schema.TypeInt, + Optional: true, + Description: "Number of flexible IPv6 addresses to attach to the new Instance", + }, + "cloud_init": { + Type: schema.TypeString, + Optional: true, + Description: "Cloud-config to apply to each instance (will be passed in Base64 format)", + }, + "status": { + Type: schema.TypeString, + Description: "The Instance template status", + Computed: true, + }, + "created_at": { + Type: schema.TypeString, + Computed: true, + Description: "The date and time of the creation of the Instance template", + }, + "updated_at": { + Type: schema.TypeString, + Computed: true, + Description: "The date and time of the last update of the Instance template", + }, + "zone": zonal.Schema(), + "project_id": account.ProjectIDSchema(), + }, + } +} + +func ResourceInstanceTemplateCreate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, err := NewAPIWithZone(d, m) + if err != nil { + return diag.FromErr(err) + } + + req := &autoscaling.CreateInstanceTemplateRequest{ + Zone: zone, + CommercialType: d.Get("commercial_type").(string), + ImageID: types.ExpandStringPtr(locality.ExpandID(d.Get("image_id"))), + Tags: types.ExpandStrings(d.Get("tags")), + SecurityGroupID: types.ExpandStringPtr(locality.ExpandID(d.Get("security_group_id"))), + PlacementGroupID: types.ExpandStringPtr(locality.ExpandID(d.Get("placement_group_id"))), + PublicIPsV4Count: types.ExpandUint32Ptr(d.Get("public_ips_v4_count")), + PublicIPsV6Count: types.ExpandUint32Ptr(d.Get("public_ips_v6_count")), + ProjectID: d.Get("project_id").(string), + Name: types.ExpandOrGenerateString(d.Get("name").(string), "template"), + PrivateNetworkIDs: locality.ExpandIDs(d.Get("private_network_ids")), + } + + if ci, ok := d.GetOk("cloud_init"); ok { + rawCI := []byte(ci.(string)) + req.CloudInit = &rawCI + } + + volumesList := expandVolumes(d.Get("volumes").([]any)) + + req.Volumes = volumesList + + template, err := api.CreateInstanceTemplate(req, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + d.SetId(zonal.NewIDString(zone, template.ID)) + + return ResourceInstanceTemplateRead(ctx, d, m) +} + +func ResourceInstanceTemplateRead(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + template, err := api.GetInstanceTemplate(&autoscaling.GetInstanceTemplateRequest{ + Zone: zone, + TemplateID: ID, + }, scw.WithContext(ctx)) + if err != nil { + if httperrors.Is404(err) { + d.SetId("") + + return nil + } + + return diag.FromErr(err) + } + + pnRegion, err := zone.Region() + if err != nil { + return diag.FromErr(err) + } + + _ = d.Set("name", template.Name) + _ = d.Set("commercial_type", template.CommercialType) + _ = d.Set("tags", template.Tags) + _ = d.Set("public_ips_v4_count", types.FlattenUint32Ptr(template.PublicIPsV4Count)) + _ = d.Set("public_ips_v6_count", types.FlattenUint32Ptr(template.PublicIPsV6Count)) + _ = d.Set("private_network_ids", regional.NewIDStrings(pnRegion, template.PrivateNetworkIDs)) + _ = d.Set("status", template.Status.String()) + _ = d.Set("created_at", types.FlattenTime(template.CreatedAt)) + _ = d.Set("updated_at", types.FlattenTime(template.UpdatedAt)) + _ = d.Set("zone", zone) + _ = d.Set("project_id", template.ProjectID) + _ = d.Set("volumes", flattenVolumes(zone, template.Volumes)) + + if template.SecurityGroupID != nil { + _ = d.Set("security_group_id", zonal.NewIDString(zone, types.FlattenStringPtr(template.SecurityGroupID).(string))) + } + + if template.PlacementGroupID != nil { + _ = d.Set("placement_group_id", zonal.NewIDString(zone, types.FlattenStringPtr(template.PlacementGroupID).(string))) + } + + if template.ImageID != nil { + _ = d.Set("image_id", zonal.NewIDString(zone, types.FlattenStringPtr(template.ImageID).(string))) + } + + if template.CloudInit != nil { + _ = d.Set("cloud_init", string(*template.CloudInit)) + } + + return nil +} + +func ResourceInstanceTemplateUpdate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + updateRequest := &autoscaling.UpdateInstanceTemplateRequest{ + Zone: zone, + TemplateID: ID, + } + + hasChanged := false + + if d.HasChange("name") { + updateRequest.Name = types.ExpandUpdatedStringPtr(d.Get("name")) + hasChanged = true + } + + if d.HasChange("commercial_type") { + updateRequest.CommercialType = types.ExpandUpdatedStringPtr(d.Get("commercial_type")) + hasChanged = true + } + + if d.HasChange("image_id") { + updateRequest.ImageID = types.ExpandUpdatedStringPtr(locality.ExpandID(d.Get("image_id"))) + hasChanged = true + } + + if d.HasChange("security_group_id") { + updateRequest.SecurityGroupID = types.ExpandUpdatedStringPtr(locality.ExpandID(d.Get("security_group_id"))) + hasChanged = true + } + + if d.HasChange("placement_group_id") { + updateRequest.PlacementGroupID = types.ExpandUpdatedStringPtr(locality.ExpandID(d.Get("placement_group_id"))) + hasChanged = true + } + + if d.HasChange("public_ips_v4_count") { + updateRequest.PublicIPsV4Count = types.ExpandUint32Ptr(d.Get("public_ips_v4_count")) + hasChanged = true + } + + if d.HasChange("public_ips_v6_count") { + updateRequest.PublicIPsV6Count = types.ExpandUint32Ptr(d.Get("public_ips_v6_count")) + hasChanged = true + } + + if d.HasChange("tags") { + updateRequest.Tags = types.ExpandUpdatedStringsPtr(d.Get("tags")) + hasChanged = true + } + + if d.HasChange("private_network_ids") { + updateRequest.PrivateNetworkIDs = types.ExpandUpdatedStringsPtr(locality.ExpandIDs(d.Get("private_network_ids"))) + hasChanged = true + } + + if d.HasChange("cloud_init") { + rawCI := []byte(d.Get("cloud_init").(string)) + updateRequest.CloudInit = &rawCI + hasChanged = true + } + + if d.HasChange("volumes") { + updateRequest.Volumes = expandVolumes(d.Get("volumes").([]any)) + hasChanged = true + } + + if hasChanged { + _, err = api.UpdateInstanceTemplate(updateRequest, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + } + + return ResourceInstanceTemplateRead(ctx, d, m) +} + +func ResourceInstanceTemplateDelete(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics { + api, zone, ID, err := NewAPIWithZoneAndID(m, d.Id()) + if err != nil { + return diag.FromErr(err) + } + + err = api.DeleteInstanceTemplate(&autoscaling.DeleteInstanceTemplateRequest{ + Zone: zone, + TemplateID: ID, + }, scw.WithContext(ctx)) + if err != nil { + return diag.FromErr(err) + } + + return nil +} diff --git a/internal/services/autoscaling/instance_template_test.go b/internal/services/autoscaling/instance_template_test.go new file mode 100644 index 0000000000..a13a3e454e --- /dev/null +++ b/internal/services/autoscaling/instance_template_test.go @@ -0,0 +1,181 @@ +package autoscaling_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + autoscalingSDK "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/autoscaling" +) + +func TestAccInstanceTemplate_Basic(t *testing.T) { + tt := acctest.NewTestTools(t) + defer tt.Cleanup() + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ProviderFactories: tt.ProviderFactories, + CheckDestroy: testAccCheckInstanceTemplateDestroy(tt), + Steps: []resource.TestStep{ + { + Config: ` + resource "scaleway_block_volume" "main" { + iops = 5000 + size_in_gb = 10 + } + + resource "scaleway_block_snapshot" "main" { + name = "test-ds-block-snapshot-basic" + volume_id = scaleway_block_volume.main.id + } + + resource "scaleway_autoscaling_instance_template" "main" { + name = "test-autoscaling-instance-template-basic" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "instance-template"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + } + `, + Check: resource.ComposeTestCheckFunc( + testAccCheckInstanceTemplateExists(tt, "scaleway_autoscaling_instance_template.main"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "name", "test-autoscaling-instance-template-basic"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "public_ips_v4_count", "1"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "volumes.0.name", "as-volume"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "volumes.0.volume_type", "sbs"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "volumes.0.boot", "true"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "volumes.0.perf_iops", "5000"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_template.main", "volumes.0.from_snapshot.0.snapshot_id", "scaleway_block_snapshot.main", "id"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "tags.#", "2"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "tags.0", "terraform-test"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "tags.1", "instance-template"), + resource.TestCheckResourceAttrSet("scaleway_autoscaling_instance_template.main", "created_at"), + resource.TestCheckResourceAttrSet("scaleway_autoscaling_instance_template.main", "updated_at"), + ), + }, + }, + }) +} + +func TestAccInstanceTemplate_PrivateNetwork(t *testing.T) { + tt := acctest.NewTestTools(t) + defer tt.Cleanup() + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ProviderFactories: tt.ProviderFactories, + CheckDestroy: testAccCheckInstanceTemplateDestroy(tt), + Steps: []resource.TestStep{ + { + Config: ` + resource "scaleway_vpc" "main" { + name = "TestAccASGInstanceTemplatePrivateNetwork" + } + + resource "scaleway_vpc_private_network" "main" { + name = "TestAccASGInstanceTemplatePrivateNetwork" + vpc_id = scaleway_vpc.main.id + } + + resource "scaleway_block_volume" "main" { + iops = 5000 + size_in_gb = 10 + } + + resource "scaleway_block_snapshot" "main" { + name = "TestAccASGInstanceTemplatePrivateNetwork" + volume_id = scaleway_block_volume.main.id + } + + resource "scaleway_autoscaling_instance_template" "main" { + name = "TestAccASGInstanceTemplatePrivateNetwork" + commercial_type = "PLAY2-MICRO" + tags = ["terraform-test", "basic"] + volumes { + name = "as-volume" + volume_type = "sbs" + boot = true + from_snapshot { + snapshot_id = scaleway_block_snapshot.main.id + } + perf_iops = 5000 + } + public_ips_v4_count = 1 + private_network_ids = [scaleway_vpc_private_network.main.id] + } + `, + Check: resource.ComposeTestCheckFunc( + testAccCheckInstanceTemplateExists(tt, "scaleway_autoscaling_instance_template.main"), + resource.TestCheckResourceAttr("scaleway_autoscaling_instance_template.main", "private_network_ids.#", "1"), + resource.TestCheckResourceAttrPair("scaleway_autoscaling_instance_template.main", "private_network_ids.0", "scaleway_vpc_private_network.main", "id"), + ), + }, + }, + }) +} + +func testAccCheckInstanceTemplateExists(tt *acctest.TestTools, n string) resource.TestCheckFunc { + return func(state *terraform.State) error { + rs, ok := state.RootModule().Resources[n] + if !ok { + return fmt.Errorf("resource not found: %s", n) + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + _, err = api.GetInstanceTemplate(&autoscalingSDK.GetInstanceTemplateRequest{ + TemplateID: id, + Zone: zone, + }) + if err != nil { + return err + } + + return nil + } +} + +func testAccCheckInstanceTemplateDestroy(tt *acctest.TestTools) resource.TestCheckFunc { + return func(state *terraform.State) error { + for _, rs := range state.RootModule().Resources { + if rs.Type != "scaleway_autoscaling_instance_template" { + continue + } + + api, zone, id, err := autoscaling.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + err = api.DeleteInstanceTemplate(&autoscalingSDK.DeleteInstanceTemplateRequest{ + TemplateID: id, + Zone: zone, + }) + + if err == nil { + return fmt.Errorf("autoscaling instance template (%s) still exists", rs.Primary.ID) + } + + if !httperrors.Is404(err) { + return err + } + } + + return nil + } +} diff --git a/internal/services/autoscaling/sweep_test.go b/internal/services/autoscaling/sweep_test.go new file mode 100644 index 0000000000..bc47ce74d8 --- /dev/null +++ b/internal/services/autoscaling/sweep_test.go @@ -0,0 +1,16 @@ +package autoscaling_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + autoscalingtestfuncs "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/autoscaling/testfuncs" +) + +func init() { + autoscalingtestfuncs.AddTestSweepers() +} + +func TestMain(m *testing.M) { + resource.TestMain(m) +} diff --git a/internal/services/autoscaling/testdata/instance-group-basic.cassette.yaml b/internal/services/autoscaling/testdata/instance-group-basic.cassette.yaml new file mode 100644 index 0000000000..384466ccb2 --- /dev/null +++ b/internal/services/autoscaling/testdata/instance-group-basic.cassette.yaml @@ -0,0 +1,3586 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 119 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"enable_routing":false}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.765689Z","custom_routes_propagation_enabled":false,"id":"44b91620-a1f9-495e-9c57-38edee07f042","is_default":false,"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:17:59.765689Z"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c5b1b975-0874-49aa-a698-2501c5e894d4 + status: 200 OK + code: 200 + duration: 189.677417ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","is_ipv6":false,"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 294 + uncompressed: false + body: '{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "294" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6eba07d1-7e65-49ac-b673-5ad122ef007b + status: 200 OK + code: 200 + duration: 198.759834ms + - 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/44b91620-a1f9-495e-9c57-38edee07f042 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.765689Z","custom_routes_propagation_enabled":false,"id":"44b91620-a1f9-495e-9c57-38edee07f042","is_default":false,"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:17:59.765689Z"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 800a396a-36d7-43e9-90b5-4f7b236b6c74 + status: 200 OK + code: 200 + duration: 41.131708ms + - id: 3 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/b3c7a45f-299e-488a-87e0-b5d4683ca8b9 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 294 + uncompressed: false + body: '{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "294" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 00bf97b0-421f-4bb3-9a12-bbc0bbe0e9c7 + status: 200 OK + code: 200 + duration: 43.904166ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 149 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-volume-gallant-swirles","perf_iops":5000,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","from_empty":{"size":10000000000},"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d51a729f-cac3-4264-838a-7fe422f481f8 + status: 200 OK + code: 200 + duration: 261.355542ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:17:59 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 524c41d2-d11a-468a-a0e7-f4fe5c44d16e + status: 200 OK + code: 200 + duration: 52.644916ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 159 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"subnets":null,"vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1093 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.891310Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:17:59.891310Z","id":"b85b1cb6-d876-45f9-b298-21538be19f11","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.20.0/22","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"},{"created_at":"2025-06-12T21:17:59.891310Z","id":"d9710eba-31de-40b9-865c-49ef1797b01a","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:1018::/64","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}],"tags":[],"updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}' + headers: + Content-Length: + - "1093" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:00 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6195eaf0-74de-459a-888a-1ecf6afb8006 + status: 200 OK + code: 200 + duration: 714.333875ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/d83d1f33-cc9a-4599-9d0e-73dc9f55c640 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1093 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.891310Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:17:59.891310Z","id":"b85b1cb6-d876-45f9-b298-21538be19f11","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.20.0/22","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"},{"created_at":"2025-06-12T21:17:59.891310Z","id":"d9710eba-31de-40b9-865c-49ef1797b01a","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:1018::/64","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}],"tags":[],"updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}' + headers: + Content-Length: + - "1093" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:00 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 878c1470-a06c-4041-a9e7-320e204d3514 + status: 200 OK + code: 200 + duration: 63.807084ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 253 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstanceGroup","description":"","ip_id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_ids":[],"tags":null,"type":"lb-s","ssl_compatibility_level":"ssl_compatibility_level_intermediate"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 909 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742263643Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"to_create","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:00.742263643Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "909" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:00 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6806d614-99b9-4ef7-a081-96810b74a52f + status: 200 OK + code: 200 + duration: 403.786333ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1110 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"unknown","updated_at":"2025-06-12T21:18:01.022710Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"creating","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:01.031899Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1110" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:01 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6c6353bf-63cd-4f19-a616-088019e498fe + status: 200 OK + code: 200 + duration: 69.068792ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1b521788-0f3d-412f-b2a4-0b58e3904721 + status: 200 OK + code: 200 + duration: 55.755791ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8beb6689-6927-4d41-b47d-3fd76c33a615 + status: 200 OK + code: 200 + duration: 41.142125ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 152 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"volume_id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"test-ds-block-snapshot-basic","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 466 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "466" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f5fa64cb-ac52-41d6-8a9e-702e4484b18b + status: 200 OK + code: 200 + duration: 321.8325ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 466 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "466" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f433e036-d1a5-43f1-a6e2-8fbff8f44f7b + status: 200 OK + code: 200 + duration: 163.61275ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:10 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4da92501-9baf-4689-a88b-189e3a097f1a + status: 200 OK + code: 200 + duration: 166.60625ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:10 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2e980616-8770-4bc8-b827-c994324410ba + status: 200 OK + code: 200 + duration: 316.540541ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 454 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"commercial_type":"PLAY2-MICRO","volumes":{"0":{"name":"as-volume","perf_iops":5000,"from_snapshot":{"size":null,"snapshot_id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc"},"tags":[],"boot":true,"volume_type":"sbs"}},"tags":["terraform-test","instance-template"],"public_ips_v4_count":1,"public_ips_v6_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstanceGroup","private_network_ids":["d83d1f33-cc9a-4599-9d0e-73dc9f55c640"]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 679 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:18:11.383614467Z","id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","image_id":null,"name":"TestAccASGInstanceGroup","placement_group_id":null,"private_network_ids":["d83d1f33-cc9a-4599-9d0e-73dc9f55c640"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:18:11.383614467Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "679" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:11 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0cdf6d8e-7e5a-495f-858b-773bd115ae48 + status: 200 OK + code: 200 + duration: 480.968958ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/e0e1fe16-cea4-4a20-97de-f652560c7bee + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 673 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:18:11.383614Z","id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","image_id":null,"name":"TestAccASGInstanceGroup","placement_group_id":null,"private_network_ids":["d83d1f33-cc9a-4599-9d0e-73dc9f55c640"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:18:11.383614Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "673" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:11 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3c27d999-0e08-4447-9ea6-e53610b90d17 + status: 200 OK + code: 200 + duration: 42.162667ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:18:02.928678Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ec2434b8-1b69-499a-b6a4-793ee987cf6a + status: 200 OK + code: 200 + duration: 69.602292ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 75 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","ipam_ids":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/attach-private-network + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1332 + uncompressed: false + body: '{"created_at":"2025-06-12T21:18:31.382806758Z","dhcp_config":{"ip_id":null},"ipam_ids":[],"lb":{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:18:02.928678Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"pending","updated_at":"2025-06-12T21:18:31.382806758Z"}' + headers: + Content-Length: + - "1332" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 53f4abec-2a56-438d-94e5-e84e6b06e87c + status: 200 OK + code: 200 + duration: 377.255917ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1159 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:18:31.382807Z","dhcp_config":{"ip_id":null},"ipam_ids":[],"lb":{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"pending","updated_at":"2025-06-12T21:18:31.382807Z"}],"total_count":1}' + headers: + Content-Length: + - "1159" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:18:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 72e4ac00-bb66-475a-a69a-b6bac9186720 + status: 200 OK + code: 200 + duration: 109.916458ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1229 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:18:31.382807Z","dhcp_config":{"ip_id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba"},"ipam_ids":["be0a59c5-c609-4a20-83b7-c0ecdead72ba"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"ready","updated_at":"2025-06-12T21:18:34.226191Z"}],"total_count":1}' + headers: + Content-Length: + - "1229" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:01 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 04989a52-e535-4eb4-9383-8ee58ce94c1d + status: 200 OK + code: 200 + duration: 132.301083ms + - id: 22 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:18:33.921555Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:01 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - caa26757-f6b5-4cbc-a49e-88d43e394057 + status: 200 OK + code: 200 + duration: 138.98ms + - id: 23 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:18:33.921555Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 51e9bb10-441c-454c-b096-722ad64836b4 + status: 200 OK + code: 200 + duration: 70.66075ms + - id: 24 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1229 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:18:31.382807Z","dhcp_config":{"ip_id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba"},"ipam_ids":["be0a59c5-c609-4a20-83b7-c0ecdead72ba"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"ready","updated_at":"2025-06-12T21:18:34.226191Z"}],"total_count":1}' + headers: + Content-Length: + - "1229" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - db8ec776-1276-4456-ab2b-695e7a65d6b9 + status: 200 OK + code: 200 + duration: 214.183833ms + - id: 25 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/ipam/v1/regions/fr-par/ips?order_by=created_at_desc&private_network_id=d83d1f33-cc9a-4599-9d0e-73dc9f55c640&resource_type=lb_server + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 526 + uncompressed: false + body: '{"ips":[{"address":"172.16.20.2/22","created_at":"2025-06-12T21:18:31.864595Z","id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba","is_ipv6":false,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","resource":{"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","mac_address":"02:00:00:14:1D:98","name":"TestAccASGInstanceGroup","type":"lb_server"},"reverses":[],"source":{"subnet_id":"b85b1cb6-d876-45f9-b298-21538be19f11"},"tags":[],"updated_at":"2025-06-12T21:18:32.528668Z","zone":null}],"total_count":1}' + headers: + Content-Length: + - "526" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1a8db11e-cad8-4031-a98b-359f21edc3fe + status: 200 OK + code: 200 + duration: 79.706583ms + - id: 26 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:18:33.921555Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d2ad9828-a7cb-4d9b-829e-15349f1db26d + status: 200 OK + code: 200 + duration: 76.51ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 608 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-lb-bkd-dazzling-fermi","forward_protocol":"tcp","forward_port":80,"forward_port_algorithm":"roundrobin","sticky_sessions":"none","sticky_sessions_cookie_name":"","health_check":{"port":80,"check_max_retries":2,"check_send_proxy":false,"transient_check_delay":"0.500000000s","check_delay":60000,"check_timeout":30000},"server_ip":[],"on_marked_down_action":"on_marked_down_action_none","proxy_protocol":"proxy_protocol_none","ssl_bridging":false,"ignore_ssl_server_verify":false,"max_retries":3,"timeout_queue":"0.000000000s","timeout_server":300000,"timeout_connect":5000,"timeout_tunnel":900000}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/backends + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1983 + uncompressed: false + body: '{"created_at":"2025-06-12T21:19:02.559083027Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"a847241f-febe-4702-959b-1b8fdd19bd65","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:19:02.589245673Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-dazzling-fermi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:19:02.559083027Z"}' + headers: + Content-Length: + - "1983" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 18cb1187-010c-4868-8abb-23bf31b5dc05 + status: 200 OK + code: 200 + duration: 330.217416ms + - id: 28 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1107 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:19:02.589246Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1107" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d5165ff7-b1fa-4143-86e8-da1bb7bd0431 + status: 200 OK + code: 200 + duration: 73.79125ms + - id: 29 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/a847241f-febe-4702-959b-1b8fdd19bd65 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1974 + uncompressed: false + body: '{"created_at":"2025-06-12T21:19:02.559083Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"a847241f-febe-4702-959b-1b8fdd19bd65","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:19:02.589246Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-dazzling-fermi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:19:02.559083Z"}' + headers: + Content-Length: + - "1974" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1a910773-1e54-454d-b9c4-e47ab498df53 + status: 200 OK + code: 200 + duration: 96.085084ms + - id: 30 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9339c776-71cc-46f4-af81-4768b01a4eab + status: 200 OK + code: 200 + duration: 66.628458ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 439 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstanceGroup","tags":["terraform-test","instance-group"],"template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","capacity":{"max_replicas":5,"min_replicas":1,"cooldown_delay":"300.000000000s"},"loadbalancer":{"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"}}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 608 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:19:03.289524576Z","error_messages":[],"id":"9bfa9c42-1747-4392-b74b-c2121e40807f","instance_template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","loadbalancer":{"backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"},"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:19:03.289524576Z"}' + headers: + Content-Length: + - "608" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ef70f928-d7b0-4c58-8bad-b141a60a67a4 + status: 200 OK + code: 200 + duration: 347.858875ms + - id: 32 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 602 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:19:03.289524Z","error_messages":[],"id":"9bfa9c42-1747-4392-b74b-c2121e40807f","instance_template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","loadbalancer":{"backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"},"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:19:03.289524Z"}' + headers: + Content-Length: + - "602" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 950c6d49-a1f7-438b-a7f2-fcff24e55d00 + status: 200 OK + code: 200 + duration: 43.223292ms + - id: 33 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 602 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:19:03.289524Z","error_messages":[],"id":"9bfa9c42-1747-4392-b74b-c2121e40807f","instance_template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","loadbalancer":{"backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"},"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:19:03.289524Z"}' + headers: + Content-Length: + - "602" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 39548e34-c708-4aa4-8e4b-edb7dbf924e7 + status: 200 OK + code: 200 + duration: 47.6975ms + - id: 34 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/44b91620-a1f9-495e-9c57-38edee07f042 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.765689Z","custom_routes_propagation_enabled":false,"id":"44b91620-a1f9-495e-9c57-38edee07f042","is_default":false,"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:17:59.765689Z"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 14e53b2d-31fb-4c14-be93-22937996c398 + status: 200 OK + code: 200 + duration: 36.452375ms + - id: 35 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 82213d5f-9b95-4818-aa57-75803b3f4607 + status: 200 OK + code: 200 + duration: 47.840959ms + - id: 36 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/b3c7a45f-299e-488a-87e0-b5d4683ca8b9 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 328 + uncompressed: false + body: '{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "328" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 30c5f10b-9f6b-4df9-bfa5-8e09da09e52b + status: 200 OK + code: 200 + duration: 52.501625ms + - id: 37 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/d83d1f33-cc9a-4599-9d0e-73dc9f55c640 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1093 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.891310Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:17:59.891310Z","id":"b85b1cb6-d876-45f9-b298-21538be19f11","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.20.0/22","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"},{"created_at":"2025-06-12T21:17:59.891310Z","id":"d9710eba-31de-40b9-865c-49ef1797b01a","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:1018::/64","updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}],"tags":[],"updated_at":"2025-06-12T21:17:59.891310Z","vpc_id":"44b91620-a1f9-495e-9c57-38edee07f042"}' + headers: + Content-Length: + - "1093" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ac3a1fe6-8864-429e-a952-43292713f2df + status: 200 OK + code: 200 + duration: 50.406125ms + - id: 38 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 05c565b9-1626-4eb1-8c85-54ea20b1dc2d + status: 200 OK + code: 200 + duration: 80.036916ms + - id: 39 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0bc8489c-e8c8-43ab-8bc0-e73f73f025c2 + status: 200 OK + code: 200 + duration: 69.967625ms + - id: 40 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 22831432-b0a7-460a-acd8-2cc6f7d0c6cf + status: 200 OK + code: 200 + duration: 219.43175ms + - id: 41 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/e0e1fe16-cea4-4a20-97de-f652560c7bee + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 673 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:18:11.383614Z","id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","image_id":null,"name":"TestAccASGInstanceGroup","placement_group_id":null,"private_network_ids":["d83d1f33-cc9a-4599-9d0e-73dc9f55c640"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:18:11.383614Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "673" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6cf03a77-e99a-44bd-8739-934a1d043493 + status: 200 OK + code: 200 + duration: 58.061084ms + - id: 42 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1229 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:18:31.382807Z","dhcp_config":{"ip_id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba"},"ipam_ids":["be0a59c5-c609-4a20-83b7-c0ecdead72ba"],"lb":{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"ready","updated_at":"2025-06-12T21:18:34.226191Z"}],"total_count":1}' + headers: + Content-Length: + - "1229" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 15cde3a6-f8ac-4bbd-9a7c-61faba59579a + status: 200 OK + code: 200 + duration: 128.520167ms + - id: 43 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/ipam/v1/regions/fr-par/ips?order_by=created_at_desc&private_network_id=d83d1f33-cc9a-4599-9d0e-73dc9f55c640&resource_type=lb_server + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 526 + uncompressed: false + body: '{"ips":[{"address":"172.16.20.2/22","created_at":"2025-06-12T21:18:31.864595Z","id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba","is_ipv6":false,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","resource":{"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","mac_address":"02:00:00:14:1D:98","name":"TestAccASGInstanceGroup","type":"lb_server"},"reverses":[],"source":{"subnet_id":"b85b1cb6-d876-45f9-b298-21538be19f11"},"tags":[],"updated_at":"2025-06-12T21:18:32.528668Z","zone":null}],"total_count":1}' + headers: + Content-Length: + - "526" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3fb1610b-d715-41b2-adb5-0279de9c7451 + status: 200 OK + code: 200 + duration: 72.7735ms + - id: 44 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/a847241f-febe-4702-959b-1b8fdd19bd65 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1972 + uncompressed: false + body: '{"created_at":"2025-06-12T21:19:02.559083Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"a847241f-febe-4702-959b-1b8fdd19bd65","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-dazzling-fermi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:19:02.559083Z"}' + headers: + Content-Length: + - "1972" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ca7fbd98-4262-42ae-8444-3b2704e53e58 + status: 200 OK + code: 200 + duration: 69.717541ms + - id: 45 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - cb507734-16b6-4903-b165-7609d4ea2337 + status: 200 OK + code: 200 + duration: 66.918791ms + - id: 46 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 602 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:19:03.289524Z","error_messages":[],"id":"9bfa9c42-1747-4392-b74b-c2121e40807f","instance_template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","loadbalancer":{"backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"},"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:19:03.289524Z"}' + headers: + Content-Length: + - "602" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ba066146-fb15-48a0-aaff-5422abfdc1fa + status: 200 OK + code: 200 + duration: 49.7345ms + - id: 47 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 602 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:19:03.289524Z","error_messages":[],"id":"9bfa9c42-1747-4392-b74b-c2121e40807f","instance_template_id":"e0e1fe16-cea4-4a20-97de-f652560c7bee","loadbalancer":{"backend_ids":["a847241f-febe-4702-959b-1b8fdd19bd65"],"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"},"name":"TestAccASGInstanceGroup","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:19:03.289524Z"}' + headers: + Content-Length: + - "602" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 14457d31-91b0-4fb5-98fd-0462ee1b93cd + status: 200 OK + code: 200 + duration: 47.811542ms + - id: 48 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + 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: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c3cc1deb-9e86-49e3-b27f-1f518e241627 + status: 204 No Content + code: 204 + duration: 60.075416ms + - id: 49 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers?name=9bfa9c42-1747-4392-b74b-c2121e40807f&order=creation_date_desc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 15 + uncompressed: false + body: '{"servers":[]}' + headers: + Content-Length: + - "15" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3efbcc12-ee7d-43d7-89ac-b329692ef4a3 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 104.863667ms + - id: 50 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/e0e1fe16-cea4-4a20-97de-f652560c7bee + 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: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 16472d92-7c9e-4616-b718-cbe73bdcd025 + status: 204 No Content + code: 204 + duration: 56.717542ms + - id: 51 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:02.880153Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 24ff7ec1-8af8-413b-a080-29449fd12938 + status: 200 OK + code: 200 + duration: 78.468ms + - id: 52 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:18:05.112125Z","id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","name":"tf-volume-gallant-swirles","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:18:05.112125Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 585cc07d-e5cc-4ba7-a410-e0650d28ba3a + status: 200 OK + code: 200 + duration: 146.18325ms + - id: 53 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/a847241f-febe-4702-959b-1b8fdd19bd65 + 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: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 901c49eb-47dc-44a0-b2ae-701320688999 + status: 204 No Content + code: 204 + duration: 249.863708ms + - id: 54 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1107 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:19:04.989793Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1107" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ac2d59e9-9c41-4cca-a3ad-db9003d3a8cb + status: 200 OK + code: 200 + duration: 73.401083ms + - id: 55 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + 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: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 032d5f3d-ed1e-44cc-84b9-27b136c689b5 + status: 204 No Content + code: 204 + duration: 232.053334ms + - id: 56 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/b71a9d64-b9a5-40e6-a78b-1530503a0fdc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 129 + uncompressed: false + body: '{"message":"resource is not found","resource":"snapshot","resource_id":"b71a9d64-b9a5-40e6-a78b-1530503a0fdc","type":"not_found"}' + headers: + Content-Length: + - "129" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - af18017e-dd70-4f62-a5ea-12a066059156 + status: 404 Not Found + code: 404 + duration: 39.561667ms + - id: 57 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1107 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:19:04.989793Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1107" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1732b016-cc4c-461d-b971-de453997cd6e + status: 200 OK + code: 200 + duration: 68.979709ms + - id: 58 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:17:59.792165Z","id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","last_detached_at":null,"name":"tf-volume-gallant-swirles","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:17:59.792165Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ea58786c-289a-4c88-8b8b-7bac1c3dad68 + status: 200 OK + code: 200 + duration: 44.860916ms + - id: 59 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1229 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:18:31.382807Z","dhcp_config":{"ip_id":"be0a59c5-c609-4a20-83b7-c0ecdead72ba"},"ipam_ids":["be0a59c5-c609-4a20-83b7-c0ecdead72ba"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"},"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640","status":"ready","updated_at":"2025-06-12T21:18:34.226191Z"}],"total_count":1}' + headers: + Content-Length: + - "1229" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 76429844-3be0-4dea-bbf4-3bbe6f3d7813 + status: 200 OK + code: 200 + duration: 110.083125ms + - id: 60 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + 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: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fa89186f-e6db-4038-8e21-137d94bae9c1 + status: 204 No Content + code: 204 + duration: 77.101083ms + - id: 61 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/ad11e111-fcf1-4311-80e9-ab0fc8e35554 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 127 + uncompressed: false + body: '{"message":"resource is not found","resource":"volume","resource_id":"ad11e111-fcf1-4311-80e9-ab0fc8e35554","type":"not_found"}' + headers: + Content-Length: + - "127" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 5a8f4a21-824c-43bb-bf30-c1eab4a6bbb4 + status: 404 Not Found + code: 404 + duration: 43.240917ms + - id: 62 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 61 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"private_network_id":"d83d1f33-cc9a-4599-9d0e-73dc9f55c640"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21/detach-private-network + method: POST + 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: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d0b1682d-1acb-4c42-9fb4-c79d824a1d9b + status: 204 No Content + code: 204 + duration: 270.124125ms + - id: 63 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1105 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:05.270592Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:18:04.107956Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1105" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 252033d1-721d-4c9c-bec8-fadbe1330590 + status: 200 OK + code: 200 + duration: 61.258375ms + - id: 64 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21?release_ip=false + 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: + - Thu, 12 Jun 2025 21:19:05 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b38676fc-11fa-44c9-86a1-12df450f8c19 + status: 204 No Content + code: 204 + duration: 337.210666ms + - id: 65 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1109 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:18:00.742264Z","description":"","frontend_count":0,"id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","instances":[{"created_at":"2025-06-12T21:15:26.549777Z","id":"c7585d24-9ba0-4d2a-8b42-20a94c624770","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:19:05.270592Z","zone":"fr-par-1"}],"ip":[{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":"3b4e399e-07ed-4dfc-93d4-38da69644b21","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceGroup","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"to_delete","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:19:05.792019Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1109" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:06 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c2adb360-a70d-4a5b-87c1-707e2f4fa82f + status: 200 OK + code: 200 + duration: 62.96425ms + - id: 66 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 27 + uncompressed: false + body: '{"message":"lbs not Found"}' + headers: + Content-Length: + - "27" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:36 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 23303911-a5af-45f8-a45c-4f6b2b952847 + status: 404 Not Found + code: 404 + duration: 21.932041ms + - id: 67 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/3b4e399e-07ed-4dfc-93d4-38da69644b21 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 27 + uncompressed: false + body: '{"message":"lbs not Found"}' + headers: + Content-Length: + - "27" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:36 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - bb7f3e8f-56e6-4b56-8bdc-3ec467212cd2 + status: 404 Not Found + code: 404 + duration: 39.68175ms + - id: 68 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/b3c7a45f-299e-488a-87e0-b5d4683ca8b9 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 294 + uncompressed: false + body: '{"id":"b3c7a45f-299e-488a-87e0-b5d4683ca8b9","ip_address":"62.210.39.68","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-68.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "294" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:36 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b8c12a69-ea62-4322-9427-dfa68a1ddc15 + status: 200 OK + code: 200 + duration: 54.448542ms + - id: 69 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/b3c7a45f-299e-488a-87e0-b5d4683ca8b9 + 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: + - Thu, 12 Jun 2025 21:19:36 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6333e6cb-c94d-464b-9c02-3a9eade71d98 + status: 204 No Content + code: 204 + duration: 405.358125ms + - id: 70 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/d83d1f33-cc9a-4599-9d0e-73dc9f55c640 + 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: + - Thu, 12 Jun 2025 21:19:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3ab69286-5645-49df-b06f-b28eb038f04d + status: 204 No Content + code: 204 + duration: 1.442612834s + - id: 71 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/44b91620-a1f9-495e-9c57-38edee07f042 + 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: + - Thu, 12 Jun 2025 21:19:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6e02152a-09dc-4d09-9290-c0df9d285c69 + status: 204 No Content + code: 204 + duration: 97.137875ms + - id: 72 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/9bfa9c42-1747-4392-b74b-c2121e40807f + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 38 + uncompressed: false + body: '{"message":"instance_group not Found"}' + headers: + Content-Length: + - "38" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:19:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8e7a3ac2-880a-4847-8ab3-4f8f37f863bc + status: 404 Not Found + code: 404 + duration: 22.169625ms diff --git a/internal/services/autoscaling/testdata/instance-policy-basic.cassette.yaml b/internal/services/autoscaling/testdata/instance-policy-basic.cassette.yaml new file mode 100644 index 0000000000..f8ddec0c14 --- /dev/null +++ b/internal/services/autoscaling/testdata/instance-policy-basic.cassette.yaml @@ -0,0 +1,3782 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","is_ipv6":false,"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 296 + uncompressed: false + body: '{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "296" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d1179f6f-391f-4097-94ca-f3ec1b370a6b + status: 200 OK + code: 200 + duration: 203.099208ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 120 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"enable_routing":false}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.312861Z","custom_routes_propagation_enabled":false,"id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30","is_default":false,"name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:06:26.312861Z"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1cfb67f1-19da-43f7-ba94-06cabfa2086c + status: 200 OK + code: 200 + duration: 204.014167ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 149 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-volume-nervous-leavitt","perf_iops":5000,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","from_empty":{"size":10000000000},"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d7d4bed5-f88d-46ea-bb5e-d74efde5cd08 + status: 200 OK + code: 200 + duration: 220.234416ms + - id: 3 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/5c5e70be-53cd-4c1e-80b9-82c626f2eb30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.312861Z","custom_routes_propagation_enabled":false,"id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30","is_default":false,"name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:06:26.312861Z"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b8eb93df-29ca-41a2-97aa-5fc58841bdc5 + status: 200 OK + code: 200 + duration: 32.025333ms + - id: 4 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/cfd9041d-b76a-42be-950b-13d7b8254793 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 296 + uncompressed: false + body: '{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "296" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 881f3136-b80d-42f2-a894-7d5f97f3fbb3 + status: 200 OK + code: 200 + duration: 43.618167ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 422 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "422" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 16c838e6-b657-4e1f-92ad-5cb16413a8cf + status: 200 OK + code: 200 + duration: 45.018291ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 160 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"subnets":null,"vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1094 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.438519Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"5a8661dc-b373-45dd-af58-75055b504f8f","name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:06:26.438519Z","id":"b9e0ba10-9e15-45a1-bc4a-d5a289364002","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.52.0/22","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"},{"created_at":"2025-06-12T21:06:26.438519Z","id":"faf35aac-2ded-4514-b3aa-c4c20d9efee2","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:7029::/64","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}],"tags":[],"updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}' + headers: + Content-Length: + - "1094" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:26 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6d2f1d86-a18e-4511-b5a4-d76bbcd6ce9b + status: 200 OK + code: 200 + duration: 627.455833ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/5a8661dc-b373-45dd-af58-75055b504f8f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1094 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.438519Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"5a8661dc-b373-45dd-af58-75055b504f8f","name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:06:26.438519Z","id":"b9e0ba10-9e15-45a1-bc4a-d5a289364002","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.52.0/22","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"},{"created_at":"2025-06-12T21:06:26.438519Z","id":"faf35aac-2ded-4514-b3aa-c4c20d9efee2","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:7029::/64","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}],"tags":[],"updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}' + headers: + Content-Length: + - "1094" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:27 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9ed02d1e-e3b8-4979-8121-54dd435a86f7 + status: 200 OK + code: 200 + duration: 50.213292ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 270 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstanceTemplatePrivateNetwork","description":"","ip_id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_ids":[],"tags":null,"type":"lb-s","ssl_compatibility_level":"ssl_compatibility_level_intermediate"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 928 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213251949Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"to_create","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:27.213251949Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "928" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:27 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a73585d1-fea7-40c2-bb4b-cab59d4da3c3 + status: 200 OK + code: 200 + duration: 424.050875ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1129 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"unknown","updated_at":"2025-06-12T21:06:27.478067Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"creating","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:27.484676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1129" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:27 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b7f66d84-626f-4fea-82c4-8534c520a041 + status: 200 OK + code: 200 + duration: 61.65075ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 78926494-a382-4621-8786-63767731b427 + status: 200 OK + code: 200 + duration: 42.464208ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 96737c46-7522-485f-93a7-b0f7d52fb9d3 + status: 200 OK + code: 200 + duration: 49.10275ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 152 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"volume_id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"test-ds-block-snapshot-basic","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 466 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "466" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8b277f9b-acac-4c25-8f55-c3a134121950 + status: 200 OK + code: 200 + duration: 203.680708ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 466 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "466" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b75afb11-6d62-40d3-9d23-c5217956f475 + status: 200 OK + code: 200 + duration: 143.618333ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 94677eea-c482-4c18-bb1b-b6db57b69fd5 + status: 200 OK + code: 200 + duration: 168.661125ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fa7ab971-080c-4f30-895c-d0ef298bcca1 + status: 200 OK + code: 200 + duration: 158.517125ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 455 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"commercial_type":"PLAY2-MICRO","volumes":{"0":{"name":"as-volume","perf_iops":5000,"from_snapshot":{"size":null,"snapshot_id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8"},"tags":[],"boot":true,"volume_type":"sbs"}},"tags":["terraform-test","instance-template"],"public_ips_v4_count":1,"public_ips_v6_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstancePolicy","private_network_ids":["5a8661dc-b373-45dd-af58-75055b504f8f"]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 680 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:06:37.437088673Z","id":"ce8711a2-337f-452e-a48c-8883e6d75548","image_id":null,"name":"TestAccASGInstancePolicy","placement_group_id":null,"private_network_ids":["5a8661dc-b373-45dd-af58-75055b504f8f"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:06:37.437088673Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "680" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f15877b8-d03e-4bb7-b23b-561b14279e12 + status: 200 OK + code: 200 + duration: 251.865625ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/ce8711a2-337f-452e-a48c-8883e6d75548 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 674 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:06:37.437088Z","id":"ce8711a2-337f-452e-a48c-8883e6d75548","image_id":null,"name":"TestAccASGInstancePolicy","placement_group_id":null,"private_network_ids":["5a8661dc-b373-45dd-af58-75055b504f8f"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:06:37.437088Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "674" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:37 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c0b01d7f-de9e-48de-b3ee-5a1389e188ea + status: 200 OK + code: 200 + duration: 61.5425ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:06:29.130455Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:57 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3ac8a1aa-8407-402f-ae6e-6d9b3ce4714a + status: 200 OK + code: 200 + duration: 65.386333ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 75 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","ipam_ids":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/attach-private-network + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1351 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:57.810398584Z","dhcp_config":{"ip_id":null},"ipam_ids":[],"lb":{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:06:29.130455Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"pending","updated_at":"2025-06-12T21:06:57.810398584Z"}' + headers: + Content-Length: + - "1351" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:57 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d7d3d9e7-fdaa-4f9a-9357-01992280cfef + status: 200 OK + code: 200 + duration: 465.903375ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1178 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:06:57.810399Z","dhcp_config":{"ip_id":null},"ipam_ids":[],"lb":{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"pending","updated_at":"2025-06-12T21:06:57.810399Z"}],"total_count":1}' + headers: + Content-Length: + - "1178" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:06:58 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f54b1925-b5cd-4464-bef2-eec80d7380ef + status: 200 OK + code: 200 + duration: 137.066459ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1248 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:06:57.810399Z","dhcp_config":{"ip_id":"54a79388-5867-4fe3-9a36-dddabf478e03"},"ipam_ids":["54a79388-5867-4fe3-9a36-dddabf478e03"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"ready","updated_at":"2025-06-12T21:07:02.653239Z"}],"total_count":1}' + headers: + Content-Length: + - "1248" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - cb8c6aa1-419c-4929-8904-ef9c12208dac + status: 200 OK + code: 200 + duration: 127.602291ms + - id: 22 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:02.342599Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c82ab67e-2058-42aa-a7e7-a53610fd8b06 + status: 200 OK + code: 200 + duration: 89.527083ms + - id: 23 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:02.342599Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c377b690-f3a7-4dde-bc09-6708400a2206 + status: 200 OK + code: 200 + duration: 68.077834ms + - id: 24 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1248 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:06:57.810399Z","dhcp_config":{"ip_id":"54a79388-5867-4fe3-9a36-dddabf478e03"},"ipam_ids":["54a79388-5867-4fe3-9a36-dddabf478e03"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"ready","updated_at":"2025-06-12T21:07:02.653239Z"}],"total_count":1}' + headers: + Content-Length: + - "1248" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 25a3968d-66c7-4540-9464-20b06c577fdc + status: 200 OK + code: 200 + duration: 163.571791ms + - id: 25 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/ipam/v1/regions/fr-par/ips?order_by=created_at_desc&private_network_id=5a8661dc-b373-45dd-af58-75055b504f8f&resource_type=lb_server + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 543 + uncompressed: false + body: '{"ips":[{"address":"172.16.52.2/22","created_at":"2025-06-12T21:07:00.361977Z","id":"54a79388-5867-4fe3-9a36-dddabf478e03","is_ipv6":false,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","resource":{"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","mac_address":"02:00:00:1A:2E:74","name":"TestAccASGInstanceTemplatePrivateNetwork","type":"lb_server"},"reverses":[],"source":{"subnet_id":"b9e0ba10-9e15-45a1-bc4a-d5a289364002"},"tags":[],"updated_at":"2025-06-12T21:07:01.035434Z","zone":null}],"total_count":1}' + headers: + Content-Length: + - "543" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2f28bfbf-ad6f-4f2f-9b40-dbbc1cb15727 + status: 200 OK + code: 200 + duration: 81.36125ms + - id: 26 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:02.342599Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7deb1be3-e2c9-45b8-bcec-8c00c6187ac1 + status: 200 OK + code: 200 + duration: 70.485583ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 608 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-lb-bkd-magical-agnesi","forward_protocol":"tcp","forward_port":80,"forward_port_algorithm":"roundrobin","sticky_sessions":"none","sticky_sessions_cookie_name":"","health_check":{"port":80,"check_max_retries":2,"check_send_proxy":false,"transient_check_delay":"0.500000000s","check_delay":60000,"check_timeout":30000},"server_ip":[],"on_marked_down_action":"on_marked_down_action_none","proxy_protocol":"proxy_protocol_none","ssl_bridging":false,"ignore_ssl_server_verify":false,"max_retries":3,"timeout_queue":"0.000000000s","timeout_server":300000,"timeout_connect":5000,"timeout_tunnel":900000}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/backends + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2002 + uncompressed: false + body: '{"created_at":"2025-06-12T21:07:28.963446998Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:07:28.987547285Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-magical-agnesi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:07:28.963446998Z"}' + headers: + Content-Length: + - "2002" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f14dd06b-cc5f-440e-95ec-e935f9c5e270 + status: 200 OK + code: 200 + duration: 328.469291ms + - id: 28 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1126 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:07:28.987547Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1126" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c095a99c-d9b4-4d61-bd04-74c7fcfbb509 + status: 200 OK + code: 200 + duration: 70.468333ms + - id: 29 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1991 + uncompressed: false + body: '{"created_at":"2025-06-12T21:07:28.963447Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-magical-agnesi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:07:28.963447Z"}' + headers: + Content-Length: + - "1991" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 70a1c67b-fbbe-4ddb-a2a4-9482b224ddc0 + status: 200 OK + code: 200 + duration: 84.902833ms + - id: 30 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1906e663-a2e2-4ff5-b954-3c27e5e7f818 + status: 200 OK + code: 200 + duration: 82.346333ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 440 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstancePolicy","tags":["terraform-test","instance-group"],"template_id":"ce8711a2-337f-452e-a48c-8883e6d75548","capacity":{"max_replicas":5,"min_replicas":1,"cooldown_delay":"300.000000000s"},"loadbalancer":{"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","backend_ids":["b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a"],"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"}}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 609 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:07:29.738302804Z","error_messages":[],"id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","instance_template_id":"ce8711a2-337f-452e-a48c-8883e6d75548","loadbalancer":{"backend_ids":["b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a"],"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"},"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:07:29.738302804Z"}' + headers: + Content-Length: + - "609" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4ea48d98-edbc-4d87-9f9f-56d7c399b428 + status: 200 OK + code: 200 + duration: 359.362084ms + - id: 32 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/91a8adf1-1e31-496a-8a06-f9e1ef22831e + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 603 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:07:29.738302Z","error_messages":[],"id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","instance_template_id":"ce8711a2-337f-452e-a48c-8883e6d75548","loadbalancer":{"backend_ids":["b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a"],"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"},"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:07:29.738302Z"}' + headers: + Content-Length: + - "603" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d1c0c7ca-36b2-4e7d-a0b5-bf09dd459f26 + status: 200 OK + code: 200 + duration: 56.370875ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 343 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstancePolicy","metric":{"name":"cpu scale down","managed_metric":"managed_metric_instance_cpu","operator":"operator_less_than","aggregate":"aggregate_average","sampling_range_min":5,"threshold":40},"action":"scale_down","type":"flat_count","value":1,"priority":2,"instance_group_id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 399 + uncompressed: false + body: '{"action":"scale_down","id":"4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0","instance_group_id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","metric":{"aggregate":"aggregate_average","managed_metric":"managed_metric_instance_cpu","name":"cpu scale down","operator":"operator_less_than","sampling_range_min":5,"threshold":40},"name":"TestAccASGInstancePolicy","priority":2,"type":"flat_count","value":1}' + headers: + Content-Length: + - "399" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f814b65a-b84b-4b7e-97af-ceaa7167b5ca + status: 200 OK + code: 200 + duration: 68.381959ms + - id: 34 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies/4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 399 + uncompressed: false + body: '{"action":"scale_down","id":"4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0","instance_group_id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","metric":{"aggregate":"aggregate_average","managed_metric":"managed_metric_instance_cpu","name":"cpu scale down","operator":"operator_less_than","sampling_range_min":5,"threshold":40},"name":"TestAccASGInstancePolicy","priority":2,"type":"flat_count","value":1}' + headers: + Content-Length: + - "399" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d7d6ff35-7acf-4dae-b51b-2d9685b1d5fd + status: 200 OK + code: 200 + duration: 51.146209ms + - id: 35 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies/4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 399 + uncompressed: false + body: '{"action":"scale_down","id":"4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0","instance_group_id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","metric":{"aggregate":"aggregate_average","managed_metric":"managed_metric_instance_cpu","name":"cpu scale down","operator":"operator_less_than","sampling_range_min":5,"threshold":40},"name":"TestAccASGInstancePolicy","priority":2,"type":"flat_count","value":1}' + headers: + Content-Length: + - "399" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - dfda333a-78c2-410b-9622-5562d4ddaa6f + status: 200 OK + code: 200 + duration: 74.84475ms + - id: 36 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/cfd9041d-b76a-42be-950b-13d7b8254793 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 330 + uncompressed: false + body: '{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "330" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0f93e3ee-f70b-4b74-b56c-dc7bbdd72210 + status: 200 OK + code: 200 + duration: 44.208375ms + - id: 37 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - eb490295-cfcf-4146-95bc-8bb85e1acd2f + status: 200 OK + code: 200 + duration: 45.117042ms + - id: 38 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/5c5e70be-53cd-4c1e-80b9-82c626f2eb30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.312861Z","custom_routes_propagation_enabled":false,"id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30","is_default":false,"name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:06:26.312861Z"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a2166cbc-48d8-4ac4-a299-0d036787a575 + status: 200 OK + code: 200 + duration: 68.777958ms + - id: 39 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/5a8661dc-b373-45dd-af58-75055b504f8f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1094 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.438519Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"5a8661dc-b373-45dd-af58-75055b504f8f","name":"TestAccASGInstancePolicy","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:06:26.438519Z","id":"b9e0ba10-9e15-45a1-bc4a-d5a289364002","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.52.0/22","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"},{"created_at":"2025-06-12T21:06:26.438519Z","id":"faf35aac-2ded-4514-b3aa-c4c20d9efee2","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:7029::/64","updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}],"tags":[],"updated_at":"2025-06-12T21:06:26.438519Z","vpc_id":"5c5e70be-53cd-4c1e-80b9-82c626f2eb30"}' + headers: + Content-Length: + - "1094" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e45fe90a-c873-470c-9588-dcd580d6ccf1 + status: 200 OK + code: 200 + duration: 32.092542ms + - id: 40 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a8d3d0cd-2afa-4a22-bfd9-0bd820998e3d + status: 200 OK + code: 200 + duration: 59.677125ms + - id: 41 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c1a72efa-819b-4dea-a2ae-db0bc99062c3 + status: 200 OK + code: 200 + duration: 71.708417ms + - id: 42 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - bba92b50-3e77-4c1a-82b1-be74bdcc7913 + status: 200 OK + code: 200 + duration: 168.59475ms + - id: 43 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/ce8711a2-337f-452e-a48c-8883e6d75548 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 674 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:06:37.437088Z","id":"ce8711a2-337f-452e-a48c-8883e6d75548","image_id":null,"name":"TestAccASGInstancePolicy","placement_group_id":null,"private_network_ids":["5a8661dc-b373-45dd-af58-75055b504f8f"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T21:06:37.437088Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "674" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 34777dae-cb6f-49b8-a874-a684a932ee90 + status: 200 OK + code: 200 + duration: 45.370667ms + - id: 44 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1248 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:06:57.810399Z","dhcp_config":{"ip_id":"54a79388-5867-4fe3-9a36-dddabf478e03"},"ipam_ids":["54a79388-5867-4fe3-9a36-dddabf478e03"],"lb":{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"ready","updated_at":"2025-06-12T21:07:02.653239Z"}],"total_count":1}' + headers: + Content-Length: + - "1248" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4fa64d36-094e-4470-9af1-21393e540e9a + status: 200 OK + code: 200 + duration: 115.893042ms + - id: 45 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/ipam/v1/regions/fr-par/ips?order_by=created_at_desc&private_network_id=5a8661dc-b373-45dd-af58-75055b504f8f&resource_type=lb_server + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 543 + uncompressed: false + body: '{"ips":[{"address":"172.16.52.2/22","created_at":"2025-06-12T21:07:00.361977Z","id":"54a79388-5867-4fe3-9a36-dddabf478e03","is_ipv6":false,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","resource":{"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","mac_address":"02:00:00:1A:2E:74","name":"TestAccASGInstanceTemplatePrivateNetwork","type":"lb_server"},"reverses":[],"source":{"subnet_id":"b9e0ba10-9e15-45a1-bc4a-d5a289364002"},"tags":[],"updated_at":"2025-06-12T21:07:01.035434Z","zone":null}],"total_count":1}' + headers: + Content-Length: + - "543" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 045a7222-650f-4cfc-8de8-99cc54227192 + status: 200 OK + code: 200 + duration: 86.619458ms + - id: 46 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1991 + uncompressed: false + body: '{"created_at":"2025-06-12T21:07:28.963447Z","failover_host":null,"forward_port":80,"forward_port_algorithm":"roundrobin","forward_protocol":"tcp","health_check":{"check_delay":60000,"check_max_retries":2,"check_send_proxy":false,"check_timeout":30000,"port":80,"tcp_config":{},"transient_check_delay":"0.500s"},"id":"b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a","ignore_ssl_server_verify":false,"lb":{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"max_connections":null,"max_retries":3,"name":"tf-lb-bkd-magical-agnesi","on_marked_down_action":"on_marked_down_action_none","pool":[],"proxy_protocol":"proxy_protocol_none","redispatch_attempt_count":null,"send_proxy_v2":false,"ssl_bridging":false,"sticky_sessions":"none","sticky_sessions_cookie_name":"","timeout_connect":5000,"timeout_queue":"0s","timeout_server":300000,"timeout_tunnel":900000,"updated_at":"2025-06-12T21:07:28.963447Z"}' + headers: + Content-Length: + - "1991" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4a892a0a-452f-4028-9e58-79bb1adee59a + status: 200 OK + code: 200 + duration: 82.471958ms + - id: 47 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 83494ccd-d36e-4a60-b89e-43520117cb7e + status: 200 OK + code: 200 + duration: 82.475458ms + - id: 48 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/91a8adf1-1e31-496a-8a06-f9e1ef22831e + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 603 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:07:30.896198Z","error_messages":[],"id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","instance_template_id":"ce8711a2-337f-452e-a48c-8883e6d75548","loadbalancer":{"backend_ids":["b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a"],"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"},"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:07:30.896198Z"}' + headers: + Content-Length: + - "603" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1e6a34a0-29bc-4103-b13c-5041a9e6b57c + status: 200 OK + code: 200 + duration: 42.313334ms + - id: 49 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies/4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 399 + uncompressed: false + body: '{"action":"scale_down","id":"4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0","instance_group_id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","metric":{"aggregate":"aggregate_average","managed_metric":"managed_metric_instance_cpu","name":"cpu scale down","operator":"operator_less_than","sampling_range_min":5,"threshold":40},"name":"TestAccASGInstancePolicy","priority":2,"type":"flat_count","value":1}' + headers: + Content-Length: + - "399" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4966ddcf-80a6-4043-b4ce-158d7ec502d1 + status: 200 OK + code: 200 + duration: 47.461334ms + - id: 50 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies/4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0 + 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: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ad83b2ad-de5c-4a12-8d5a-18802fc8f55d + status: 204 No Content + code: 204 + duration: 62.337833ms + - id: 51 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/91a8adf1-1e31-496a-8a06-f9e1ef22831e + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 603 + uncompressed: false + body: '{"capacity":{"cooldown_delay":"300s","max_replicas":5,"min_replicas":1},"created_at":"2025-06-12T21:07:30.896198Z","error_messages":[],"id":"91a8adf1-1e31-496a-8a06-f9e1ef22831e","instance_template_id":"ce8711a2-337f-452e-a48c-8883e6d75548","loadbalancer":{"backend_ids":["b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a"],"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"},"name":"TestAccASGInstancePolicy","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":["terraform-test","instance-group"],"updated_at":"2025-06-12T21:07:30.896198Z"}' + headers: + Content-Length: + - "603" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 01ff6fb6-8f8d-4824-aaa6-f8dacf25286b + status: 200 OK + code: 200 + duration: 64.110834ms + - id: 52 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-groups/91a8adf1-1e31-496a-8a06-f9e1ef22831e + 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: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 68ac35fc-aec2-4877-9a20-1067b96d05ed + status: 204 No Content + code: 204 + duration: 56.683125ms + - id: 53 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/instance/v1/zones/fr-par-1/servers?name=91a8adf1-1e31-496a-8a06-f9e1ef22831e&order=creation_date_desc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 15 + uncompressed: false + body: '{"servers":[]}' + headers: + Content-Length: + - "15" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:31 GMT + Link: + - ; rel="last" + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0d21a853-3afd-4650-b3b5-d980d76f33a1 + X-Total-Count: + - "0" + status: 200 OK + code: 200 + duration: 114.132292ms + - id: 54 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/ce8711a2-337f-452e-a48c-8883e6d75548 + 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: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6a943882-3061-41f6-b3c1-85ade6253a41 + status: 204 No Content + code: 204 + duration: 66.195125ms + - id: 55 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":1,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:29.262857Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f9cbd10b-10b3-4e97-af5b-11e3a599b3e8 + status: 200 OK + code: 200 + duration: 66.85275ms + - id: 56 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 467 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:06:31.589673Z","id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","name":"tf-volume-nervous-leavitt","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:06:31.589673Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "467" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f8e93626-a561-44b1-a280-d9ed844c410f + status: 200 OK + code: 200 + duration: 167.163667ms + - id: 57 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/backends/b60bb92d-a9dd-4d8c-96bc-91aa10cbfd3a + 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: + - Thu, 12 Jun 2025 21:07:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 893b10b8-deb5-4f96-a397-d1a9c2ec498b + status: 204 No Content + code: 204 + duration: 293.54825ms + - id: 58 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1126 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:07:31.812929Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1126" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ee2d85f1-1bf3-44d1-b9ac-547da205ddde + status: 200 OK + code: 200 + duration: 60.825417ms + - id: 59 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1126 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"pending","updated_at":"2025-06-12T21:07:31.812929Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1126" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2e273176-ea01-48c2-a028-6e7954157757 + status: 200 OK + code: 200 + duration: 69.216416ms + - id: 60 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + 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: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4236da49-ea07-4ee8-bed3-aa4388c59ee6 + status: 204 No Content + code: 204 + duration: 289.776834ms + - id: 61 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/5a051f0d-05ca-4af6-bfa3-1497b03336f8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 129 + uncompressed: false + body: '{"message":"resource is not found","resource":"snapshot","resource_id":"5a051f0d-05ca-4af6-bfa3-1497b03336f8","type":"not_found"}' + headers: + Content-Length: + - "129" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 5d2106f7-3ee0-4e19-a4c0-23607cb4c19a + status: 404 Not Found + code: 404 + duration: 40.824292ms + - id: 62 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/private-networks?order_by=created_at_asc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1248 + uncompressed: false + body: '{"private_network":[{"created_at":"2025-06-12T21:06:57.810399Z","dhcp_config":{"ip_id":"54a79388-5867-4fe3-9a36-dddabf478e03"},"ipam_ids":["54a79388-5867-4fe3-9a36-dddabf478e03"],"lb":{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"},"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f","status":"ready","updated_at":"2025-06-12T21:07:02.653239Z"}],"total_count":1}' + headers: + Content-Length: + - "1248" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f3a1fd43-5676-419a-8a4f-661969d52e4f + status: 200 OK + code: 200 + duration: 110.031958ms + - id: 63 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 423 + uncompressed: false + body: '{"created_at":"2025-06-12T21:06:26.329676Z","id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","last_detached_at":null,"name":"tf-volume-nervous-leavitt","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:06:26.329676Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "423" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f5cdb0db-ea61-408f-baec-da227003f8f0 + status: 200 OK + code: 200 + duration: 38.175292ms + - id: 64 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + 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: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1126f7b5-cdd9-4016-a5d3-f8b1668de932 + status: 204 No Content + code: 204 + duration: 74.320917ms + - id: 65 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/08bde3dc-52b4-4214-bad9-d44dc8c2055b + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 127 + uncompressed: false + body: '{"message":"resource is not found","resource":"volume","resource_id":"08bde3dc-52b4-4214-bad9-d44dc8c2055b","type":"not_found"}' + headers: + Content-Length: + - "127" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9a1fc151-caf8-4067-8891-fa6a955eb64d + status: 404 Not Found + code: 404 + duration: 59.777125ms + - id: 66 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 61 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"private_network_id":"5a8661dc-b373-45dd-af58-75055b504f8f"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3/detach-private-network + method: POST + 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: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2acbe6b3-264e-4c31-b15e-ce9ec00f2e7e + status: 204 No Content + code: 204 + duration: 275.826375ms + - id: 67 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1124 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:32.111967Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"ready","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:06:30.259592Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - eadb3af9-d632-47cd-92b5-9de190915108 + status: 200 OK + code: 200 + duration: 57.905333ms + - id: 68 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3?release_ip=false + 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: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8ef21338-ab8d-4dd8-ad19-14be97519fc3 + status: 204 No Content + code: 204 + duration: 331.278625ms + - id: 69 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1128 + uncompressed: false + body: '{"backend_count":0,"created_at":"2025-06-12T21:06:27.213252Z","description":"","frontend_count":0,"id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","instances":[{"created_at":"2025-06-12T21:02:06.473295Z","id":"052a2d3c-384d-4c8e-8f87-674769acfa1c","ip_address":"","region":"fr-par","status":"ready","updated_at":"2025-06-12T21:07:32.111967Z","zone":"fr-par-1"}],"ip":[{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":"c66f634e-f040-4e3e-a68b-9d63f8d732f3","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}],"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","route_count":0,"ssl_compatibility_level":"ssl_compatibility_level_intermediate","status":"to_delete","subscriber":null,"tags":[],"type":"lb-s","updated_at":"2025-06-12T21:07:32.639898Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "1128" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:07:32 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e10c4a0d-73db-4e4c-a33a-d78a7d44fe1d + status: 200 OK + code: 200 + duration: 70.237667ms + - id: 70 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 27 + uncompressed: false + body: '{"message":"lbs not Found"}' + headers: + Content-Length: + - "27" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:02 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 971845dc-1caf-4539-b263-459f5b17441c + status: 404 Not Found + code: 404 + duration: 28.370667ms + - id: 71 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/lbs/c66f634e-f040-4e3e-a68b-9d63f8d732f3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 27 + uncompressed: false + body: '{"message":"lbs not Found"}' + headers: + Content-Length: + - "27" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 84822bfa-0f1c-4d63-b8fb-8b8976df5c06 + status: 404 Not Found + code: 404 + duration: 51.459458ms + - id: 72 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/cfd9041d-b76a-42be-950b-13d7b8254793 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 296 + uncompressed: false + body: '{"id":"cfd9041d-b76a-42be-950b-13d7b8254793","ip_address":"62.210.39.230","lb_id":null,"organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","reverse":"62-210-39-230.lb.fr-par.scw.cloud","tags":[],"zone":"fr-par-1"}' + headers: + Content-Length: + - "296" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 639792a1-de4f-496f-ac49-c703e6579ec1 + status: 200 OK + code: 200 + duration: 47.461083ms + - id: 73 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/lb/v1/zones/fr-par-1/ips/cfd9041d-b76a-42be-950b-13d7b8254793 + 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: + - Thu, 12 Jun 2025 21:08:03 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 631a7f92-d40e-4e2a-852a-45cdd17b3eed + status: 204 No Content + code: 204 + duration: 382.917833ms + - id: 74 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/5a8661dc-b373-45dd-af58-75055b504f8f + 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: + - Thu, 12 Jun 2025 21:08:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 719c61a8-33f5-4500-8946-57131e174c8f + status: 204 No Content + code: 204 + duration: 1.415597083s + - id: 75 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/5c5e70be-53cd-4c1e-80b9-82c626f2eb30 + 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: + - Thu, 12 Jun 2025 21:08:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 18b0f6cd-78f6-4efa-bf35-1d2cdbe0198a + status: 204 No Content + code: 204 + duration: 99.639625ms + - id: 76 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-policies/4c080a7d-86e4-44dc-a3e2-3a6e679fe2e0 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 30 + uncompressed: false + body: '{"message":"policy not Found"}' + headers: + Content-Length: + - "30" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:04 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge03) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a7673963-dd51-4691-b621-af17db4d6ecc + status: 404 Not Found + code: 404 + duration: 30.413ms diff --git a/internal/services/autoscaling/testdata/instance-template-basic.cassette.yaml b/internal/services/autoscaling/testdata/instance-template-basic.cassette.yaml new file mode 100644 index 0000000000..de27c8d786 --- /dev/null +++ b/internal/services/autoscaling/testdata/instance-template-basic.cassette.yaml @@ -0,0 +1,1081 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 151 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-volume-beautiful-babbage","perf_iops":5000,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","from_empty":{"size":10000000000},"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 424 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "424" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:11 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f88f6cfe-6dd9-4d92-93ab-4b85c3b00aa2 + status: 200 OK + code: 200 + duration: 304.066ms + - 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 424 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "424" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:11 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 42297dd7-eeb5-405f-8761-9d73673c4803 + status: 200 OK + code: 200 + duration: 52.750875ms + - 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 425 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "425" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:16 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 56f05fa0-b9af-4a60-9d30-076a0f3484e1 + status: 200 OK + code: 200 + duration: 53.918417ms + - id: 3 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 425 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "425" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:16 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 40fdba39-db8c-4107-b507-d53e1b1e7486 + status: 200 OK + code: 200 + duration: 39.357208ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 152 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"volume_id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"test-ds-block-snapshot-basic","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 468 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "468" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:16 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c2527050-5c97-4a07-a304-8287985929da + status: 200 OK + code: 200 + duration: 331.74325ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 468 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "468" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:17 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 62d10058-5593-43da-b12d-21f7a4931705 + status: 200 OK + code: 200 + duration: 167.100541ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 469 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "469" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6fc9b34d-2d4c-4ee2-9a16-93e1852e886b + status: 200 OK + code: 200 + duration: 154.233958ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 469 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "469" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c2780975-6dfe-42a5-9343-8608f3665100 + status: 200 OK + code: 200 + duration: 199.61125ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 433 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"commercial_type":"PLAY2-MICRO","volumes":{"0":{"name":"as-volume","perf_iops":5000,"from_snapshot":{"size":null,"snapshot_id":"493889c2-c919-423b-9b96-49095205b3ec"},"tags":[],"boot":true,"volume_type":"sbs"}},"tags":["terraform-test","instance-template"],"public_ips_v4_count":1,"public_ips_v6_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"test-autoscaling-instance-template-basic","private_network_ids":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 658 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T20:34:22.623307103Z","id":"551b53ae-8433-4d6f-9d67-21319918bd3f","image_id":null,"name":"test-autoscaling-instance-template-basic","placement_group_id":null,"private_network_ids":[],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T20:34:22.623307103Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"493889c2-c919-423b-9b96-49095205b3ec"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "658" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b132bb5f-da5d-475f-bf0f-bfeb7f6bb760 + status: 200 OK + code: 200 + duration: 170.531375ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/551b53ae-8433-4d6f-9d67-21319918bd3f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 652 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T20:34:22.623307Z","id":"551b53ae-8433-4d6f-9d67-21319918bd3f","image_id":null,"name":"test-autoscaling-instance-template-basic","placement_group_id":null,"private_network_ids":[],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T20:34:22.623307Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"493889c2-c919-423b-9b96-49095205b3ec"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "652" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - de9af692-3f21-47e2-8318-ac2c9eb6bf4a + status: 200 OK + code: 200 + duration: 44.679792ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/551b53ae-8433-4d6f-9d67-21319918bd3f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 652 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T20:34:22.623307Z","id":"551b53ae-8433-4d6f-9d67-21319918bd3f","image_id":null,"name":"test-autoscaling-instance-template-basic","placement_group_id":null,"private_network_ids":[],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T20:34:22.623307Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"493889c2-c919-423b-9b96-49095205b3ec"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "652" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6b561836-0c15-4cd0-8e3f-d6cbc001e16e + status: 200 OK + code: 200 + duration: 45.569959ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 425 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "425" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6668ebe7-effa-4ab8-ad79-ac1a38aa4c49 + status: 200 OK + code: 200 + duration: 50.801667ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 469 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "469" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e36fdb3c-827d-4cdd-9551-70fb12e07174 + status: 200 OK + code: 200 + duration: 147.673334ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/551b53ae-8433-4d6f-9d67-21319918bd3f + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 652 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T20:34:22.623307Z","id":"551b53ae-8433-4d6f-9d67-21319918bd3f","image_id":null,"name":"test-autoscaling-instance-template-basic","placement_group_id":null,"private_network_ids":[],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","instance-template"],"updated_at":"2025-06-12T20:34:22.623307Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"493889c2-c919-423b-9b96-49095205b3ec"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "652" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 78d26fa6-9d0c-4a97-a1d4-163b9e2919e8 + status: 200 OK + code: 200 + duration: 55.403375ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/551b53ae-8433-4d6f-9d67-21319918bd3f + 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: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 114833b8-5e50-4efb-ae67-8f3e4a2969e4 + status: 204 No Content + code: 204 + duration: 54.216958ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 469 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T20:34:16.690730Z","id":"493889c2-c919-423b-9b96-49095205b3ec","name":"test-ds-block-snapshot-basic","parent_volume":{"id":"6f74507c-e55f-4b36-968f-76c534f099ba","name":"tf-volume-beautiful-babbage","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T20:34:16.690730Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "469" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ea14846f-296a-46c1-921d-85211f852c52 + status: 200 OK + code: 200 + duration: 175.660791ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + 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: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4fe9ec6e-09a8-413e-9a29-343f32efba50 + status: 204 No Content + code: 204 + duration: 196.468458ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/493889c2-c919-423b-9b96-49095205b3ec + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 129 + uncompressed: false + body: '{"message":"resource is not found","resource":"snapshot","resource_id":"493889c2-c919-423b-9b96-49095205b3ec","type":"not_found"}' + headers: + Content-Length: + - "129" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b307f03a-d1c7-4a7c-8db9-97ed6c7290e2 + status: 404 Not Found + code: 404 + duration: 48.496166ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 425 + uncompressed: false + body: '{"created_at":"2025-06-12T20:34:11.398727Z","id":"6f74507c-e55f-4b36-968f-76c534f099ba","last_detached_at":null,"name":"tf-volume-beautiful-babbage","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T20:34:11.398727Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "425" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9999676c-6395-4224-83c4-dd15bd2a105a + status: 200 OK + code: 200 + duration: 62.469875ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + 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: + - Thu, 12 Jun 2025 20:34:24 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1bb18f77-a35c-47ed-bd6c-8bc639c97d9a + status: 204 No Content + code: 204 + duration: 82.903ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/6f74507c-e55f-4b36-968f-76c534f099ba + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 127 + uncompressed: false + body: '{"message":"resource is not found","resource":"volume","resource_id":"6f74507c-e55f-4b36-968f-76c534f099ba","type":"not_found"}' + headers: + Content-Length: + - "127" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:24 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 5e25bcfe-bae7-446c-bd97-6a00a13344aa + status: 404 Not Found + code: 404 + duration: 48.082084ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/551b53ae-8433-4d6f-9d67-21319918bd3f + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 41 + uncompressed: false + body: '{"message":"instance_template not Found"}' + headers: + Content-Length: + - "41" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 20:34:24 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3c3227a5-cf78-4490-b5a4-e7bb1ad04371 + status: 404 Not Found + code: 404 + duration: 21.80775ms diff --git a/internal/services/autoscaling/testdata/instance-template-private-network.cassette.yaml b/internal/services/autoscaling/testdata/instance-template-private-network.cassette.yaml new file mode 100644 index 0000000000..27c1cc57b7 --- /dev/null +++ b/internal/services/autoscaling/testdata/instance-template-private-network.cassette.yaml @@ -0,0 +1,1473 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 136 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstanceTemplatePrivateNetwork","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"enable_routing":false}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 439 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.608483Z","custom_routes_propagation_enabled":false,"id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce","is_default":false,"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:08:17.608483Z"}' + headers: + Content-Length: + - "439" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:17 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 7f3330fc-71ca-4c90-ac02-1c7268b0fd65 + status: 200 OK + code: 200 + duration: 174.851458ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 145 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-volume-eager-tharp","perf_iops":5000,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","from_empty":{"size":10000000000},"tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 418 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "418" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:17 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0900e279-3b27-4bc2-b069-79b77249b1e2 + status: 200 OK + code: 200 + duration: 206.414875ms + - 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 439 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.608483Z","custom_routes_propagation_enabled":false,"id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce","is_default":false,"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:08:17.608483Z"}' + headers: + Content-Length: + - "439" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:17 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6be2059f-8eca-41da-aee8-24547d6e444c + status: 200 OK + code: 200 + duration: 51.809833ms + - id: 3 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 418 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"creating","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "418" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:17 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 006e02bf-80fb-4e70-a7d8-fd06645bda7e + status: 200 OK + code: 200 + duration: 40.315958ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 176 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"TestAccASGInstanceTemplatePrivateNetwork","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"subnets":null,"vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1110 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.724474Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"c9f871c4-4573-4852-8c7d-d70cf481b466","name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:08:17.724474Z","id":"10073bc2-5def-40a3-b455-0b15a268bde8","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.12.0/22","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"},{"created_at":"2025-06-12T21:08:17.724474Z","id":"36bf1421-49b9-45c0-acd2-3bbe229c077e","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:6229::/64","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}],"tags":[],"updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}' + headers: + Content-Length: + - "1110" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:18 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 86b162c3-6f56-498b-be71-2c22031b1f6f + status: 200 OK + code: 200 + duration: 636.690917ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/c9f871c4-4573-4852-8c7d-d70cf481b466 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1110 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.724474Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"c9f871c4-4573-4852-8c7d-d70cf481b466","name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:08:17.724474Z","id":"10073bc2-5def-40a3-b455-0b15a268bde8","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.12.0/22","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"},{"created_at":"2025-06-12T21:08:17.724474Z","id":"36bf1421-49b9-45c0-acd2-3bbe229c077e","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:6229::/64","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}],"tags":[],"updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}' + headers: + Content-Length: + - "1110" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:18 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 01ef62c8-4602-47c7-985d-b8db11beb547 + status: 200 OK + code: 200 + duration: 39.236958ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 419 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "419" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 29366ecb-03ce-47e8-b1fe-e17e8e43eac0 + status: 200 OK + code: 200 + duration: 55.039417ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 419 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "419" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:22 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - afb40c0d-d6d2-497e-ba10-c291b082b7d3 + status: 200 OK + code: 200 + duration: 41.489875ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 164 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"volume_id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"TestAccASGInstanceTemplatePrivateNetwork","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 474 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "474" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 718cf0ae-cb86-49a3-b3b1-361a59152648 + status: 200 OK + code: 200 + duration: 580.754167ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 474 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"creating","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "474" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:23 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 094289a0-1c42-444e-bade-d942e6fa1033 + status: 200 OK + code: 200 + duration: 135.007125ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 475 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "475" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - cad40fcd-e45e-4b59-91b8-8c86dda29549 + status: 200 OK + code: 200 + duration: 166.733375ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 475 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "475" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:28 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 66f7aadf-05bf-4789-93b8-36b024d1cae9 + status: 200 OK + code: 200 + duration: 143.257083ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 459 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"commercial_type":"PLAY2-MICRO","volumes":{"0":{"name":"as-volume","perf_iops":5000,"from_snapshot":{"size":null,"snapshot_id":"904171ab-04a8-413a-b017-8e0526b92588"},"tags":[],"boot":true,"volume_type":"sbs"}},"tags":["terraform-test","basic"],"public_ips_v4_count":1,"public_ips_v6_count":0,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","name":"TestAccASGInstanceTemplatePrivateNetwork","private_network_ids":["c9f871c4-4573-4852-8c7d-d70cf481b466"]}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 684 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:08:29.021329216Z","id":"1ce3519f-03dc-4824-861c-cb2aacd8c6d4","image_id":null,"name":"TestAccASGInstanceTemplatePrivateNetwork","placement_group_id":null,"private_network_ids":["c9f871c4-4573-4852-8c7d-d70cf481b466"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","basic"],"updated_at":"2025-06-12T21:08:29.021329216Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"904171ab-04a8-413a-b017-8e0526b92588"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "684" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4fbc4555-a869-4d27-bb3c-045e2ed66232 + status: 200 OK + code: 200 + duration: 197.303792ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/1ce3519f-03dc-4824-861c-cb2aacd8c6d4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 678 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:08:29.021329Z","id":"1ce3519f-03dc-4824-861c-cb2aacd8c6d4","image_id":null,"name":"TestAccASGInstanceTemplatePrivateNetwork","placement_group_id":null,"private_network_ids":["c9f871c4-4573-4852-8c7d-d70cf481b466"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","basic"],"updated_at":"2025-06-12T21:08:29.021329Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"904171ab-04a8-413a-b017-8e0526b92588"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "678" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b595ad91-5f41-4ca3-853e-a1b2aa2c4bde + status: 200 OK + code: 200 + duration: 51.784791ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/1ce3519f-03dc-4824-861c-cb2aacd8c6d4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 678 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:08:29.021329Z","id":"1ce3519f-03dc-4824-861c-cb2aacd8c6d4","image_id":null,"name":"TestAccASGInstanceTemplatePrivateNetwork","placement_group_id":null,"private_network_ids":["c9f871c4-4573-4852-8c7d-d70cf481b466"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","basic"],"updated_at":"2025-06-12T21:08:29.021329Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"904171ab-04a8-413a-b017-8e0526b92588"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "678" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4aa1d4ee-85f1-4296-a731-f2829931c227 + status: 200 OK + code: 200 + duration: 66.114458ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 439 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.608483Z","custom_routes_propagation_enabled":false,"id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce","is_default":false,"name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","private_network_count":1,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","routing_enabled":true,"tags":[],"updated_at":"2025-06-12T21:08:17.608483Z"}' + headers: + Content-Length: + - "439" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 034f7ae2-e029-47f8-b34a-ab8e7452f8b4 + status: 200 OK + code: 200 + duration: 126.082791ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 419 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "419" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d33b2459-8b8b-4400-8c58-6bba3f4397bc + status: 200 OK + code: 200 + duration: 126.122125ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/c9f871c4-4573-4852-8c7d-d70cf481b466 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1110 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.724474Z","default_route_propagation_enabled":false,"dhcp_enabled":true,"id":"c9f871c4-4573-4852-8c7d-d70cf481b466","name":"TestAccASGInstanceTemplatePrivateNetwork","organization_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","region":"fr-par","subnets":[{"created_at":"2025-06-12T21:08:17.724474Z","id":"10073bc2-5def-40a3-b455-0b15a268bde8","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"172.16.12.0/22","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"},{"created_at":"2025-06-12T21:08:17.724474Z","id":"36bf1421-49b9-45c0-acd2-3bbe229c077e","private_network_id":"c9f871c4-4573-4852-8c7d-d70cf481b466","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","subnet":"fd46:78ab:30b8:6229::/64","updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}],"tags":[],"updated_at":"2025-06-12T21:08:17.724474Z","vpc_id":"3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce"}' + headers: + Content-Length: + - "1110" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 37501ef2-5b36-4b05-a50a-3154236a47e6 + status: 200 OK + code: 200 + duration: 33.904041ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 475 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "475" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f428d566-04f6-465d-9342-c89ba11d3c0f + status: 200 OK + code: 200 + duration: 103.169917ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/1ce3519f-03dc-4824-861c-cb2aacd8c6d4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 678 + uncompressed: false + body: '{"commercial_type":"PLAY2-MICRO","created_at":"2025-06-12T21:08:29.021329Z","id":"1ce3519f-03dc-4824-861c-cb2aacd8c6d4","image_id":null,"name":"TestAccASGInstanceTemplatePrivateNetwork","placement_group_id":null,"private_network_ids":["c9f871c4-4573-4852-8c7d-d70cf481b466"],"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","public_ips_v4_count":1,"security_group_id":null,"status":"unknown_status","tags":["terraform-test","basic"],"updated_at":"2025-06-12T21:08:29.021329Z","volumes":{"0":{"boot":true,"from_snapshot":{"size":null,"snapshot_id":"904171ab-04a8-413a-b017-8e0526b92588"},"name":"as-volume","perf_iops":5000,"tags":[],"volume_type":"sbs"}}}' + headers: + Content-Length: + - "678" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3f94a9ab-64f3-4526-ab16-51156ba5a682 + status: 200 OK + code: 200 + duration: 46.053916ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/1ce3519f-03dc-4824-861c-cb2aacd8c6d4 + 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: + - Thu, 12 Jun 2025 21:08:29 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 5a631fd7-b7ef-4a7f-b361-436c621f8826 + status: 204 No Content + code: 204 + duration: 60.838833ms + - 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.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 475 + uncompressed: false + body: '{"class":"sbs","created_at":"2025-06-12T21:08:22.901600Z","id":"904171ab-04a8-413a-b017-8e0526b92588","name":"TestAccASGInstanceTemplatePrivateNetwork","parent_volume":{"id":"d980b615-d0bd-43be-b731-6edc161d1eb3","name":"tf-volume-eager-tharp","status":"available","type":"sbs_5k"},"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"status":"available","tags":[],"updated_at":"2025-06-12T21:08:22.901600Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "475" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - f573f78d-c239-4541-a03b-aba62a149eae + status: 200 OK + code: 200 + duration: 411.907584ms + - id: 22 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + 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: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 35429ecc-6528-45bb-a31d-df2d56bbdd9b + status: 204 No Content + code: 204 + duration: 249.667875ms + - id: 23 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/snapshots/904171ab-04a8-413a-b017-8e0526b92588 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 129 + uncompressed: false + body: '{"message":"resource is not found","resource":"snapshot","resource_id":"904171ab-04a8-413a-b017-8e0526b92588","type":"not_found"}' + headers: + Content-Length: + - "129" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - eff7e388-6ddd-497a-93b4-da9f26e1f06b + status: 404 Not Found + code: 404 + duration: 51.367916ms + - id: 24 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 419 + uncompressed: false + body: '{"created_at":"2025-06-12T21:08:17.617539Z","id":"d980b615-d0bd-43be-b731-6edc161d1eb3","last_detached_at":null,"name":"tf-volume-eager-tharp","parent_snapshot_id":null,"project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","references":[],"size":10000000000,"specs":{"class":"sbs","perf_iops":5000},"status":"available","tags":[],"type":"sbs_5k","updated_at":"2025-06-12T21:08:17.617539Z","zone":"fr-par-1"}' + headers: + Content-Length: + - "419" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ee9b61e1-83dd-4f23-b67a-e64331952028 + status: 200 OK + code: 200 + duration: 49.432666ms + - id: 25 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + 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: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 4df9ec4c-f90d-434a-bd03-ed76b2f2b2e0 + status: 204 No Content + code: 204 + duration: 75.8415ms + - id: 26 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/block/v1alpha1/zones/fr-par-1/volumes/d980b615-d0bd-43be-b731-6edc161d1eb3 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 127 + uncompressed: false + body: '{"message":"resource is not found","resource":"volume","resource_id":"d980b615-d0bd-43be-b731-6edc161d1eb3","type":"not_found"}' + headers: + Content-Length: + - "127" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:30 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d9430122-95a4-47cf-9290-83624c5e4668 + status: 404 Not Found + code: 404 + duration: 39.959084ms + - id: 27 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/private-networks/c9f871c4-4573-4852-8c7d-d70cf481b466 + 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: + - Thu, 12 Jun 2025 21:08:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - babfc863-a45c-4089-9c34-a2afd0953a31 + status: 204 No Content + code: 204 + duration: 1.395973084s + - id: 28 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3e934ef5-a3e7-4dbe-868c-9a45c3ca83ce + 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: + - Thu, 12 Jun 2025 21:08:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 153d0dc1-5ab3-41e6-a645-ba8b4fbf70b8 + status: 204 No Content + code: 204 + duration: 95.697792ms + - id: 29 + 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.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/autoscaling/v1alpha1/zones/fr-par-1/instance-templates/1ce3519f-03dc-4824-861c-cb2aacd8c6d4 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 41 + uncompressed: false + body: '{"message":"instance_template not Found"}' + headers: + Content-Length: + - "41" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Thu, 12 Jun 2025 21:08:31 GMT + Server: + - Scaleway API Gateway (fr-par-3;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 1e69db69-2905-451f-a70e-6c13d31d0a21 + status: 404 Not Found + code: 404 + duration: 26.212083ms diff --git a/internal/services/autoscaling/testfuncs/sweep.go b/internal/services/autoscaling/testfuncs/sweep.go new file mode 100644 index 0000000000..a249f49079 --- /dev/null +++ b/internal/services/autoscaling/testfuncs/sweep.go @@ -0,0 +1,117 @@ +package autoscalingtestfuncs + +import ( + "fmt" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/logging" +) + +func AddTestSweepers() { + resource.AddTestSweepers("scaleway_autoscaling_instance_group", &resource.Sweeper{ + Name: "scaleway_autoscaling_instance_group", + F: testSweepInstanceGroup, + }) + + resource.AddTestSweepers("scaleway_autoscaling_instance_template", &resource.Sweeper{ + Name: "scaleway_autoscaling_instance_template", + F: testSweepInstanceTemplate, + }) + + resource.AddTestSweepers("scaleway_autoscaling_instance_policy", &resource.Sweeper{ + Name: "scaleway_autoscaling_instance_policy", + F: testSweepInstancePolicy, + }) +} + +func testSweepInstanceGroup(_ string) error { + return acctest.SweepZones((&autoscaling.API{}).Zones(), func(scwClient *scw.Client, zone scw.Zone) error { + autoscalingAPI := autoscaling.NewAPI(scwClient) + + logging.L.Debugf("sweeper: destroying the autoscaling instance groups in (%s)", zone) + + listInstanceGroups, err := autoscalingAPI.ListInstanceGroups( + &autoscaling.ListInstanceGroupsRequest{ + Zone: zone, + }, scw.WithAllPages()) + if err != nil { + return fmt.Errorf("error listing instancegroup in (%s) in sweeper: %w", zone, err) + } + + for _, instanceGroup := range listInstanceGroups.InstanceGroups { + err = autoscalingAPI.DeleteInstanceGroup(&autoscaling.DeleteInstanceGroupRequest{ + InstanceGroupID: instanceGroup.ID, + Zone: zone, + }) + if err != nil { + logging.L.Debugf("sweeper: error (%w)", err) + + return fmt.Errorf("error deleting instance group in sweeper: %w", err) + } + } + + return nil + }) +} + +func testSweepInstanceTemplate(_ string) error { + return acctest.SweepZones((&autoscaling.API{}).Zones(), func(scwClient *scw.Client, zone scw.Zone) error { + autoscalingAPI := autoscaling.NewAPI(scwClient) + + logging.L.Debugf("sweeper: destroying the autoscaling instance templates in (%s)", zone) + + listInstanceTemplates, err := autoscalingAPI.ListInstanceTemplates( + &autoscaling.ListInstanceTemplatesRequest{ + Zone: zone, + }, scw.WithAllPages()) + if err != nil { + return fmt.Errorf("error listing instance templates in (%s) in sweeper: %w", zone, err) + } + + for _, instanceTemplate := range listInstanceTemplates.InstanceTemplates { + err = autoscalingAPI.DeleteInstanceTemplate(&autoscaling.DeleteInstanceTemplateRequest{ + TemplateID: instanceTemplate.ID, + Zone: zone, + }) + if err != nil { + logging.L.Debugf("sweeper: error (%w)", err) + + return fmt.Errorf("error deleting instance template in sweeper: %w", err) + } + } + + return nil + }) +} + +func testSweepInstancePolicy(_ string) error { + return acctest.SweepZones((&autoscaling.API{}).Zones(), func(scwClient *scw.Client, zone scw.Zone) error { + autoscalingAPI := autoscaling.NewAPI(scwClient) + + logging.L.Debugf("sweeper: destroying the autoscaling instance policies in (%s)", zone) + + listInstancePolicies, err := autoscalingAPI.ListInstancePolicies(&autoscaling.ListInstancePoliciesRequest{ + Zone: zone, + }, scw.WithAllPages()) + if err != nil { + return fmt.Errorf("error listing instance policy in (%s) in sweeper: %w", zone, err) + } + + for _, instancePolicy := range listInstancePolicies.Policies { + err = autoscalingAPI.DeleteInstancePolicy(&autoscaling.DeleteInstancePolicyRequest{ + PolicyID: instancePolicy.ID, + Zone: zone, + }) + if err != nil { + logging.L.Debugf("sweeper: error (%w)", err) + + return fmt.Errorf("error deleting instance policy in sweeper: %w", err) + } + } + + return nil + }) +} diff --git a/internal/services/autoscaling/types.go b/internal/services/autoscaling/types.go new file mode 100644 index 0000000000..8f5fd9ccd4 --- /dev/null +++ b/internal/services/autoscaling/types.go @@ -0,0 +1,274 @@ +package autoscaling + +import ( + "sort" + "strconv" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + autoscaling "github.com/scaleway/scaleway-sdk-go/api/autoscaling/v1alpha1" + "github.com/scaleway/scaleway-sdk-go/scw" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" +) + +func expandInstanceCapacity(raw any) *autoscaling.Capacity { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + capacity := &autoscaling.Capacity{ + MaxReplicas: uint32(rawMap["max_replicas"].(int)), + MinReplicas: uint32(rawMap["min_replicas"].(int)), + } + + if rawVal, ok := rawMap["cooldown_delay"].(int); ok { + capacity.CooldownDelay = &scw.Duration{Seconds: int64(rawVal)} + } + + return capacity +} + +func expandUpdateInstanceCapacity(raw any) *autoscaling.UpdateInstanceGroupRequestCapacity { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + capacity := &autoscaling.UpdateInstanceGroupRequestCapacity{} + + if rawVal, ok := rawMap["max_replicas"].(int); ok { + capacity.MaxReplicas = types.ExpandUint32Ptr(rawVal) + } + + if rawVal, ok := rawMap["min_replicas"].(int); ok { + capacity.MinReplicas = types.ExpandUint32Ptr(rawVal) + } + + if rawVal, ok := rawMap["cooldown_delay"].(int); ok { + capacity.CooldownDelay = &scw.Duration{Seconds: int64(rawVal)} + } + + return capacity +} + +func expandInstanceLoadBalancer(raw any) *autoscaling.Loadbalancer { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + + return &autoscaling.Loadbalancer{ + ID: locality.ExpandID(rawMap["id"].(string)), + PrivateNetworkID: locality.ExpandID(rawMap["private_network_id"].(string)), + BackendIDs: locality.ExpandIDs(rawMap["backend_ids"]), + } +} + +func expandPolicyMetric(raw any) *autoscaling.Metric { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + + var managedPtr *autoscaling.MetricManagedMetric + + if s := rawMap["managed_metric"].(string); s != "" { + m := autoscaling.MetricManagedMetric(s) + managedPtr = &m + } + + return &autoscaling.Metric{ + Name: rawMap["name"].(string), + ManagedMetric: managedPtr, + CockpitMetricName: types.ExpandStringPtr(rawMap["cockpit_metric_name"].(string)), + Operator: autoscaling.MetricOperator(rawMap["operator"].(string)), + Aggregate: autoscaling.MetricAggregate(rawMap["aggregate"].(string)), + SamplingRangeMin: uint32(rawMap["sampling_range_min"].(int)), + Threshold: float32(rawMap["threshold"].(int)), + } +} + +func expandUpdatePolicyMetric(raw any) *autoscaling.UpdateInstancePolicyRequestMetric { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + + var managedPtr *autoscaling.UpdateInstancePolicyRequestMetricManagedMetric + + if s := rawMap["managed_metric"].(string); s != "" { + m := autoscaling.UpdateInstancePolicyRequestMetricManagedMetric(s) + managedPtr = &m + } + + return &autoscaling.UpdateInstancePolicyRequestMetric{ + Name: types.ExpandStringPtr(rawMap["name"].(string)), + ManagedMetric: managedPtr, + CockpitMetricName: types.ExpandStringPtr(rawMap["cockpit_metric_name"].(string)), + Operator: autoscaling.UpdateInstancePolicyRequestMetricOperator(rawMap["operator"].(string)), + Aggregate: autoscaling.UpdateInstancePolicyRequestMetricAggregate(rawMap["aggregate"].(string)), + SamplingRangeMin: types.ExpandUint32Ptr(rawMap["sampling_range_min"].(int)), + Threshold: scw.Float32Ptr(float32(rawMap["sampling_threshold"].(int))), + } +} + +func expandUpdateInstanceLoadBalancer(raw any) *autoscaling.UpdateInstanceGroupRequestLoadbalancer { + if raw == nil || len(raw.([]any)) != 1 { + return nil + } + + rawMap := raw.([]any)[0].(map[string]any) + lb := &autoscaling.UpdateInstanceGroupRequestLoadbalancer{} + + if rawVal, ok := rawMap["backend_ids"].(int); ok { + lb.BackendIDs = types.ExpandStringsPtr(locality.ExpandIDs(rawVal)) + } + + return lb +} + +func expandVolumes(rawVols []any) map[string]*autoscaling.VolumeInstanceTemplate { + vols := make(map[string]*autoscaling.VolumeInstanceTemplate, len(rawVols)) + + for i, raw := range rawVols { + m := raw.(map[string]any) + vt := &autoscaling.VolumeInstanceTemplate{ + Name: m["name"].(string), + Boot: m["boot"].(bool), + VolumeType: autoscaling.VolumeInstanceTemplateVolumeType(m["volume_type"].(string)), + Tags: types.ExpandStrings(m["tags"].([]any)), + PerfIops: types.ExpandUint32Ptr(m["perf_iops"].(int)), + } + + if slice := m["from_empty"].([]any); len(slice) > 0 && slice[0] != nil { + inner := slice[0].(map[string]any) + sizeGB := inner["size"].(int) + vt.FromEmpty = &autoscaling.VolumeInstanceTemplateFromEmpty{ + Size: scw.Size(uint64(sizeGB) * uint64(scw.GB)), + } + } + + if slice := m["from_snapshot"].([]any); len(slice) > 0 && slice[0] != nil { + inner := slice[0].(map[string]any) + snapshot := &autoscaling.VolumeInstanceTemplateFromSnapshot{ + SnapshotID: locality.ExpandID(inner["snapshot_id"].(string)), + } + + if sz, ok := inner["size"].(int); ok && sz > 0 { + snapshot.Size = scw.SizePtr(scw.Size(uint64(sz) * uint64(scw.GB))) + } + + vt.FromSnapshot = snapshot + } + + vols[strconv.Itoa(i)] = vt + } + + return vols +} + +func flattenInstanceCapacity(capacity *autoscaling.Capacity) any { + if capacity == nil { + return nil + } + + return []map[string]any{ + { + "max_replicas": capacity.MaxReplicas, + "min_replicas": capacity.MinReplicas, + "cooldown_delay": capacity.CooldownDelay.Seconds, + }, + } +} + +func flattenInstanceLoadBalancer(lb *autoscaling.Loadbalancer, zone scw.Zone) any { + if lb == nil { + return nil + } + + pnRegion, err := zone.Region() + if err != nil { + return diag.FromErr(err) + } + + return []map[string]any{ + { + "id": zonal.NewIDString(zone, lb.ID), + "backend_ids": zonal.NewIDStrings(zone, lb.BackendIDs), + "private_network_id": regional.NewIDString(pnRegion, lb.PrivateNetworkID), + }, + } +} + +func flattenPolicyMetric(metric *autoscaling.Metric) any { + if metric == nil { + return nil + } + + var managedMetric string + if metric.ManagedMetric != nil { + managedMetric = metric.ManagedMetric.String() + } + + return []map[string]any{ + { + "name": metric.Name, + "managed_metric": managedMetric, + "cockpit_metric_name": types.FlattenStringPtr(metric.CockpitMetricName), + "operator": metric.Operator.String(), + "aggregate": metric.Aggregate.String(), + "sampling_range_min": metric.SamplingRangeMin, + "threshold": metric.Threshold, + }, + } +} + +func flattenVolumes(zone scw.Zone, volMap map[string]*autoscaling.VolumeInstanceTemplate) []any { + keys := make([]string, 0, len(volMap)) + for k := range volMap { + keys = append(keys, k) + } + + sort.Strings(keys) + + volumes := make([]any, len(keys)) + + for i, k := range keys { + v := volMap[k] + m := map[string]any{ + "name": v.Name, + "boot": v.Boot, + "volume_type": v.VolumeType.String(), + "tags": v.Tags, + "perf_iops": types.FlattenUint32Ptr(v.PerfIops), + } + + if v.FromEmpty != nil { + m["from_empty"] = []any{map[string]any{ + "size": int(v.FromEmpty.Size / scw.GB), + }} + } + + if v.FromSnapshot != nil { + inner := map[string]any{ + "snapshot_id": zonal.NewIDString(zone, v.FromSnapshot.SnapshotID), + } + + if v.FromSnapshot.Size != nil { + inner["size"] = int(*v.FromSnapshot.Size / scw.GB) + } + + m["from_snapshot"] = []any{inner} + } + + volumes[i] = m + } + + return volumes +} diff --git a/internal/services/baremetal/types.go b/internal/services/baremetal/types.go index 30b1c3bf7e..c8da498412 100644 --- a/internal/services/baremetal/types.go +++ b/internal/services/baremetal/types.go @@ -196,7 +196,7 @@ func flattenPrivateNetworks(region scw.Region, privateNetworks []*baremetalV3.Se flattenedPrivateNetworks = append(flattenedPrivateNetworks, map[string]any{ "id": regional.NewIDString(region, privateNetwork.PrivateNetworkID), "mapping_id": regional.NewIDString(region, privateNetwork.ID), - "ipam_ip_ids": regional.NewRegionalIDs(region, privateNetwork.IpamIPIDs), + "ipam_ip_ids": regional.NewIDStrings(region, privateNetwork.IpamIPIDs), "vlan": types.FlattenUint32Ptr(privateNetwork.Vlan), "status": privateNetwork.Status, "created_at": types.FlattenTime(privateNetwork.CreatedAt), diff --git a/internal/services/instance/helpers_instance.go b/internal/services/instance/helpers_instance.go index e9d2ad9a2e..f7f0c79d0c 100644 --- a/internal/services/instance/helpers_instance.go +++ b/internal/services/instance/helpers_instance.go @@ -552,3 +552,50 @@ func getServerProjectID(ctx context.Context, api *instance.API, zone scw.Zone, s return server.Server.Project, nil } + +func DeleteASGServers( + ctx context.Context, + api *instance.API, + zone scw.Zone, + groupID string, + timeout time.Duration, +) error { + resp, err := api.ListServers(&instance.ListServersRequest{ + Zone: zone, + Name: types.ExpandStringPtr(groupID), + }, scw.WithContext(ctx)) + if err != nil { + return err + } + + for _, srv := range resp.Servers { + switch srv.State { + case instance.ServerStateRunning: + if _, err = api.ServerAction(&instance.ServerActionRequest{ + Zone: zone, + ServerID: srv.ID, + Action: instance.ServerActionTerminate, + }, scw.WithContext(ctx)); err != nil { + return err + } + case instance.ServerStateStopped, instance.ServerStateStoppedInPlace: + if err = api.DeleteServer(&instance.DeleteServerRequest{ + Zone: zone, + ServerID: srv.ID, + }, scw.WithContext(ctx)); err != nil { + return err + } + } + + _, err := api.WaitForServer(&instance.WaitForServerRequest{ + Zone: zone, + ServerID: srv.ID, + Timeout: scw.TimeDurationPtr(timeout), + }, scw.WithContext(ctx)) + if err != nil && !httperrors.Is404(err) { + return err + } + } + + return nil +} diff --git a/internal/services/lb/types.go b/internal/services/lb/types.go index c22e0095fd..9b380168a4 100644 --- a/internal/services/lb/types.go +++ b/internal/services/lb/types.go @@ -45,7 +45,7 @@ func flattenPrivateNetworkConfigs(privateNetworks []*lb.PrivateNetwork) any { "status": pn.Status.String(), "zone": pn.LB.Zone.String(), "static_config": flattenLbPrivateNetworkStaticConfig(pn.StaticConfig), //nolint:staticcheck - "ipam_ids": regional.NewRegionalIDs(pnRegion, pn.IpamIDs), + "ipam_ids": regional.NewIDStrings(pnRegion, pn.IpamIDs), }) }