openapi: 3.1.0
info:
title: VPC API
description: "VPC allows you to build your own **V**irtual **P**rivate **C**loud
on top of Scaleway’s shared public cloud. \n\nVPC currently comprises the regional
Private Networks product. Layer 2 regional Private Networks sit inside the layer
3 VPC. Private Networks allows Scaleway resources (Instances, Load Balancers,
Managed Databases etc.) within a single region to be interconnected through a
dedicated, private, and flexible [L2 network](https://en.wikipedia.org/wiki/Data_link_layer).\n\nYou
can add as many resources to your networks as you want, and add up to eight (8)
different networks\nper resource. This allows you to run services isolated from
the public internet and expose them to the rest of your infrastructure without
worrying about public network filtering.\n\n\n\nVPC v2
is now in **General Availability**. \n\n\n\nCheck
out our [IPAM API](https://www.scaleway.com/en/developers/api/ipam/) to facilitate
the management of IP addresses across your different Scaleway resources.\n\n\n\n##
Concepts\n\nRefer to our [dedicated concepts page](https://www.scaleway.com/en/docs/vpc/concepts/)
to find definitions of all concepts and terminology related to VPC.\n\n\n\n\n##
Quickstart\n\n1. **Configure your environment variables**\n\n \n
\ This is an optional step that seeks to simplify your usage of the API. See
the [Technical information](#technical-information) section below for help choosing
an Availability Zone and Region. You can find your Project ID in the [Scaleway
console](https://console.scaleway.com/project/settings).\n \n\n ```bash\n
\ export SCW_SECRET_KEY=\"\"\n export SCW_DEFAULT_REGION=\"\"\n export SCW_DEFAULT_ZONE=\"\"\n export
SCW_PROJECT_ID=\"\"\n ```\n\n2. **Create a Private Network**.
Run the following command to create a Private Network. You can customize the details
in the payload (name, tags etc.) to your needs.\n\n ```bash\n curl -X POST
\\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type:
application/json\" \\\n \"https://api.scaleway.com/vpc/v2/regions/$SCW_DEFAULT_REGION/private-networks\"
\\\n -d '{\n \"name\": \"My new Private Network\",\n \"project_id\":
\"'\"$SCW_PROJECT_ID\"'\", \n \"tags\": [\"test\", \"dev\"]\n }'\n
\ ```\n\n \n Keep the `id` field of the response:
it is your Private Network ID, and is useable across all Scaleway products that
support Private Networks. It may be useful to you to export the Private Network
ID as a new environment variable `export PN_ID=\"`\n
\ \n\n \n If you create a Private Network
without specifying a VPC to create it in, the behavior depends on when you created
your Scaleway Project. [Find out more](https://www.scaleway.com/en/docs/vpc/concepts/#default-vpc)\n
\ \n\n3. **Attach a resource to your Private Network**. Each Scaleway
product has its own API to interact with Private Networks. To attach an Instance,
Managed Database, Elastic Metal server, Load Balancer or Public Gateway to your
Private Network, see instructions in the documentation of the relevant product
API. Here, we take the example of an Instance.\n\n Use the following call to
attach an Instance to your Private Network. Ensure you replace ``
with the ID of your Instance, and `` with the ID of your Private
Network. Note that the Instance must be in an Availability Zone that is part of
the region of your Private Network.\n\n ```bash\n curl -X POST \\\n -H
\"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\"
\\\n \"https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers//private_nics\" \\\n -d '{\"private_network_id\": \"\"}'\n ```\n\n \n Keep the `id` field of the
response: it is your Private NIC ID. It may be useful to you to export\n the
Private NIC ID as a new environment variable `export NIC_ID=\"`.\n \n\n \n Keep the `mac_address`
field of the response, as it will allow you to identify the Private NIC inside
your Instance. If successful, a new network interface will appear inside your
Instance, ready to be configured to transmit traffic to other Instances of the
same network, with the MAC address returned by the API call.\n \n\n4.
**Confirm that the network interface has been plugged in**. To do this, connect
to your Instance and run `dmseg`. You should see an output similar to the following:\n\n
\ ```bash\n [1579004.592869] pci 0000:00:05.0: [1af4:1000] type 00 class
0x020000\n [1579004.594835] pci 0000:00:05.0: reg 0x10: [io 0x0000-0x003f]\n
\ [1579004.596715] pci 0000:00:05.0: reg 0x14: [mem 0x00000000-0x00000fff]\n
\ [1579004.598732] pci 0000:00:05.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit
pref]\n [1579004.600765] pci 0000:00:05.0: reg 0x30: [mem 0x00000000-0x0007ffff
pref]\n [1579004.603819] pci 0000:00:05.0: BAR 6: assigned [mem 0xc0100000-0xc017ffff
pref]\n [1579004.604582] pci 0000:00:05.0: BAR 4: assigned [mem 0x100000c000-0x100000ffff
64bit pref]\n [1579004.605555] pci 0000:00:05.0: BAR 1: assigned [mem 0xc0003000-0xc0003fff]\n
\ [1579004.606383] pci 0000:00:05.0: BAR 0: assigned [io 0x1000-0x103f]\n [1579004.607212]
virtio-pci 0000:00:05.0: enabling device (0000 -> 0003)\n [1579004.625149]
PCI Interrupt Link [LNKA] enabled at IRQ 11\n [1579004.644930] virtio_net virtio3
ens5: renamed from eth0\n ```\n\n5. **Confirm the presence of the network interface,
and confirm its name if several networks are plugged into your Instance**. To
do this, run `ip -br link`. You should see an output similar to the following:\n\n
\ ```bash\n lo UNKNOWN 00:00:00:00:00:00 \n
\ ens2 UP de:1c:94:44:d0:04 \n
\ ens5 DOWN 02:00:00:00:00:31 \n
\ ens6 DOWN 02:00:00:00:01:5b \n
\ ens7 DOWN 02:00:00:00:01:5e \n
\ ```\n\n6. **Configure the Instance's IP address**. DHCP is activated by default
on new Private Networks, and automatically assigns IP addresses to resources on
the network. If you have an older Private Network, [check whether DHCP is activated](https://www.scaleway.com/en/docs/vpc/reference-content/vpc-migration/)
and either activate DHCP for automatic IP configuration, or [manually configure](https://www.scaleway.com/en/docs/instances/reference-content/manual-configuration-private-ips/)
the network interface on your Instance if necessary.\n\n\n7. **Delete your Private
NIC**, which equates to unplugging your Instance from the Private Network. Use
the following call. Ensure you replace `` with the ID of your Instance,
`` with the ID of your Private Network, and `` with
the ID of your Private NIC.\n\n ```bash\n curl -X DELETE \\\n -H
\"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\"
\\\n \"https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers//private_nics/\"\n ```\n\n The network interface disappears from
your Instance.\n\n8. **Delete your Private Network**. Use the following call.
Ensure you replace `` with the ID of your Private Network.\n\n
\ ```bash\n curl -X DELETE \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\"
\\\n -H \"Content-Type: application/json\" \\\n \"https://api.scaleway.com/vpc/v2/regions/$SCW_DEFAULT_REGION/private-networks/\"\n ```\n\n \n Private Networks must
be empty to be deleted. Ensure you have detached all resources and deleted all
reserved IPs from your network prior to deletion.\n \n\n \n \n - You have a [Scaleway account](https://console.scaleway.com/)\n
\ - You have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/)
and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/)
to perform the actions described on this page\n - You have [installed `curl`](https://curl.se/download.html)\n
\ \n \n\n## Technical information\n\nVPC and Private Networks are
available in the Paris, Amsterdam and Warsaw regions, which are represented by
the following path parameters:\n\n* `fr-par`\n* `nl-ams`\n* `pl-waw`\n\n## Technical
limitations\n\nThe following limitations apply to Scaleway VPC:\n\n- Up to 250
resources can be attached to a Private Network.\n- A resource can be attached
to up to 8 Private Networks.\n- The following resource types can be attached to
a Private Network:\n - Instances\n - Elastic Metal servers\n - Apple
silicon\n - Managed Inference\n - Load Balancers\n - Public Gateways\n
\ - Managed Databases for PostgreSQL and MySQL\n - Managed Databases for
Redis (only at the time of resource creation)\n - Kubernetes Kapsule (only
at the time of resource creation)\n- The MAC address of an Instance in a Private
Network cannot be changed.\n- Broadcast and multicast traffic, while supported,
are heavily rate-limited.\n\n## Going further\n\nFor more help using Scaleway
VPC and Private Networks, check out the following resources:\n- Our [main documentation](https://www.scaleway.com/en/docs/vpc/)\n-
The #virtual-private-cloud channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/)\n-
Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/)."
version: v2
servers:
- url: https://api.scaleway.com
tags:
- name: VPCs
description: |
A Virtual Private Cloud (VPC) allows you to group your regional
Private Networks together. Note that a Private Network can be a
part of only one VPC.
- name: Private Networks
description: |
A Private Network allows you to interconnect your Scaleway resources
in an isolated and private network. Network reachability is limited
to resources that are on the same Private Network. Note that a
resource can be a part of multiple private networks.
- name: Subnets
description: |
CIDR subnet management for your Private Networks.
- name: Routes
description: |
Custom routes that will be pushed to your private networks resources.
- name: Network ACLs
description: |
A Network **A**ccess **C**ontrol **L**ist (ACL) is a set of stateless, IP-based rules
used to filter packets between Private Networks in a VPC.
Each VPC can have a maximum of two Network ACLs: one for IPv4 rules,
and one for IPv6 rules. IPv4 and IPv6 rules cannot be mixed in the same ACL.
- name: VPC Connectors
description: A VPC peering connector constitutes one side of a VPC peering connection.
It represents an intent to peer with another VPC. Two matching, compatible VPC
connectors create a VPC peering connection.
components:
schemas:
scaleway.vpc.v2.AclRule:
type: object
properties:
protocol:
type: string
description: Protocol to which this rule applies.
enum:
- ANY
- TCP
- UDP
- ICMP
default: ANY
source:
type: string
description: Source IP range to which this rule applies (CIDR notation with
subnet mask). (IP network)
example: 1.2.3.4/32
src_port_low:
type: integer
description: Starting port of the source port range to which this rule applies
(inclusive).
format: uint32
src_port_high:
type: integer
description: Ending port of the source port range to which this rule applies
(inclusive).
format: uint32
destination:
type: string
description: Destination IP range to which this rule applies (CIDR notation
with subnet mask). (IP network)
example: 1.2.3.4/32
dst_port_low:
type: integer
description: Starting port of the destination port range to which this rule
applies (inclusive).
format: uint32
dst_port_high:
type: integer
description: Ending port of the destination port range to which this rule
applies (inclusive).
format: uint32
action:
type: string
description: Policy to apply to the packet.
enum:
- unknown_action
- accept
- drop
default: unknown_action
description:
type: string
description: Rule description.
nullable: true
required:
- protocol
- source
- src_port_low
- src_port_high
- destination
- dst_port_low
- dst_port_high
- action
- description
x-properties-order:
- protocol
- source
- src_port_low
- src_port_high
- destination
- dst_port_low
- dst_port_high
- action
- description
scaleway.vpc.v2.Action:
type: string
enum:
- unknown_action
- accept
- drop
default: unknown_action
scaleway.vpc.v2.AddSubnetsResponse:
type: object
properties:
subnets:
type: array
description: (IP network)
example:
- 1.2.3.4/32
items:
type: string
x-properties-order:
- subnets
scaleway.vpc.v2.DeleteSubnetsResponse:
type: object
properties:
subnets:
type: array
description: (IP network)
example:
- 1.2.3.4/32
items:
type: string
x-properties-order:
- subnets
scaleway.vpc.v2.GetAclResponse:
type: object
properties:
rules:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
default_policy:
$ref: '#/components/schemas/scaleway.vpc.v2.Action'
x-properties-order:
- rules
- default_policy
scaleway.vpc.v2.ListPrivateNetworksResponse:
type: object
properties:
private_networks:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.PrivateNetwork'
total_count:
type: integer
format: uint32
x-properties-order:
- private_networks
- total_count
scaleway.vpc.v2.ListSubnetOverlapsResponse:
type: object
properties:
subnet_overlaps:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.ListSubnetOverlapsResponse.SubnetOverlap'
total_count:
type: integer
format: uint64
x-properties-order:
- subnet_overlaps
- total_count
scaleway.vpc.v2.ListSubnetOverlapsResponse.SubnetOverlap:
type: object
properties:
subnet_id:
type: string
description: (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
subnet:
type: string
description: (IP network)
example: 1.2.3.4/32
target_subnet_id:
type: string
description: (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
target_subnet:
type: string
description: (IP network)
example: 1.2.3.4/32
x-properties-order:
- subnet_id
- subnet
- target_subnet_id
- target_subnet
scaleway.vpc.v2.ListSubnetsResponse:
type: object
properties:
subnets:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.Subnet'
total_count:
type: integer
format: uint32
x-properties-order:
- subnets
- total_count
scaleway.vpc.v2.ListVPCConnectorsResponse:
type: object
properties:
vpc_connectors:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.VPCConnector'
total_count:
type: integer
format: uint32
x-properties-order:
- vpc_connectors
- total_count
scaleway.vpc.v2.ListVPCsResponse:
type: object
properties:
vpcs:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.VPC'
total_count:
type: integer
format: uint32
x-properties-order:
- vpcs
- total_count
scaleway.vpc.v2.PrivateNetwork:
type: object
properties:
id:
type: string
description: Private Network ID. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
name:
type: string
description: Private Network name.
organization_id:
type: string
description: Scaleway Organization the Private Network belongs to. (UUID
format)
example: 6170692e-7363-616c-6577-61792e636f6d
project_id:
type: string
description: Scaleway Project the Private Network belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
region:
type: string
description: Region in which the Private Network is available.
tags:
type: array
description: Tags of the Private Network.
items:
type: string
created_at:
type: string
description: Date the Private Network was created. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
updated_at:
type: string
description: Date the Private Network was last modified. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
subnets:
type: array
description: Private Network subnets.
items:
$ref: '#/components/schemas/scaleway.vpc.v2.Subnet'
vpc_id:
type: string
description: VPC the Private Network belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
dhcp_enabled:
type: boolean
description: Defines whether managed DHCP is enabled for this Private Network.
default_route_propagation_enabled:
type: boolean
description: Defines whether default v4 and v6 routes are propagated for
this Private Network.
x-properties-order:
- id
- name
- organization_id
- project_id
- region
- tags
- created_at
- updated_at
- subnets
- vpc_id
- dhcp_enabled
- default_route_propagation_enabled
scaleway.vpc.v2.Route:
type: object
properties:
id:
type: string
description: Route ID. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
description:
type: string
description: Route description.
tags:
type: array
description: Tags of the Route.
items:
type: string
vpc_id:
type: string
description: VPC the Route belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
destination:
type: string
description: Destination of the Route. (IP network)
example: 1.2.3.4/32
nexthop_resource_id:
type: string
description: ID of the nexthop resource. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_private_network_id:
type: string
description: ID of the nexthop private network. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_vpc_connector_id:
type: string
description: ID of the nexthop VPC connector. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
created_at:
type: string
description: Date the Route was created. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
updated_at:
type: string
description: Date the Route was last modified. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
is_read_only:
type: boolean
description: Defines whether the route can be modified or deleted by the
user.
type:
type: string
description: Type of the Route.
enum:
- unknown_route_type
- subnet
- default
- custom
- interlink
- s2s_vpn
default: unknown_route_type
region:
type: string
description: Region of the Route.
x-properties-order:
- id
- description
- tags
- vpc_id
- destination
- nexthop_resource_id
- nexthop_private_network_id
- nexthop_vpc_connector_id
- created_at
- updated_at
- is_read_only
- type
- region
scaleway.vpc.v2.SetAclResponse:
type: object
properties:
rules:
type: array
items:
$ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
default_policy:
$ref: '#/components/schemas/scaleway.vpc.v2.Action'
x-properties-order:
- rules
- default_policy
scaleway.vpc.v2.Subnet:
type: object
properties:
id:
type: string
description: ID of the subnet. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
created_at:
type: string
description: Subnet creation date. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
updated_at:
type: string
description: Subnet last modification date. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
subnet:
type: string
description: Subnet CIDR. (IP network)
example: 1.2.3.4/32
project_id:
type: string
description: Scaleway Project the subnet belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
private_network_id:
type: string
description: Private Network the subnet belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
vpc_id:
type: string
description: VPC the subnet belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
x-properties-order:
- id
- created_at
- updated_at
- subnet
- project_id
- private_network_id
- vpc_id
scaleway.vpc.v2.VPC:
type: object
properties:
id:
type: string
description: VPC ID. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
name:
type: string
description: VPC name.
organization_id:
type: string
description: Scaleway Organization the VPC belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
project_id:
type: string
description: Scaleway Project the VPC belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
region:
type: string
description: Region of the VPC.
tags:
type: array
description: Tags for the VPC.
items:
type: string
is_default:
type: boolean
description: Defines whether the VPC is the default one for its Project.
created_at:
type: string
description: Date the VPC was created. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
updated_at:
type: string
description: Date the VPC was last modified. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
private_network_count:
type: integer
description: Number of Private Networks within this VPC.
format: uint32
routing_enabled:
type: boolean
description: Defines whether the VPC routes traffic between its Private
Networks.
custom_routes_propagation_enabled:
type: boolean
description: Defines whether the VPC advertises custom routes between its
Private Networks.
x-properties-order:
- id
- name
- organization_id
- project_id
- region
- tags
- is_default
- created_at
- updated_at
- private_network_count
- routing_enabled
- custom_routes_propagation_enabled
scaleway.vpc.v2.VPCConnector:
type: object
properties:
id:
type: string
description: VPC connector ID. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
name:
type: string
description: VPC connector name.
organization_id:
type: string
description: Scaleway Organization the VPC connector belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
project_id:
type: string
description: Scaleway Project the VPC connector belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
vpc_id:
type: string
description: VPC the VPC connector belongs to (origin VPC). (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
target_vpc_id:
type: string
description: VPC with which the VPC connector is peered (target VPC). (UUID
format)
example: 6170692e-7363-616c-6577-61792e636f6d
status:
type: string
description: Status of the VPC connector.
enum:
- unknown_vpc_connector_status
- orphan
- peered
- conflict
default: unknown_vpc_connector_status
peer_info:
type: object
description: Peer info of target VPC. Available when status is Peered.
properties:
organization_id:
type: string
description: (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
project_id:
type: string
description: (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
vpc_name:
type: string
x-properties-order:
- organization_id
- project_id
- vpc_name
region:
type: string
description: Region of the VPC connector.
tags:
type: array
description: Tags for the VPC connector.
items:
type: string
created_at:
type: string
description: Date the VPC connector was created. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
updated_at:
type: string
description: Date the VPC connector was last modified. (RFC 3339 format)
format: date-time
example: "2022-03-22T12:34:56.123456Z"
nullable: true
x-properties-order:
- id
- name
- organization_id
- project_id
- vpc_id
- target_vpc_id
- status
- peer_info
- region
- tags
- created_at
- updated_at
securitySchemes:
scaleway:
in: header
name: X-Auth-Token
type: apiKey
paths:
/vpc/v2/regions/{region}/private-networks:
get:
tags:
- Private Networks
operationId: ListPrivateNetworks
summary: List Private Networks
description: List existing Private Networks in the specified region. By default,
the Private Networks returned in the list are ordered by creation date in
ascending order, though this can be modified via the order_by field.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: query
name: order_by
description: Sort order of the returned Private Networks.
schema:
type: string
enum:
- created_at_asc
- created_at_desc
- name_asc
- name_desc
default: created_at_asc
- in: query
name: page
description: Page number to return, from the paginated results.
schema:
type: integer
format: int32
- in: query
name: page_size
description: Maximum number of Private Networks to return per page.
schema:
type: integer
format: uint32
- in: query
name: name
description: Name to filter for. Only Private Networks with names containing
this string will be returned.
schema:
type: string
- in: query
name: tags
description: Tags to filter for. Only Private Networks with one or more matching
tags will be returned.
schema:
type: array
items:
type: string
- in: query
name: organization_id
description: Organization ID to filter for. Only Private Networks belonging
to this Organization will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: project_id
description: Project ID to filter for. Only Private Networks belonging to
this Project will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: private_network_ids
description: Private Network IDs to filter for. Only Private Networks with
one of these IDs will be returned.
schema:
type: array
items:
type: string
- in: query
name: vpc_id
description: VPC ID to filter for. Only Private Networks belonging to this
VPC will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: dhcp_enabled
description: DHCP status to filter for. When true, only Private Networks with
managed DHCP enabled will be returned.
schema:
type: boolean
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.ListPrivateNetworksResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks" \
X-Auth-Token:$SCW_SECRET_KEY
post:
tags:
- Private Networks
operationId: CreatePrivateNetwork
summary: Create a Private Network
description: Create a new Private Network. Once created, you can attach Scaleway
resources which are in the same region.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.PrivateNetwork'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the Private Network.
project_id:
type: string
description: Scaleway Project in which to create the Private Network.
(UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
tags:
type: array
description: Tags for the Private Network.
items:
type: string
subnets:
type: array
description: Private Network subnets CIDR. (IP network)
example:
- 1.2.3.4/32
items:
type: string
vpc_id:
type: string
description: VPC in which to create the Private Network. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
default_route_propagation_enabled:
type: boolean
description: Defines whether default v4 and v6 routes are propagated
for this Private Network.
required:
- name
- project_id
x-properties-order:
- name
- project_id
- tags
- subnets
- vpc_id
- default_route_propagation_enabled
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"default_route_propagation_enabled": false,
"name": "string",
"project_id": "6170692e-7363-616c-6577-61792e636f6d"
}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks" \
X-Auth-Token:$SCW_SECRET_KEY \
default_route_propagation_enabled:=false \
name="string" \
project_id="6170692e-7363-616c-6577-61792e636f6d"
/vpc/v2/regions/{region}/private-networks/{private_network_id}:
get:
tags:
- Private Networks
operationId: GetPrivateNetwork
summary: Get a Private Network
description: Retrieve information about an existing Private Network, specified
by its Private Network ID. Its full details are returned in the response object.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.PrivateNetwork'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}" \
X-Auth-Token:$SCW_SECRET_KEY
patch:
tags:
- Private Networks
operationId: UpdatePrivateNetwork
summary: Update Private Network
description: Update parameters (such as name or tags) of an existing Private
Network, specified by its Private Network ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.PrivateNetwork'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the Private Network.
nullable: true
tags:
type: array
description: Tags for the Private Network.
nullable: true
items:
type: string
default_route_propagation_enabled:
type: boolean
description: Defines whether default v4 and v6 routes are propagated
for this Private Network.
x-properties-order:
- name
- tags
- default_route_propagation_enabled
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X PATCH \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}"
- lang: HTTPie
source: |-
http PATCH "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}" \
X-Auth-Token:$SCW_SECRET_KEY
delete:
tags:
- Private Networks
operationId: DeletePrivateNetwork
summary: Delete a Private Network
description: Delete an existing Private Network. Note that you must first detach
all resources from the network, in order to delete it.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"204":
description: ""
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X DELETE \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}"
- lang: HTTPie
source: |-
http DELETE "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/private-networks/{private_network_id}/enable-dhcp:
post:
tags:
- Private Networks
operationId: EnableDHCP
summary: Enable DHCP on a Private Network
description: Enable DHCP managed on an existing Private Network. Note that you
will not be able to deactivate it afterwards.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.PrivateNetwork'
requestBody:
required: true
content:
application/json:
schema:
type: object
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/enable-dhcp"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/enable-dhcp" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/private-networks/{private_network_id}/subnets:
post:
tags:
- Subnets
operationId: AddSubnets
summary: Add subnets to a Private Network
description: Add new subnets to an existing Private Network.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.AddSubnetsResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subnets:
type: array
description: Private Network subnets CIDR. (IP network)
example:
- 1.2.3.4/32
items:
type: string
x-properties-order:
- subnets
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/subnets"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/subnets" \
X-Auth-Token:$SCW_SECRET_KEY
delete:
tags:
- Subnets
operationId: DeleteSubnets
summary: Delete subnets from a Private Network
description: Delete the specified subnets from a Private Network.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: private_network_id
description: Private Network ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.DeleteSubnetsResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subnets:
type: array
description: Private Network subnets CIDR. (IP network)
example:
- 1.2.3.4/32
items:
type: string
x-properties-order:
- subnets
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X DELETE \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/subnets"
- lang: HTTPie
source: |-
http DELETE "https://api.scaleway.com/vpc/v2/regions/{region}/private-networks/{private_network_id}/subnets" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/routes:
post:
tags:
- Routes
operationId: CreateRoute
summary: Create a Route
description: Create a new custom Route.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.Route'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Route description.
tags:
type: array
description: Tags of the Route.
items:
type: string
vpc_id:
type: string
description: VPC the Route belongs to. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
destination:
type: string
description: Destination of the Route. (IP network)
example: 1.2.3.4/32
nexthop_resource_id:
type: string
description: ID of the nexthop resource. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_private_network_id:
type: string
description: ID of the nexthop private network. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_vpc_connector_id:
type: string
description: ID of the nexthop VPC Connector. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
x-properties-order:
- description
- tags
- vpc_id
- destination
- nexthop_resource_id
- nexthop_private_network_id
- nexthop_vpc_connector_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "string",
"destination": "1.2.3.4/32",
"vpc_id": "6170692e-7363-616c-6577-61792e636f6d"
}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/routes"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/routes" \
X-Auth-Token:$SCW_SECRET_KEY \
description="string" \
destination="1.2.3.4/32" \
vpc_id="6170692e-7363-616c-6577-61792e636f6d"
/vpc/v2/regions/{region}/routes/{route_id}:
get:
tags:
- Routes
operationId: GetRoute
summary: Get a Route
description: Retrieve details of an existing Route, specified by its Route ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: route_id
description: Route ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.Route'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}" \
X-Auth-Token:$SCW_SECRET_KEY
patch:
tags:
- Routes
operationId: UpdateRoute
summary: Update Route
description: Update parameters of the specified Route.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: route_id
description: Route ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.Route'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Route description.
nullable: true
tags:
type: array
description: Tags of the Route.
nullable: true
items:
type: string
destination:
type: string
description: Destination of the Route. (IP network)
example: 1.2.3.4/32
nullable: true
nexthop_resource_id:
type: string
description: ID of the nexthop resource. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_private_network_id:
type: string
description: ID of the nexthop private network. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
nexthop_vpc_connector_id:
type: string
description: ID of the nexthop VPC connector. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
nullable: true
x-properties-order:
- description
- tags
- destination
- nexthop_resource_id
- nexthop_private_network_id
- nexthop_vpc_connector_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X PATCH \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}"
- lang: HTTPie
source: |-
http PATCH "https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}" \
X-Auth-Token:$SCW_SECRET_KEY
delete:
tags:
- Routes
operationId: DeleteRoute
summary: Delete a Route
description: Delete a Route specified by its Route ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: route_id
description: Route ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"204":
description: ""
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X DELETE \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}"
- lang: HTTPie
source: |-
http DELETE "https://api.scaleway.com/vpc/v2/regions/{region}/routes/{route_id}" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/subnets:
get:
tags:
- Subnets
operationId: ListSubnets
summary: List subnets
description: List any Private Network's subnets. See ListPrivateNetworks to
list a specific Private Network's subnets.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: query
name: order_by
description: Sort order of the returned subnets.
schema:
type: string
enum:
- created_at_asc
- created_at_desc
default: created_at_asc
- in: query
name: page
description: Page number to return, from the paginated results.
schema:
type: integer
format: int32
- in: query
name: page_size
description: Maximum number of Private Networks to return per page.
schema:
type: integer
format: uint32
- in: query
name: organization_id
description: Organization ID to filter for. Only subnets belonging to this
Organization will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: project_id
description: Project ID to filter for. Only subnets belonging to this Project
will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: subnet_ids
description: Subnet IDs to filter for. Only subnets matching the specified
IDs will be returned.
schema:
type: array
items:
type: string
- in: query
name: vpc_id
description: VPC ID to filter for. Only subnets belonging to this VPC will
be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.ListSubnetsResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/subnets"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/subnets" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/vpc-connectors:
get:
tags:
- VPC Connectors
operationId: ListVPCConnectors
summary: List VPC connectors
description: List existing VPC connectors in the specified region.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: query
name: order_by
description: Sort order of the returned VPC connectors.
schema:
type: string
enum:
- created_at_asc
- created_at_desc
- name_asc
- name_desc
default: created_at_asc
- in: query
name: page
description: Page number to return, from the paginated results.
schema:
type: integer
format: int32
- in: query
name: page_size
description: Maximum number of VPC connectors to return per page.
schema:
type: integer
format: uint32
- in: query
name: name
description: Name to filter for. Only connectors with names containing this
string will be returned.
schema:
type: string
- in: query
name: tags
description: Tags to filter for. Only connectors with one or more matching
tags will be returned.
schema:
type: array
items:
type: string
- in: query
name: organization_id
description: Organization ID to filter for. Only connectors belonging to this
Organization will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: project_id
description: Project ID to filter for. Only connectors belonging to this Project
will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: vpc_id
description: VPC ID to filter for. Only connectors belonging to this VPC will
be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: target_vpc_id
description: Target VPC ID to filter for. Only connectors belonging to this
target VPC will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: status
description: Status of the VPC connector.
schema:
type: string
enum:
- unknown_vpc_connector_status
- orphan
- peered
- conflict
default: unknown_vpc_connector_status
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.ListVPCConnectorsResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors" \
X-Auth-Token:$SCW_SECRET_KEY
post:
tags:
- VPC Connectors
operationId: CreateVPCConnector
summary: Create a VPC connector
description: Create a new VPC connector in the specified region.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPCConnector'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the VPC connector.
tags:
type: array
description: Tags for the VPC connector.
items:
type: string
vpc_id:
type: string
description: VPC ID to filter for. Only connectors belonging to
this VPC will be returned. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
target_vpc_id:
type: string
description: Target VPC ID to filter for. Only connectors belonging
to this target VPC will be returned. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
required:
- name
x-properties-order:
- name
- tags
- vpc_id
- target_vpc_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"target_vpc_id": "6170692e-7363-616c-6577-61792e636f6d",
"vpc_id": "6170692e-7363-616c-6577-61792e636f6d"
}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors" \
X-Auth-Token:$SCW_SECRET_KEY \
name="string" \
target_vpc_id="6170692e-7363-616c-6577-61792e636f6d" \
vpc_id="6170692e-7363-616c-6577-61792e636f6d"
/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}:
get:
tags:
- VPC Connectors
operationId: GetVPCConnector
summary: Get a VPC connector
description: Retrieve details of an existing VPC connector, specified by its
VPC connector ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_connector_id
description: VPC connector ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPCConnector'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}" \
X-Auth-Token:$SCW_SECRET_KEY
patch:
tags:
- VPC Connectors
operationId: UpdateVPCConnector
summary: Update VPC connector
description: Update parameters including name and tags of the specified VPC
connector.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_connector_id
description: VPC connector ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPCConnector'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the VPC connector.
nullable: true
tags:
type: array
description: Tags for the VPC connector.
nullable: true
items:
type: string
x-properties-order:
- name
- tags
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X PATCH \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}"
- lang: HTTPie
source: |-
http PATCH "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}" \
X-Auth-Token:$SCW_SECRET_KEY
delete:
tags:
- VPC Connectors
operationId: DeleteVPCConnector
summary: Delete a VPC connector
description: Delete a VPC connector specified by its VPC connector ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_connector_id
description: VPC connector ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"204":
description: ""
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X DELETE \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}"
- lang: HTTPie
source: |-
http DELETE "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}/subnet-overlaps:
get:
tags:
- VPC Connectors
operationId: ListSubnetOverlaps
summary: List subnet overlaps.
description: List subnet overlaps between the VPCConnector VPC and the target
VPC or for a specific subnet if specified.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_connector_id
description: VPCConnector ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: order_by
description: Sort order of the returned Subnet overlaps.
schema:
type: string
enum:
- subnet_asc
- subnet_desc
- target_subnet_asc
- target_subnet_desc
default: subnet_asc
- in: query
name: page
description: Page number to return, from the paginated results.
schema:
type: integer
format: int32
- in: query
name: page_size
description: Maximum number of Subnet overlaps to return per page.
schema:
type: integer
format: uint32
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.ListSubnetOverlapsResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}/subnet-overlaps"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpc-connectors/{vpc_connector_id}/subnet-overlaps" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/vpcs:
get:
tags:
- VPCs
operationId: ListVPCs
summary: List VPCs
description: List existing VPCs in the specified region.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: query
name: order_by
description: Sort order of the returned VPCs.
schema:
type: string
enum:
- created_at_asc
- created_at_desc
- name_asc
- name_desc
default: created_at_asc
- in: query
name: page
description: Page number to return, from the paginated results.
schema:
type: integer
format: int32
- in: query
name: page_size
description: Maximum number of VPCs to return per page.
schema:
type: integer
format: uint32
- in: query
name: name
description: Name to filter for. Only VPCs with names containing this string
will be returned.
schema:
type: string
- in: query
name: tags
description: Tags to filter for. Only VPCs with one or more matching tags
will be returned.
schema:
type: array
items:
type: string
- in: query
name: organization_id
description: Organization ID to filter for. Only VPCs belonging to this Organization
will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: project_id
description: Project ID to filter for. Only VPCs belonging to this Project
will be returned. (UUID format)
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: is_default
description: Defines whether to filter only for VPCs which are the default
one for their Project.
schema:
type: boolean
- in: query
name: routing_enabled
description: Defines whether to filter only for VPCs which route traffic between
their Private Networks.
schema:
type: boolean
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.ListVPCsResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs" \
X-Auth-Token:$SCW_SECRET_KEY
post:
tags:
- VPCs
operationId: CreateVPC
summary: Create a VPC
description: Create a new VPC in the specified region.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPC'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the VPC.
project_id:
type: string
description: Scaleway Project in which to create the VPC. (UUID
format)
example: 6170692e-7363-616c-6577-61792e636f6d
tags:
type: array
description: Tags for the VPC.
items:
type: string
enable_routing:
type: boolean
description: Enable routing between Private Networks in the VPC.
required:
- name
- project_id
x-properties-order:
- name
- project_id
- tags
- enable_routing
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"enable_routing": false,
"name": "string",
"project_id": "6170692e-7363-616c-6577-61792e636f6d"
}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs" \
X-Auth-Token:$SCW_SECRET_KEY \
enable_routing:=false \
name="string" \
project_id="6170692e-7363-616c-6577-61792e636f6d"
/vpc/v2/regions/{region}/vpcs/{vpc_id}:
get:
tags:
- VPCs
operationId: GetVPC
summary: Get a VPC
description: Retrieve details of an existing VPC, specified by its VPC ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: VPC ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPC'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}" \
X-Auth-Token:$SCW_SECRET_KEY
patch:
tags:
- VPCs
operationId: UpdateVPC
summary: Update VPC
description: Update parameters including name and tags of the specified VPC.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: VPC ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPC'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name for the VPC.
nullable: true
tags:
type: array
description: Tags for the VPC.
nullable: true
items:
type: string
x-properties-order:
- name
- tags
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X PATCH \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}"
- lang: HTTPie
source: |-
http PATCH "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}" \
X-Auth-Token:$SCW_SECRET_KEY
delete:
tags:
- VPCs
operationId: DeleteVPC
summary: Delete a VPC
description: Delete a VPC specified by its VPC ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: VPC ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"204":
description: ""
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X DELETE \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}"
- lang: HTTPie
source: |-
http DELETE "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}" \
X-Auth-Token:$SCW_SECRET_KEY
/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules:
get:
tags:
- Network ACLs
operationId: GetAcl
summary: Get ACL Rules for VPC
description: Retrieve a list of ACL rules for a VPC, specified by its VPC ID.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: ID of the Network ACL's VPC. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
- in: query
name: is_ipv6
description: Defines whether this set of ACL rules is for IPv6 (false = IPv4).
Each Network ACL can have rules for only one IP type.
required: true
schema:
type: boolean
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.GetAclResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X GET \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules?is_ipv6=false"
- lang: HTTPie
source: |-
http GET "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules" \
X-Auth-Token:$SCW_SECRET_KEY \
is_ipv6==false
put:
tags:
- Network ACLs
operationId: SetAcl
summary: Set VPC ACL rules
description: Set the list of ACL rules and the default routing policy for a
VPC.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: ID of the Network ACL's VPC. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.SetAclResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
rules:
type: array
description: List of Network ACL rules.
items:
$ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
is_ipv6:
type: boolean
description: Defines whether this set of ACL rules is for IPv6 (false
= IPv4). Each Network ACL can have rules for only one IP type.
default_policy:
type: string
description: Action to take for packets which do not match any rules.
enum:
- unknown_action
- accept
- drop
default: unknown_action
required:
- rules
- is_ipv6
- default_policy
x-properties-order:
- rules
- is_ipv6
- default_policy
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X PUT \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"default_policy": "unknown_action",
"is_ipv6": false,
"rules": [
""
]
}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules"
- lang: HTTPie
source: |-
http PUT "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules" \
X-Auth-Token:$SCW_SECRET_KEY \
default_policy="unknown_action" \
is_ipv6:=false \
rules:='[
""
]'
/vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing:
post:
tags:
- VPCs
operationId: EnableRouting
summary: Enable routing on a VPC
description: Enable routing on an existing VPC. Note that you will not be able
to deactivate it afterwards.
parameters:
- in: path
name: region
description: The region you want to target
required: true
schema:
type: string
enum:
- fr-par
- nl-ams
- pl-waw
- in: path
name: vpc_id
description: VPC ID. (UUID format)
required: true
schema:
type: string
example: 6170692e-7363-616c-6577-61792e636f6d
responses:
"200":
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.vpc.v2.VPC'
requestBody:
required: true
content:
application/json:
schema:
type: object
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: |-
curl -X POST \
-H "X-Auth-Token: $SCW_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing"
- lang: HTTPie
source: |-
http POST "https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing" \
X-Auth-Token:$SCW_SECRET_KEY