diff --git a/internal/services/vpc/testdata/acl-basic.cassette.yaml b/internal/services/vpc/testdata/acl-basic.cassette.yaml index 096dc4751d..ca3fcc0714 100644 --- a/internal/services/vpc/testdata/acl-basic.cassette.yaml +++ b/internal/services/vpc/testdata/acl-basic.cassette.yaml @@ -18,7 +18,7 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs method: POST response: @@ -27,18 +27,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 356 + content_length: 398 uncompressed: false - body: '{"created_at":"2025-03-24T16:10:44.453250Z","id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","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-03-24T16:10:44.453250Z"}' + body: '{"created_at":"2025-06-17T16:23:59.054566Z","custom_routes_propagation_enabled":false,"id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","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-17T16:23:59.054566Z"}' headers: Content-Length: - - "356" + - "398" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:44 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -48,10 +48,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 24c2da62-47c1-471d-ba68-0f65d9e72479 + - 8f693b1b-b118-499d-b9e5-89c9f270ac06 status: 200 OK code: 200 - duration: 740.018121ms + duration: 227.951375ms - id: 1 request: proto: HTTP/1.1 @@ -67,8 +67,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0 + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2 method: GET response: proto: HTTP/2.0 @@ -76,18 +76,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 356 + content_length: 398 uncompressed: false - body: '{"created_at":"2025-03-24T16:10:44.453250Z","id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","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-03-24T16:10:44.453250Z"}' + body: '{"created_at":"2025-06-17T16:23:59.054566Z","custom_routes_propagation_enabled":false,"id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","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-17T16:23:59.054566Z"}' headers: Content-Length: - - "356" + - "398" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:44 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -97,10 +97,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 192b6e56-1e2e-486d-a0c4-6d83dedd6045 + - 6e2bd742-e12e-4a8d-9fc8-4e133fa8e333 status: 200 OK code: 200 - duration: 209.410149ms + duration: 34.3865ms - id: 2 request: proto: HTTP/1.1 @@ -118,8 +118,8 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules method: PUT response: proto: HTTP/2.0 @@ -127,18 +127,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 242 + content_length: 263 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"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: - - "242" + - "263" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:45 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -148,10 +148,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - b8af4b5c-1618-4ffa-b688-88864c29fcab + - 9813a485-e514-4b30-bcf6-e253fbe4d94a status: 200 OK code: 200 - duration: 171.074697ms + duration: 103.246417ms - id: 3 request: proto: HTTP/1.1 @@ -167,8 +167,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -176,18 +176,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 242 + content_length: 263 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"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: - - "242" + - "263" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:45 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -197,10 +197,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - becea538-f5b4-4220-97c8-2606d254e782 + - 1a6681bb-cabe-4694-bb17-c9f7be25789e status: 200 OK code: 200 - duration: 179.300401ms + duration: 27.105292ms - id: 4 request: proto: HTTP/1.1 @@ -216,8 +216,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -225,18 +225,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 242 + content_length: 263 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"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: - - "242" + - "263" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:45 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -246,10 +246,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 4b0d21e4-0e09-495f-a528-cacaad39054a + - eac98989-2540-4497-9aaa-12216bf1ca1f status: 200 OK code: 200 - duration: 163.902964ms + duration: 57.55725ms - id: 5 request: proto: HTTP/1.1 @@ -265,8 +265,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0 + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2 method: GET response: proto: HTTP/2.0 @@ -274,18 +274,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 356 + content_length: 398 uncompressed: false - body: '{"created_at":"2025-03-24T16:10:44.453250Z","id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","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-03-24T16:10:44.985811Z"}' + body: '{"created_at":"2025-06-17T16:23:59.054566Z","custom_routes_propagation_enabled":false,"id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","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-17T16:23:59.197680Z"}' headers: Content-Length: - - "356" + - "398" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:46 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -295,10 +295,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fe47e17f-0de2-4455-ba1f-31c94ee0cacb + - dd42e2a1-f595-44d0-84dd-4038bfe55c56 status: 200 OK code: 200 - duration: 186.670582ms + duration: 44.814292ms - id: 6 request: proto: HTTP/1.1 @@ -314,8 +314,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -323,18 +323,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 242 + content_length: 263 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"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: - - "242" + - "263" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:46 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -344,10 +344,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 43041a1a-05c5-4de4-ac01-704559b714df + - 5ffc80ad-30af-478e-a251-72fd84968f89 status: 200 OK code: 200 - duration: 196.721564ms + duration: 24.182583ms - id: 7 request: proto: HTTP/1.1 @@ -363,8 +363,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0 + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2 method: GET response: proto: HTTP/2.0 @@ -372,18 +372,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 356 + content_length: 398 uncompressed: false - body: '{"created_at":"2025-03-24T16:10:44.453250Z","id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","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-03-24T16:10:44.985811Z"}' + body: '{"created_at":"2025-06-17T16:23:59.054566Z","custom_routes_propagation_enabled":false,"id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","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-17T16:23:59.197680Z"}' headers: Content-Length: - - "356" + - "398" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:46 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -393,10 +393,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - e6a0e0f3-6e63-41c0-86b4-984629a3bd48 + - 1263e2fa-cfaf-4c56-b844-6e81317f45b8 status: 200 OK code: 200 - duration: 79.123985ms + duration: 25.775375ms - id: 8 request: proto: HTTP/1.1 @@ -412,8 +412,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -421,18 +421,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 242 + content_length: 263 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"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: - - "242" + - "263" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:47 GMT + - Tue, 17 Jun 2025 16:23:59 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -442,10 +442,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 4d672b43-35be-460e-8d58-2ae61ecef1fa + - 374632a4-5065-4c88-97d5-8c54cd7ca0e2 status: 200 OK code: 200 - duration: 85.192684ms + duration: 26.459166ms - id: 9 request: proto: HTTP/1.1 @@ -463,8 +463,8 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules method: PUT response: proto: HTTP/2.0 @@ -472,18 +472,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 452 + content_length: 494 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[{"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: - - "452" + - "494" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:47 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -493,10 +493,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 6f7d04ce-5cfa-4b42-993c-4f156b3ea69a + - fce4ae73-c18e-4c23-b7b0-60162057861d status: 200 OK code: 200 - duration: 171.225243ms + duration: 103.092708ms - id: 10 request: proto: HTTP/1.1 @@ -512,8 +512,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -521,18 +521,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 452 + content_length: 494 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[{"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: - - "452" + - "494" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:47 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -542,10 +542,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 9db71af2-ebda-4dba-b806-917d21ffc6ef + - d69758f4-122c-478b-9039-c00d9e51bdad status: 200 OK code: 200 - duration: 140.083578ms + duration: 28.875666ms - id: 11 request: proto: HTTP/1.1 @@ -561,8 +561,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -570,18 +570,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 452 + content_length: 494 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[{"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: - - "452" + - "494" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:48 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -591,10 +591,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 02cd096d-4b9a-4df0-b2e5-3fe693b7de2a + - d63ddb17-19f6-4173-9a44-91ef007d40e7 status: 200 OK code: 200 - duration: 198.763061ms + duration: 32.688542ms - id: 12 request: proto: HTTP/1.1 @@ -610,8 +610,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0 + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2 method: GET response: proto: HTTP/2.0 @@ -619,18 +619,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 356 + content_length: 398 uncompressed: false - body: '{"created_at":"2025-03-24T16:10:44.453250Z","id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","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-03-24T16:10:47.793135Z"}' + body: '{"created_at":"2025-06-17T16:23:59.054566Z","custom_routes_propagation_enabled":false,"id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","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-17T16:24:00.137552Z"}' headers: Content-Length: - - "356" + - "398" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:48 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -640,10 +640,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d04b2e20-d50b-4937-a831-a8b99437f8c8 + - 48cb772b-02de-4489-bdc8-2a6fa5077560 status: 200 OK code: 200 - duration: 108.920508ms + duration: 35.907125ms - id: 13 request: proto: HTTP/1.1 @@ -659,8 +659,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -668,18 +668,18 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 452 + content_length: 494 uncompressed: false - body: '{"default_policy":"drop","rules":[{"action":"accept","description":"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":"Allow HTTPS traffic from any source","destination":"0.0.0.0/0","dst_port_high":443,"dst_port_low":443,"protocol":"TCP","source":"0.0.0.0/0","src_port_high":0,"src_port_low":0}]}' + body: '{"default_policy":"drop","rules":[{"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: - - "452" + - "494" Content-Security-Policy: - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:49 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -689,10 +689,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ca788787-e8c6-4c2b-a06d-6c62b1800aa5 + - 673858e1-92c5-4175-bab1-8db05b294780 status: 200 OK code: 200 - duration: 103.938102ms + duration: 32.324ms - id: 14 request: proto: HTTP/1.1 @@ -710,8 +710,8 @@ interactions: Content-Type: - application/json User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules method: PUT response: proto: HTTP/2.0 @@ -730,7 +730,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:49 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -740,10 +740,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - e109e412-828f-4434-b147-0370f2535a37 + - a87d3ec5-a309-465c-aaca-6eb2087b22f2 status: 200 OK code: 200 - duration: 272.731323ms + duration: 81.605709ms - id: 15 request: proto: HTTP/1.1 @@ -759,8 +759,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0 + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2 method: DELETE response: proto: HTTP/2.0 @@ -777,7 +777,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:50 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -787,10 +787,10 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - ffc8be44-4a89-4ea5-9b5f-0b3f56417f35 + - 1500ea5c-11ec-4829-a4e5-1cafbf976ce3 status: 204 No Content code: 204 - duration: 289.981985ms + duration: 86.099291ms - id: 16 request: proto: HTTP/1.1 @@ -806,8 +806,8 @@ interactions: form: {} headers: User-Agent: - - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.0; darwin; amd64) terraform-provider/develop terraform/terraform-tests - url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/3a88a217-657d-41c4-bf1e-51a76be9f4f0/acl-rules?is_ipv6=false + - scaleway-sdk-go/v1.0.0-beta.7+dev (go1.24.2; darwin; arm64) terraform-provider/develop terraform/terraform-tests + url: https://api.scaleway.com/vpc/v2/regions/fr-par/vpcs/7756e52a-cb1c-4a33-9a80-2d46208b32d2/acl-rules?is_ipv6=false method: GET response: proto: HTTP/2.0 @@ -817,7 +817,7 @@ interactions: trailer: {} content_length: 124 uncompressed: false - body: '{"message":"resource is not found","resource":"vpc","resource_id":"3a88a217-657d-41c4-bf1e-51a76be9f4f0","type":"not_found"}' + body: '{"message":"resource is not found","resource":"vpc","resource_id":"7756e52a-cb1c-4a33-9a80-2d46208b32d2","type":"not_found"}' headers: Content-Length: - "124" @@ -826,7 +826,7 @@ interactions: Content-Type: - application/json Date: - - Mon, 24 Mar 2025 16:10:50 GMT + - Tue, 17 Jun 2025 16:24:00 GMT Server: - Scaleway API Gateway (fr-par-3;edge02) Strict-Transport-Security: @@ -836,7 +836,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - 79350def-5cc1-4da5-96b7-7e0a26422677 + - fc8f11dd-def3-46e2-b4fc-532ddb7cff1e status: 404 Not Found code: 404 - duration: 215.892322ms + duration: 22.743084ms diff --git a/internal/services/vpc/types.go b/internal/services/vpc/types.go index 58fbd05229..beba343f9c 100644 --- a/internal/services/vpc/types.go +++ b/internal/services/vpc/types.go @@ -2,6 +2,7 @@ package vpc import ( "net" + "regexp" "strconv" "strings" @@ -182,6 +183,8 @@ func flattenACLRules(rules []*vpc.ACLRule) any { flattenedRules := []map[string]any(nil) + ruleScopeRegex := regexp.MustCompile(`^\(Rule scope: [^)]+\)\s*`) + for _, rule := range rules { flattenedSource, err := types.FlattenIPNet(rule.Source) if err != nil { @@ -193,6 +196,9 @@ func flattenACLRules(rules []*vpc.ACLRule) any { return nil } + rawDescription := types.FlattenStringPtr(rule.Description) + cleanDescription := ruleScopeRegex.ReplaceAllString(rawDescription.(string), "") + flattenedRules = append(flattenedRules, map[string]any{ "protocol": rule.Protocol.String(), "source": flattenedSource, @@ -202,7 +208,7 @@ func flattenACLRules(rules []*vpc.ACLRule) any { "dst_port_low": int(rule.DstPortLow), "dst_port_high": int(rule.DstPortHigh), "action": rule.Action.String(), - "description": types.FlattenStringPtr(rule.Description), + "description": cleanDescription, }) }