diff --git a/docs/resources/vpc_acl.md b/docs/resources/vpc_acl.md index aea6fcc322..adbef07adc 100644 --- a/docs/resources/vpc_acl.md +++ b/docs/resources/vpc_acl.md @@ -39,7 +39,7 @@ resource "scaleway_vpc_acl" "acl01" { The following arguments are supported: - `vpc_id` - (Required) The VPC ID the ACL belongs to. -- `default_policy` - (Required) The action to take for packets which do not match any rules. +- `default_policy` - (Optional. Defaults to `accept`) The action to take for packets which do not match any rules. - `is_ipv6` - (Optional) Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type. - `rules` - (Optional) The list of Network ACL rules. - `protocol` - (Optional) The protocol to which this rule applies. Default value: ANY. diff --git a/internal/services/vpc/acl.go b/internal/services/vpc/acl.go index 1a4c2ef5ba..697c7d0a49 100644 --- a/internal/services/vpc/acl.go +++ b/internal/services/vpc/acl.go @@ -31,7 +31,8 @@ func ResourceACL() *schema.Resource { }, "default_policy": { Type: schema.TypeString, - Required: true, + Optional: true, + Default: vpc.ActionAccept, Description: "The action to take for packets which do not match any rules", ValidateDiagFunc: verify.ValidateEnum[vpc.Action](), }, @@ -43,7 +44,7 @@ func ResourceACL() *schema.Resource { }, "rules": { Type: schema.TypeList, - Required: true, + Optional: true, Description: "The list of Network ACL rules", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -201,7 +202,7 @@ func ResourceVPCACLDelete(ctx context.Context, d *schema.ResourceData, m any) di _, err = vpcAPI.SetACL(&vpc.SetACLRequest{ VpcID: locality.ExpandID(ID), Region: region, - DefaultPolicy: "drop", + DefaultPolicy: vpc.ActionAccept, }, scw.WithContext(ctx)) if err != nil { return diag.FromErr(err) diff --git a/internal/services/vpc/acl_test.go b/internal/services/vpc/acl_test.go index b7ff523563..046afe8841 100644 --- a/internal/services/vpc/acl_test.go +++ b/internal/services/vpc/acl_test.go @@ -13,6 +13,55 @@ import ( ) func TestAccACL_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: isACLDestroyed(tt), + Steps: []resource.TestStep{ + { + Config: ` + resource "scaleway_vpc" "vpc01" { + name = "tf-vpc-acl-basic" + } + + resource "scaleway_vpc_acl" "acl01" { + vpc_id = scaleway_vpc.vpc01.id + is_ipv6 = false + } + `, + Check: resource.ComposeTestCheckFunc( + isACLPresent(tt, "scaleway_vpc_acl.acl01"), + resource.TestCheckResourceAttrPair("scaleway_vpc_acl.acl01", "vpc_id", "scaleway_vpc.vpc01", "id"), + resource.TestCheckResourceAttr("scaleway_vpc_acl.acl01", "is_ipv6", "false"), + resource.TestCheckResourceAttr("scaleway_vpc_acl.acl01", "default_policy", "accept"), + ), + }, + { + Config: ` + resource "scaleway_vpc" "vpc01" { + name = "tf-vpc-acl-basic" + } + + resource "scaleway_vpc_acl" "acl01" { + vpc_id = scaleway_vpc.vpc01.id + is_ipv6 = false + default_policy = "drop" + } + `, + Check: resource.ComposeTestCheckFunc( + isACLPresent(tt, "scaleway_vpc_acl.acl01"), + resource.TestCheckResourceAttrPair("scaleway_vpc_acl.acl01", "vpc_id", "scaleway_vpc.vpc01", "id"), + resource.TestCheckResourceAttr("scaleway_vpc_acl.acl01", "is_ipv6", "false"), + resource.TestCheckResourceAttr("scaleway_vpc_acl.acl01", "default_policy", "drop"), + ), + }, + }, + }) +} + +func TestAccACL_WithRules(t *testing.T) { tt := acctest.NewTestTools(t) defer tt.Cleanup() resource.ParallelTest(t, resource.TestCase{ @@ -121,6 +170,16 @@ func TestAccACL_Basic(t *testing.T) { resource.TestCheckResourceAttr("scaleway_vpc_acl.acl01", "rules.1.action", "accept"), ), }, + { + Config: ` + resource "scaleway_vpc" "vpc01" { + name = "tf-vpc-acl" + } + `, + Check: resource.ComposeTestCheckFunc( + testAccCheckACLDefaultPolicy(tt, "scaleway_vpc.vpc01"), + ), + }, }, }) } @@ -178,3 +237,32 @@ func isACLDestroyed(tt *acctest.TestTools) resource.TestCheckFunc { return nil } } + +func testAccCheckACLDefaultPolicy(tt *acctest.TestTools, n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("resource not found: %s", n) + } + + vpcAPI, region, ID, err := vpc.NewAPIWithRegionAndID(tt.Meta, rs.Primary.ID) + if err != nil { + return err + } + + acl, err := vpcAPI.GetACL(&vpcSDK.GetACLRequest{ + VpcID: ID, + Region: region, + IsIPv6: false, + }) + if err != nil { + return err + } + + if acl.DefaultPolicy.String() != vpcSDK.ActionAccept.String() { + return fmt.Errorf("expected default_policy to be %s, got %s", vpcSDK.ActionAccept.String(), acl.DefaultPolicy.String()) + } + + return nil + } +} diff --git a/internal/services/vpc/testdata/acl-basic.cassette.yaml b/internal/services/vpc/testdata/acl-basic.cassette.yaml index 3f7c758976..f9862ab9ec 100644 --- a/internal/services/vpc/testdata/acl-basic.cassette.yaml +++ b/internal/services/vpc/testdata/acl-basic.cassette.yaml @@ -6,13 +6,13 @@ interactions: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 106 + content_length: 112 transfer_encoding: [] trailer: {} host: api.scaleway.com remote_addr: "" request_uri: "" - body: '{"name":"tf-vpc-acl","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"enable_routing":false}' + body: '{"name":"tf-vpc-acl-basic","project_id":"564aa517-68b0-4fd7-8c8c-d21c4bcdcbd5","tags":[],"enable_routing":false}' form: {} headers: Content-Type: @@ -27,20 +27,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 398 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":false,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:03.525825Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:18.292277Z"}' headers: Content-Length: - - "398" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -48,10 +48,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 96fcbffd-78ba-488e-ab1e-b47cab4cf280 + - 28e87258-c8f7-46a7-ace0-355ea0455aa4 status: 200 OK code: 200 - duration: 278.035ms + duration: 192.947958ms - id: 1 request: proto: HTTP/1.1 @@ -70,7 +70,7 @@ interactions: - application/json User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/enable-custom-routes-propagation + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/enable-custom-routes-propagation method: POST response: proto: HTTP/2.0 @@ -78,20 +78,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 397 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":true,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:03.596435Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:18.292277Z"}' headers: Content-Length: - - "397" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -99,10 +99,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 0cf86faf-1c70-49d1-ae72-5a556c7a91c9 + - 1237037f-9d27-46a5-aedb-8f11266c83f6 status: 200 OK code: 200 - duration: 49.148791ms + duration: 107.254375ms - id: 2 request: proto: HTTP/1.1 @@ -119,7 +119,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -127,20 +127,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 397 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":true,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:03.596435Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:18.292277Z"}' headers: Content-Length: - - "397" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -148,29 +148,29 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 652fb1b1-35aa-44bf-9944-4c69b9523ad6 + - e7e90615-32b1-4d2c-8070-ae655371dd8e status: 200 OK code: 200 - duration: 34.512041ms + duration: 32.691209ms - id: 3 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 258 + content_length: 56 transfer_encoding: [] trailer: {} host: api.scaleway.com remote_addr: "" request_uri: "" - body: '{"rules":[{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":80,"dst_port_high":80,"action":"accept","description":"Allow HTTP traffic from any source"}],"is_ipv6":false,"default_policy":"drop"}' + body: '{"rules":null,"is_ipv6":false,"default_policy":"accept"}' form: {} headers: Content-Type: - application/json User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules method: PUT response: proto: HTTP/2.0 @@ -178,20 +178,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 263 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "263" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -199,10 +199,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fee15e29-ae6f-401b-925d-817188b61411 + - 717cae51-9323-4c0d-b556-54ef6799dcae status: 200 OK code: 200 - duration: 88.528334ms + duration: 101.819875ms - id: 4 request: proto: HTTP/1.1 @@ -219,7 +219,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -227,20 +227,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 263 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "263" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -248,10 +248,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - f67bcdca-a15f-454b-8c8d-4a175061ce8e + - 95f8a8ee-1591-4fcf-9a51-d9e7ee823a4d status: 200 OK code: 200 - duration: 34.281ms + duration: 28.768625ms - id: 5 request: proto: HTTP/1.1 @@ -268,7 +268,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -276,20 +276,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 263 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "263" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:03 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -297,10 +297,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 7a8dcd5b-f06c-46ba-aa2a-11ed7c4a57ad + - fc7928e4-8e5c-4178-aeea-b630d90b94a2 status: 200 OK code: 200 - duration: 532.899208ms + duration: 95.881917ms - id: 6 request: proto: HTTP/1.1 @@ -317,7 +317,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -325,20 +325,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 397 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":true,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:03.733294Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:18.543063Z"}' headers: Content-Length: - - "397" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:04 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -346,10 +346,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 807efa69-41e5-4db5-b086-91eff98953ce + - c9582639-1878-4b93-b667-a365c38945ce status: 200 OK code: 200 - duration: 397.781708ms + duration: 31.437459ms - id: 7 request: proto: HTTP/1.1 @@ -366,7 +366,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -374,20 +374,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 263 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "263" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -395,10 +395,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ab14edfd-7556-4b0a-8ab1-c46c1ef5fced + - 0532b98c-f3d2-4022-b711-28569e986031 status: 200 OK code: 200 - duration: 27.876041ms + duration: 26.545083ms - id: 8 request: proto: HTTP/1.1 @@ -415,7 +415,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -423,20 +423,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 397 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":true,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:03.733294Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:18.543063Z"}' headers: Content-Length: - - "397" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -444,10 +444,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d2690b8a-76cd-48b1-84f0-5090e2635ad8 + - 39488f06-e60e-49b9-887d-c622391c0d3a status: 200 OK code: 200 - duration: 31.760416ms + duration: 30.838ms - id: 9 request: proto: HTTP/1.1 @@ -464,7 +464,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -472,20 +472,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 263 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "263" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -493,29 +493,29 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 72253a0d-c4ab-4211-9cf2-0ff540129333 + - 0f57b091-c409-4ad3-b377-14df4425f2ab status: 200 OK code: 200 - duration: 34.189584ms + duration: 27.044ms - id: 10 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 468 + content_length: 54 transfer_encoding: [] trailer: {} host: api.scaleway.com remote_addr: "" request_uri: "" - body: '{"rules":[{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":80,"dst_port_high":80,"action":"accept","description":"Allow HTTP traffic from any source"},{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":443,"dst_port_high":443,"action":"accept","description":"Allow HTTPS traffic from any source"}],"is_ipv6":false,"default_policy":"drop"}' + body: '{"rules":null,"is_ipv6":false,"default_policy":"drop"}' form: {} headers: Content-Type: - application/json User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules method: PUT response: proto: HTTP/2.0 @@ -523,20 +523,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 494 + content_length: 37 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[]}' headers: Content-Length: - - "494" + - "37" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -544,10 +544,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 8b600018-7a42-4435-8965-10b423625a68 + - 794192f0-8259-4324-9919-6e4fa77c0bf9 status: 200 OK code: 200 - duration: 213.086417ms + duration: 94.561958ms - id: 11 request: proto: HTTP/1.1 @@ -564,7 +564,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -572,20 +572,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 494 + content_length: 37 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[]}' headers: Content-Length: - - "494" + - "37" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -593,10 +593,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - b9e921f8-d0cd-4fc9-a303-d6530b96926c + - 1928c0b5-2cba-4127-b03e-b4c0713aca0a status: 200 OK code: 200 - duration: 32.976125ms + duration: 30.804209ms - id: 12 request: proto: HTTP/1.1 @@ -613,7 +613,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -621,20 +621,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 494 + content_length: 37 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[]}' headers: Content-Length: - - "494" + - "37" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:05 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -642,10 +642,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 42e4aaa9-1b9f-4187-8cfb-b45ce8e76e57 + - 14d067d4-d528-45f2-9306-ac36618fdce4 status: 200 OK code: 200 - duration: 33.51025ms + duration: 30.582208ms - id: 13 request: proto: HTTP/1.1 @@ -662,7 +662,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -670,20 +670,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 397 + content_length: 414 uncompressed: false - body: '{"created_at":"2025-06-30T15:16:03.525825Z","custom_routes_propagation_enabled":true,"id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","is_default":false,"name":"tf-vpc-acl","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-30T15:16:05.702577Z"}' + body: '{"created_at":"2025-07-15T15:38:18.292277Z","custom_routes_propagation_enabled":true,"id":"6efb008a-4211-4a86-9a45-e63808301b82","is_default":false,"name":"tf-vpc-acl-basic","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-07-15T15:38:19.470864Z"}' headers: Content-Length: - - "397" + - "414" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -691,10 +691,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 75b0f422-c28d-4a01-92b7-bec72aecac66 + - fe47df47-e3f1-450b-8848-b9f3a9eae3e3 status: 200 OK code: 200 - duration: 33.036541ms + duration: 27.927042ms - id: 14 request: proto: HTTP/1.1 @@ -711,7 +711,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -719,20 +719,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 494 + content_length: 37 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[]}' headers: Content-Length: - - "494" + - "37" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:38:19 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -740,29 +740,29 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 05c04e58-f0ed-45ef-9366-b15c8f7229dd + - 9946f40f-4b08-46cb-ab19-5ac2d34af91b status: 200 OK code: 200 - duration: 42.422042ms + duration: 25.557583ms - id: 15 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 54 + content_length: 56 transfer_encoding: [] trailer: {} host: api.scaleway.com remote_addr: "" request_uri: "" - body: '{"rules":null,"is_ipv6":false,"default_policy":"drop"}' + body: '{"rules":null,"is_ipv6":false,"default_policy":"accept"}' form: {} headers: Content-Type: - application/json User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules method: PUT response: proto: HTTP/2.0 @@ -770,20 +770,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 36 + content_length: 39 uncompressed: false - body: '{"default_policy":"drop","rules":[]}' + body: '{"default_policy":"accept","rules":[]}' headers: Content-Length: - - "36" + - "39" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -791,10 +791,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - dd465fec-a5d2-475d-b3a2-82e865153c95 + - 8869a562-ffef-4c38-9c69-9e55f6e51087 status: 200 OK code: 200 - duration: 87.908125ms + duration: 72.250333ms - id: 16 request: proto: HTTP/1.1 @@ -811,7 +811,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: DELETE response: proto: HTTP/2.0 @@ -828,9 +828,9 @@ interactions: Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -838,10 +838,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - a3bd4cc3-9ce1-4366-8ad1-67f88f9cc94a + - 0d6ea97e-3306-44f2-8939-3c78c5286d88 status: 204 No Content code: 204 - duration: 110.898166ms + duration: 97.2275ms - id: 17 request: proto: HTTP/1.1 @@ -858,7 +858,7 @@ interactions: headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -868,7 +868,7 @@ interactions: trailer: {} content_length: 124 uncompressed: false - body: '{"message":"resource is not found","resource":"vpc","resource_id":"aa8a56b0-08a8-42d5-aeac-0183449e93e7","type":"not_found"}' + body: '{"message":"resource is not found","resource":"vpc","resource_id":"6efb008a-4211-4a86-9a45-e63808301b82","type":"not_found"}' headers: Content-Length: - "124" @@ -877,9 +877,9 @@ interactions: Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - - Scaleway API Gateway (fr-par-2;edge02) + - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: - max-age=63072000 X-Content-Type-Options: @@ -887,7 +887,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d51e8372-64df-4b30-965c-a89d2f79f244 + - 594bd0ca-e44e-4c13-befc-3f19da176cb1 status: 404 Not Found code: 404 - duration: 28.540333ms + duration: 24.141458ms diff --git a/internal/services/vpc/testdata/acl-with-rules.cassette.yaml b/internal/services/vpc/testdata/acl-with-rules.cassette.yaml new file mode 100644 index 0000000000..dd639dddbe --- /dev/null +++ b/internal/services/vpc/testdata/acl-with-rules.cassette.yaml @@ -0,0 +1,1040 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 106 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"name":"tf-vpc-acl","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.4; 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: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:58.551237Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 3a78a594-7423-4dce-88ac-0206cd56591a + status: 200 OK + code: 200 + duration: 232.372334ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 2 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/enable-custom-routes-propagation + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:58.551237Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d7ad7fe4-7105-427f-a2e3-4feb3bf8ad90 + status: 200 OK + code: 200 + duration: 40.721625ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:58.551237Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c46d92b5-6bab-4126-9f84-c2ddadd9f24d + status: 200 OK + code: 200 + duration: 64.546625ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 258 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"rules":[{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":80,"dst_port_high":80,"action":"accept","description":"Allow HTTP traffic from any source"}],"is_ipv6":false,"default_policy":"drop"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 272 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "272" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6b0c8056-8d5c-4e63-9cd0-226e9c68758a + status: 200 OK + code: 200 + duration: 85.018291ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 272 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "272" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8ed85eeb-9cd8-4516-9637-6fe1fa254bed + status: 200 OK + code: 200 + duration: 56.591709ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 272 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "272" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:58 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 350dfc8a-f89a-4374-bea1-c9d98b6de13e + status: 200 OK + code: 200 + duration: 61.417625ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:58.765951Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 33e1ecd5-9ab0-4ccb-bc85-c603342ceacb + status: 200 OK + code: 200 + duration: 53.848625ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 272 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "272" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 0f42fbac-5305-425d-a5b5-c91c1843a2c4 + status: 200 OK + code: 200 + duration: 52.05ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:58.765951Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - bf0e6452-8752-4ceb-9145-1019ba29537c + status: 200 OK + code: 200 + duration: 22.584083ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 272 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "272" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 13fbb9df-7d29-4fbd-a642-e70aa99bc43d + status: 200 OK + code: 200 + duration: 53.888042ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 468 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"rules":[{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":80,"dst_port_high":80,"action":"accept","description":"Allow HTTP traffic from any source"},{"protocol":"TCP","source":"0.0.0.0/0","src_port_low":0,"src_port_high":0,"destination":"0.0.0.0/0","dst_port_low":443,"dst_port_high":443,"action":"accept","description":"Allow HTTPS traffic from any source"}],"is_ipv6":false,"default_policy":"drop"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 512 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "512" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 741dd47a-c26a-4e9b-944a-8bc311b26528 + status: 200 OK + code: 200 + duration: 66.023708ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 512 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "512" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ea9fc7b7-d5b0-493f-8947-98e51cd6935a + status: 200 OK + code: 200 + duration: 28.092ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 512 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "512" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:37:59 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c1259043-3083-445d-8156-86b12fe959a0 + status: 200 OK + code: 200 + duration: 56.943084ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:59.752053Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e7186022-3a61-4a06-9f9f-6707633a8875 + status: 200 OK + code: 200 + duration: 29.045ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 512 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "512" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 071aa0cb-bde4-4c32-bbd7-daf9a1b4285b + status: 200 OK + code: 200 + duration: 28.060041ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 512 + uncompressed: false + body: '{"default_policy":"drop","rules":[{"action":"accept","description":"(Rule scope: client) Allow HTTP traffic from any source","destination":"0.0.0.0/0","dst_port_high":80,"dst_port_low":80,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0},{"action":"accept","description":"(Rule scope: client) Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + headers: + Content-Length: + - "512" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 30485801-ca7a-4dc5-ba73-05cb5bffa638 + status: 200 OK + code: 200 + duration: 27.759375ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:37:59.752053Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 84bfbfe1-e5e7-4d5c-a362-bde99d2f5c48 + status: 200 OK + code: 200 + duration: 30.480167ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 56 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + body: '{"rules":null,"is_ipv6":false,"default_policy":"accept"}' + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 39 + uncompressed: false + body: '{"default_policy":"accept","rules":[]}' + headers: + Content-Length: + - "39" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 049fab28-2bb5-4610-badc-b51c0d5bd283 + status: 200 OK + code: 200 + duration: 75.163667ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 39 + uncompressed: false + body: '{"default_policy":"accept","rules":[]}' + headers: + Content-Length: + - "39" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - a1f6f7f7-3972-48eb-8f6d-b2675ee2be44 + status: 200 OK + code: 200 + duration: 31.595792ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"created_at":"2025-07-15T15:37:58.551237Z","custom_routes_propagation_enabled":true,"id":"16ea81e5-55b7-4f04-b978-af1e99810a07","is_default":false,"name":"tf-vpc-acl","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-07-15T15:38:00.623707Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:00 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fb4b87be-4eca-4a4a-8404-ebe9b4e6281d + status: 200 OK + code: 200 + duration: 26.964458ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 + 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: + - Tue, 15 Jul 2025 15:38:01 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge01) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fcc90448-488a-46e1-9e68-6b430b495085 + status: 204 No Content + code: 204 + duration: 125.105084ms