From c233a4cc6124f09049dcb66d6627bbe90da5f4db Mon Sep 17 00:00:00 2001 From: Yacine FODIL Date: Tue, 15 Jul 2025 17:06:14 +0200 Subject: [PATCH 1/3] fix(vpc): set correct default policy value --- docs/resources/vpc_acl.md | 2 +- internal/services/vpc/acl.go | 7 +- internal/services/vpc/acl_test.go | 30 + .../vpc/testdata/acl-basic.cassette.yaml | 525 ++-------- .../vpc/testdata/acl-with-rules.cassette.yaml | 893 ++++++++++++++++++ 5 files changed, 1018 insertions(+), 439 deletions(-) create mode 100644 internal/services/vpc/testdata/acl-with-rules.cassette.yaml diff --git a/docs/resources/vpc_acl.md b/docs/resources/vpc_acl.md index aea6fcc322..bd0189d86c 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..77204e95fc 100644 --- a/internal/services/vpc/acl_test.go +++ b/internal/services/vpc/acl_test.go @@ -13,6 +13,36 @@ 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"), + ), + }, + }, + }) +} + +func TestAccACL_WithRules(t *testing.T) { tt := acctest.NewTestTools(t) defer tt.Cleanup() resource.ParallelTest(t, resource.TestCase{ diff --git a/internal/services/vpc/testdata/acl-basic.cassette.yaml b/internal/services/vpc/testdata/acl-basic.cassette.yaml index 3f7c758976..5ab47289f7 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:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' 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:03:26 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 + - dec35565-cb53-4639-989d-13feb56dc3d0 status: 200 OK code: 200 - duration: 278.035ms + duration: 186.084792ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' 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:03:26 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 + - 83a3be0a-efef-4689-853a-6a23d4e57ee4 status: 200 OK code: 200 - duration: 49.148791ms + duration: 43.658125ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e 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:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' 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:03:26 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 + - 875d18cb-ac9d-427b-8de7-b7e780f2ba4c status: 200 OK code: 200 - duration: 34.512041ms + duration: 48.167667ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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:03:26 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 + - aa380c60-8f05-4709-9bf5-ccef063f84ea status: 200 OK code: 200 - duration: 88.528334ms + duration: 93.570417ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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:03:26 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 + - 14af3359-b88b-4487-8021-fa9db6008aa6 status: 200 OK code: 200 - duration: 34.281ms + duration: 28.907291ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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:03:26 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 + - 1af597d3-b3b6-4362-b4cd-ae57d07e8686 status: 200 OK code: 200 - duration: 532.899208ms + duration: 32.9225ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e 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:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.261081Z"}' 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:03:26 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 + - e861f561-c25a-499f-922a-37b1e9c4837b status: 200 OK code: 200 - duration: 397.781708ms + duration: 28.835ms - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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:03:26 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,374 +395,29 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ab14edfd-7556-4b0a-8ab1-c46c1ef5fced + - 784d8b85-4684-43f4-a257-2a6bc7f8d250 status: 200 OK code: 200 - duration: 27.876041ms + duration: 30.9085ms - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7 - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 397 - 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"}' - headers: - Content-Length: - - "397" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:05 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - d2690b8a-76cd-48b1-84f0-5090e2635ad8 - status: 200 OK - code: 200 - duration: 31.760416ms - - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 263 - 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: - - "263" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:05 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 72253a0d-c4ab-4211-9cf2-0ff540129333 - status: 200 OK - code: 200 - duration: 34.189584ms - - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules - method: PUT - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 494 - 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: - - "494" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:05 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 8b600018-7a42-4435-8965-10b423625a68 - status: 200 OK - code: 200 - duration: 213.086417ms - - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 494 - 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: - - "494" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:05 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - b9e921f8-d0cd-4fc9-a303-d6530b96926c - status: 200 OK - code: 200 - duration: 32.976125ms - - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 494 - 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: - - "494" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:05 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 42e4aaa9-1b9f-4187-8cfb-b45ce8e76e57 - status: 200 OK - code: 200 - duration: 33.51025ms - - 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7 - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 397 - 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"}' - headers: - Content-Length: - - "397" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:06 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 75b0f422-c28d-4a01-92b7-bec72aecac66 - status: 200 OK - code: 200 - duration: 33.036541ms - - id: 14 - request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 + content_length: 56 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/aa8a56b0-08a8-42d5-aeac-0183449e93e7/acl-rules?is_ipv6=false - method: GET - response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 494 - 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: - - "494" - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Mon, 30 Jun 2025 15:16:06 GMT - Server: - - Scaleway API Gateway (fr-par-2;edge02) - Strict-Transport-Security: - - max-age=63072000 - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - X-Request-Id: - - 05c04e58-f0ed-45ef-9366-b15c8f7229dd - status: 200 OK - code: 200 - duration: 42.422042ms - - id: 15 - request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 54 - 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/acl-rules method: PUT response: proto: HTTP/2.0 @@ -770,20 +425,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:03:26 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,11 +446,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - dd465fec-a5d2-475d-b3a2-82e865153c95 + - 1e6de8a9-2e14-4e3c-b3f7-8d5e47f07f56 status: 200 OK code: 200 - duration: 87.908125ms - - id: 16 + duration: 84.576709ms + - id: 9 request: proto: HTTP/1.1 proto_major: 1 @@ -811,7 +466,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e method: DELETE response: proto: HTTP/2.0 @@ -828,9 +483,9 @@ interactions: Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:03:27 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,11 +493,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - a3bd4cc3-9ce1-4366-8ad1-67f88f9cc94a + - bd53303a-c1cc-4629-bf92-ed53aabd6489 status: 204 No Content code: 204 - duration: 110.898166ms - - id: 17 + duration: 125.754209ms + - id: 10 request: proto: HTTP/1.1 proto_major: 1 @@ -858,7 +513,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -868,7 +523,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":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","type":"not_found"}' headers: Content-Length: - "124" @@ -877,9 +532,9 @@ interactions: Content-Type: - application/json Date: - - Mon, 30 Jun 2025 15:16:06 GMT + - Tue, 15 Jul 2025 15:03:27 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 +542,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d51e8372-64df-4b30-965c-a89d2f79f244 + - df5836cf-d3a1-49a2-8cab-080e7d387cdb status: 404 Not Found code: 404 - duration: 28.540333ms + duration: 29.0325ms 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..b7c5fb9b2e --- /dev/null +++ b/internal/services/vpc/testdata/acl-with-rules.cassette.yaml @@ -0,0 +1,893 @@ +--- +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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b2856560-2b13-48e9-ae85-60b647fa3cda + status: 200 OK + code: 200 + duration: 169.553ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c34a16e0-2832-41d7-9351-60b39958ad0b + status: 200 OK + code: 200 + duration: 31.882917ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + 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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ae58c6cd-ec56-40da-a8da-3a6cceded723 + status: 200 OK + code: 200 + duration: 28.720333ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 13fb0f61-d76e-4f86-ae2e-ed817f884865 + status: 200 OK + code: 200 + duration: 104.391625ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - c68cce18-fd39-4c69-b116-b1ecfbea8de1 + status: 200 OK + code: 200 + duration: 37.81675ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 19efe6bc-a6ca-4f74-9f3b-1d3e74263f7d + status: 200 OK + code: 200 + duration: 37.710042ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + 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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.555995Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 61b155df-3f7d-41f2-ad34-451e7c51f295 + status: 200 OK + code: 200 + duration: 28.310833ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:49 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 8226c218-cca1-4e98-b6b2-2fe46af6525f + status: 200 OK + code: 200 + duration: 23.96275ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + 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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.555995Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 6e16637e-d7ff-4580-9dc7-2bf6b79ed68d + status: 200 OK + code: 200 + duration: 57.956917ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fb22a8f0-adcc-45aa-ba08-f8b135258cc2 + status: 200 OK + code: 200 + duration: 29.647416ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2bd31280-d60a-4696-965b-d502dd104ade + status: 200 OK + code: 200 + duration: 91.301875ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 28d538ee-9664-4630-9efb-125db153855d + status: 200 OK + code: 200 + duration: 37.635666ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 2b0b3be9-c148-445e-9474-9b7becbe43a3 + status: 200 OK + code: 200 + duration: 119.87675ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + 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:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:50.483019Z"}' + headers: + Content-Length: + - "408" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - e3a1db73-76c3-4dfd-9d96-fb1c19f61525 + status: 200 OK + code: 200 + duration: 27.998125ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:50 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - b81eeed1-3ac8-454d-8f27-337b1d4e0002 + status: 200 OK + code: 200 + duration: 286.564875ms + - id: 15 + 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/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:03:51 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - ba4154e4-3c08-40c5-9702-b21e412fcd3e + status: 200 OK + code: 200 + duration: 76.822209ms + - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + 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:03:51 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 104b45db-276b-4798-9672-4d36154b4002 + status: 204 No Content + code: 204 + duration: 118.34225ms + - 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.4; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 124 + uncompressed: false + body: '{"message":"resource is not found","resource":"vpc","resource_id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","type":"not_found"}' + headers: + Content-Length: + - "124" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:03:51 GMT + Server: + - Scaleway API Gateway (fr-par-2;edge02) + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - 9008a22a-0639-4991-ba40-db07206d3207 + status: 404 Not Found + code: 404 + duration: 18.986625ms From 3a7985e2dc208e420ae099900abef4fd0d9d97fc Mon Sep 17 00:00:00 2001 From: Yacine FODIL Date: Tue, 15 Jul 2025 17:07:58 +0200 Subject: [PATCH 2/3] fix --- docs/resources/vpc_acl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/vpc_acl.md b/docs/resources/vpc_acl.md index bd0189d86c..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` - (Optional, Defaults to `accept) 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. From 1ddf13f5bf2f37e6fbb424fb9424ade2a12666d6 Mon Sep 17 00:00:00 2001 From: Yacine FODIL Date: Tue, 15 Jul 2025 17:39:07 +0200 Subject: [PATCH 3/3] update tests --- internal/services/vpc/acl_test.go | 58 +++ .../vpc/testdata/acl-basic.cassette.yaml | 445 ++++++++++++++++-- .../vpc/testdata/acl-with-rules.cassette.yaml | 361 +++++++++----- 3 files changed, 707 insertions(+), 157 deletions(-) diff --git a/internal/services/vpc/acl_test.go b/internal/services/vpc/acl_test.go index 77204e95fc..046afe8841 100644 --- a/internal/services/vpc/acl_test.go +++ b/internal/services/vpc/acl_test.go @@ -38,6 +38,25 @@ func TestAccACL_Basic(t *testing.T) { 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"), + ), + }, }, }) } @@ -151,6 +170,16 @@ func TestAccACL_WithRules(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"), + ), + }, }, }) } @@ -208,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 5ab47289f7..f9862ab9ec 100644 --- a/internal/services/vpc/testdata/acl-basic.cassette.yaml +++ b/internal/services/vpc/testdata/acl-basic.cassette.yaml @@ -29,7 +29,7 @@ interactions: trailer: {} content_length: 414 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' + 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: - "414" @@ -38,7 +38,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -48,10 +48,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - dec35565-cb53-4639-989d-13feb56dc3d0 + - 28e87258-c8f7-46a7-ace0-355ea0455aa4 status: 200 OK code: 200 - duration: 186.084792ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -80,7 +80,7 @@ interactions: trailer: {} content_length: 414 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' + 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: - "414" @@ -89,7 +89,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -99,10 +99,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 83a3be0a-efef-4689-853a-6a23d4e57ee4 + - 1237037f-9d27-46a5-aedb-8f11266c83f6 status: 200 OK code: 200 - duration: 43.658125ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -129,7 +129,7 @@ interactions: trailer: {} content_length: 414 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.059264Z"}' + 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: - "414" @@ -138,7 +138,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -148,10 +148,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 875d18cb-ac9d-427b-8de7-b7e780f2ba4c + - e7e90615-32b1-4d2c-8070-ae655371dd8e status: 200 OK code: 200 - duration: 48.167667ms + duration: 32.691209ms - id: 3 request: proto: HTTP/1.1 @@ -170,7 +170,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -189,7 +189,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -199,10 +199,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - aa380c60-8f05-4709-9bf5-ccef063f84ea + - 717cae51-9323-4c0d-b556-54ef6799dcae status: 200 OK code: 200 - duration: 93.570417ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -238,7 +238,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -248,10 +248,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 14af3359-b88b-4487-8021-fa9db6008aa6 + - 95f8a8ee-1591-4fcf-9a51-d9e7ee823a4d status: 200 OK code: 200 - duration: 28.907291ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -287,7 +287,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -297,10 +297,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 1af597d3-b3b6-4362-b4cd-ae57d07e8686 + - fc7928e4-8e5c-4178-aeea-b630d90b94a2 status: 200 OK code: 200 - duration: 32.9225ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: GET response: proto: HTTP/2.0 @@ -327,7 +327,7 @@ interactions: trailer: {} content_length: 414 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:26.059264Z","custom_routes_propagation_enabled":true,"id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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:03:26.261081Z"}' + 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: - "414" @@ -336,7 +336,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -346,10 +346,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - e861f561-c25a-499f-922a-37b1e9c4837b + - c9582639-1878-4b93-b667-a365c38945ce status: 200 OK code: 200 - duration: 28.835ms + 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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -385,7 +385,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:18 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -395,11 +395,356 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 784d8b85-4684-43f4-a257-2a6bc7f8d250 + - 0532b98c-f3d2-4022-b711-28569e986031 status: 200 OK code: 200 - duration: 30.9085ms + duration: 26.545083ms - 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/6efb008a-4211-4a86-9a45-e63808301b82 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 414 + uncompressed: false + 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: + - "414" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - 39488f06-e60e-49b9-887d-c622391c0d3a + status: 200 OK + code: 200 + duration: 30.838ms + - 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/6efb008a-4211-4a86-9a45-e63808301b82/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:19 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: + - 0f57b091-c409-4ad3-b377-14df4425f2ab + status: 200 OK + code: 200 + duration: 27.044ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 54 + transfer_encoding: [] + trailer: {} + host: api.scaleway.com + remote_addr: "" + request_uri: "" + 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/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 37 + uncompressed: false + body: '{"default_policy":"drop","rules":[]}' + headers: + Content-Length: + - "37" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - 794192f0-8259-4324-9919-6e4fa77c0bf9 + status: 200 OK + code: 200 + duration: 94.561958ms + - 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/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 37 + uncompressed: false + body: '{"default_policy":"drop","rules":[]}' + headers: + Content-Length: + - "37" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - 1928c0b5-2cba-4127-b03e-b4c0713aca0a + status: 200 OK + code: 200 + duration: 30.804209ms + - 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/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 37 + uncompressed: false + body: '{"default_policy":"drop","rules":[]}' + headers: + Content-Length: + - "37" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - 14d067d4-d528-45f2-9306-ac36618fdce4 + status: 200 OK + code: 200 + duration: 30.582208ms + - 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/6efb008a-4211-4a86-9a45-e63808301b82 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 414 + uncompressed: false + 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: + - "414" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - fe47df47-e3f1-450b-8848-b9f3a9eae3e3 + status: 200 OK + code: 200 + duration: 27.927042ms + - 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/6efb008a-4211-4a86-9a45-e63808301b82/acl-rules?is_ipv6=false + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 37 + uncompressed: false + body: '{"default_policy":"drop","rules":[]}' + headers: + Content-Length: + - "37" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 15 Jul 2025 15:38:19 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: + - 9946f40f-4b08-46cb-ab19-5ac2d34af91b + status: 200 OK + code: 200 + duration: 25.557583ms + - id: 15 request: proto: HTTP/1.1 proto_major: 1 @@ -417,7 +762,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -436,7 +781,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:26 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -446,11 +791,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 1e6de8a9-2e14-4e3c-b3f7-8d5e47f07f56 + - 8869a562-ffef-4c38-9c69-9e55f6e51087 status: 200 OK code: 200 - duration: 84.576709ms - - id: 9 + duration: 72.250333ms + - id: 16 request: proto: HTTP/1.1 proto_major: 1 @@ -466,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/6efb008a-4211-4a86-9a45-e63808301b82 method: DELETE response: proto: HTTP/2.0 @@ -483,7 +828,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:27 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -493,11 +838,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - bd53303a-c1cc-4629-bf92-ed53aabd6489 + - 0d6ea97e-3306-44f2-8939-3c78c5286d88 status: 204 No Content code: 204 - duration: 125.754209ms - - id: 10 + duration: 97.2275ms + - id: 17 request: proto: HTTP/1.1 proto_major: 1 @@ -513,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/7a920648-ec7d-45f4-b6df-b02bfd5ce20e/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 @@ -523,7 +868,7 @@ interactions: trailer: {} content_length: 124 uncompressed: false - body: '{"message":"resource is not found","resource":"vpc","resource_id":"7a920648-ec7d-45f4-b6df-b02bfd5ce20e","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" @@ -532,7 +877,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:27 GMT + - Tue, 15 Jul 2025 15:38:20 GMT Server: - Scaleway API Gateway (fr-par-2;edge01) Strict-Transport-Security: @@ -542,7 +887,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - df5836cf-d3a1-49a2-8cab-080e7d387cdb + - 594bd0ca-e44e-4c13-befc-3f19da176cb1 status: 404 Not Found code: 404 - duration: 29.0325ms + 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 index b7c5fb9b2e..dd639dddbe 100644 --- a/internal/services/vpc/testdata/acl-with-rules.cassette.yaml +++ b/internal/services/vpc/testdata/acl-with-rules.cassette.yaml @@ -29,7 +29,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + 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" @@ -38,9 +38,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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: - - b2856560-2b13-48e9-ae85-60b647fa3cda + - 3a78a594-7423-4dce-88ac-0206cd56591a status: 200 OK code: 200 - duration: 169.553ms + duration: 232.372334ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/enable-custom-routes-propagation + 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 @@ -80,7 +80,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + 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" @@ -89,9 +89,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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: - - c34a16e0-2832-41d7-9351-60b39958ad0b + - d7ad7fe4-7105-427f-a2e3-4feb3bf8ad90 status: 200 OK code: 200 - duration: 31.882917ms + duration: 40.721625ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 method: GET response: proto: HTTP/2.0 @@ -129,7 +129,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.381811Z"}' + 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" @@ -138,9 +138,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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,10 +148,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ae58c6cd-ec56-40da-a8da-3a6cceded723 + - c46d92b5-6bab-4126-9f84-c2ddadd9f24d status: 200 OK code: 200 - duration: 28.720333ms + duration: 64.546625ms - id: 3 request: proto: HTTP/1.1 @@ -170,7 +170,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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules + 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 @@ -189,9 +189,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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: - - 13fb0f61-d76e-4f86-ae2e-ed817f884865 + - 6b0c8056-8d5c-4e63-9cd0-226e9c68758a status: 200 OK code: 200 - duration: 104.391625ms + duration: 85.018291ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -238,9 +238,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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: - - c68cce18-fd39-4c69-b116-b1ecfbea8de1 + - 8ed85eeb-9cd8-4516-9637-6fe1fa254bed status: 200 OK code: 200 - duration: 37.81675ms + duration: 56.591709ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -287,9 +287,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:58 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: - - 19efe6bc-a6ca-4f74-9f3b-1d3e74263f7d + - 350dfc8a-f89a-4374-bea1-c9d98b6de13e status: 200 OK code: 200 - duration: 37.710042ms + duration: 61.417625ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 method: GET response: proto: HTTP/2.0 @@ -327,7 +327,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.555995Z"}' + 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" @@ -336,9 +336,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 61b155df-3f7d-41f2-ad34-451e7c51f295 + - 33e1ecd5-9ab0-4ccb-bc85-c603342ceacb status: 200 OK code: 200 - duration: 28.310833ms + duration: 53.848625ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -385,9 +385,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:49 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 8226c218-cca1-4e98-b6b2-2fe46af6525f + - 0f42fbac-5305-425d-a5b5-c91c1843a2c4 status: 200 OK code: 200 - duration: 23.96275ms + duration: 52.05ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 method: GET response: proto: HTTP/2.0 @@ -425,7 +425,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:49.555995Z"}' + 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" @@ -434,9 +434,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 6e16637e-d7ff-4580-9dc7-2bf6b79ed68d + - bf0e6452-8752-4ceb-9145-1019ba29537c status: 200 OK code: 200 - duration: 57.956917ms + duration: 22.584083ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -483,9 +483,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:37:59 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,10 +493,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fb22a8f0-adcc-45aa-ba08-f8b135258cc2 + - 13fbb9df-7d29-4fbd-a642-e70aa99bc43d status: 200 OK code: 200 - duration: 29.647416ms + duration: 53.888042ms - id: 10 request: proto: HTTP/1.1 @@ -515,7 +515,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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules + 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 @@ -534,9 +534,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 2bd31280-d60a-4696-965b-d502dd104ade + - 741dd47a-c26a-4e9b-944a-8bc311b26528 status: 200 OK code: 200 - duration: 91.301875ms + duration: 66.023708ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -583,9 +583,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 28d538ee-9664-4630-9efb-125db153855d + - ea9fc7b7-d5b0-493f-8947-98e51cd6935a status: 200 OK code: 200 - duration: 37.635666ms + duration: 28.092ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -632,9 +632,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:37:59 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: - - 2b0b3be9-c148-445e-9474-9b7becbe43a3 + - c1259043-3083-445d-8156-86b12fe959a0 status: 200 OK code: 200 - duration: 119.87675ms + duration: 56.943084ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 method: GET response: proto: HTTP/2.0 @@ -672,7 +672,7 @@ interactions: trailer: {} content_length: 408 uncompressed: false - body: '{"created_at":"2025-07-15T15:03:49.381811Z","custom_routes_propagation_enabled":true,"id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","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:03:50.483019Z"}' + 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" @@ -681,9 +681,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:38:00 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: - - e3a1db73-76c3-4dfd-9d96-fb1c19f61525 + - e7186022-3a61-4a06-9f9f-6707633a8875 status: 200 OK code: 200 - duration: 27.998125ms + duration: 29.045ms - 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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + 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 @@ -730,9 +730,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:50 GMT + - Tue, 15 Jul 2025 15:38:00 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,11 +740,109 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - b81eeed1-3ac8-454d-8f27-337b1d4e0002 + - 071aa0cb-bde4-4c32-bbd7-daf9a1b4285b status: 200 OK code: 200 - duration: 286.564875ms + 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 @@ -762,7 +860,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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules + 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 @@ -781,9 +879,9 @@ interactions: Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:51 GMT + - Tue, 15 Jul 2025 15:38:00 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,11 +889,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ba4154e4-3c08-40c5-9702-b21e412fcd3e + - 049fab28-2bb5-4610-badc-b51c0d5bd283 status: 200 OK code: 200 - duration: 76.822209ms - - id: 16 + duration: 75.163667ms + - id: 18 request: proto: HTTP/1.1 proto_major: 1 @@ -811,26 +909,28 @@ 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/1a66be03-4c03-42a4-a8ff-c0358b398b91 - method: DELETE + 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: 0 + content_length: 39 uncompressed: false - body: "" + 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:03:51 GMT + - Tue, 15 Jul 2025 15:38:00 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,11 +938,11 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 104b45db-276b-4798-9672-4d36154b4002 - status: 204 No Content - code: 204 - duration: 118.34225ms - - id: 17 + - a1f6f7f7-3972-48eb-8f6d-b2675ee2be44 + status: 200 OK + code: 200 + duration: 31.595792ms + - id: 19 request: proto: HTTP/1.1 proto_major: 1 @@ -858,7 +958,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/1a66be03-4c03-42a4-a8ff-c0358b398b91/acl-rules?is_ipv6=false + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/16ea81e5-55b7-4f04-b978-af1e99810a07 method: GET response: proto: HTTP/2.0 @@ -866,20 +966,20 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 124 + content_length: 408 uncompressed: false - body: '{"message":"resource is not found","resource":"vpc","resource_id":"1a66be03-4c03-42a4-a8ff-c0358b398b91","type":"not_found"}' + 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: - - "124" + - "408" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Tue, 15 Jul 2025 15:03:51 GMT + - Tue, 15 Jul 2025 15:38:00 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 +987,54 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 9008a22a-0639-4991-ba40-db07206d3207 - status: 404 Not Found - code: 404 - duration: 18.986625ms + - 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