Documentation for scw vpc

April 24, 2026 ยท View on GitHub

This API allows you to manage your Virtual Private Clouds (VPCs) and Private Networks.

Private network management command

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.

Create a Private Network

Create a new Private Network. Once created, you can attach Scaleway resources which are in the same region.

Usage:

scw vpc private-network create [arg=value ...]

Args:

NameDescription
nameRequired
Default: <generated>
Name for the Private Network
project-idProject ID to use. If none is passed the default project ID will be used
tags.{index}Tags for the Private Network
subnets.{index}Private Network subnets CIDR
vpc-idVPC in which to create the Private Network
default-route-propagation-enabledDefines whether default v4 and v6 routes are propagated for this Private Network
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Delete a Private Network

Delete an existing Private Network. Note that you must first detach all resources from the network, in order to delete it.

Usage:

scw vpc private-network delete <private-network-id ...> [arg=value ...]

Args:

NameDescription
private-network-idRequiredPrivate Network ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Enable DHCP on a Private Network

Enable DHCP managed on an existing Private Network. Note that you will not be able to deactivate it afterwards.

Usage:

scw vpc private-network enable-dhcp [arg=value ...]

Args:

NameDescription
private-network-idRequiredPrivate Network ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Get a Private Network

Retrieve information about an existing Private Network, specified by its Private Network ID. Its full details are returned in the response object.

Usage:

scw vpc private-network get <private-network-id ...> [arg=value ...]

Args:

NameDescription
private-network-idRequiredPrivate Network ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

List Private Networks

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.

Usage:

scw vpc private-network list [arg=value ...]

Args:

NameDescription
order-byOne of: created_at_asc, created_at_desc, name_asc, name_descSort order of the returned Private Networks
nameName to filter for. Only Private Networks with names containing this string will be returned
tags.{index}Tags to filter for. Only Private Networks with one or more matching tags will be returned
project-idProject ID to filter for. Only Private Networks belonging to this Project will be returned
private-network-ids.{index}Private Network IDs to filter for. Only Private Networks with one of these IDs will be returned
vpc-idVPC ID to filter for. Only Private Networks belonging to this VPC will be returned
dhcp-enabledDHCP status to filter for. When true, only Private Networks with managed DHCP enabled will be returned
organization-idOrganization ID to filter for. Only Private Networks belonging to this Organization will be returned
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw, all
Region to target. If none is passed will use default region from the config

Update Private Network

Update parameters (such as name or tags) of an existing Private Network, specified by its Private Network ID.

Usage:

scw vpc private-network update <private-network-id ...> [arg=value ...]

Args:

NameDescription
private-network-idRequiredPrivate Network ID
nameName for the Private Network
tags.{index}Tags for the Private Network
default-route-propagation-enabledDefines whether default v4 and v6 routes are propagated for this Private Network
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Route management command

Custom routes.

Create a Route

Create a new custom Route.

Usage:

scw vpc route create [arg=value ...]

Args:

NameDescription
descriptionRoute description
tags.{index}Tags of the Route
vpc-idVPC the Route belongs to
destinationDestination of the Route
nexthop-resource-idID of the nexthop resource
nexthop-private-network-idID of the nexthop private network
nexthop-vpc-connector-idID of the nexthop VPC Connector
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Delete a Route

Delete a Route specified by its Route ID.

Usage:

scw vpc route delete <route-id ...> [arg=value ...]

Args:

NameDescription
route-idRequiredRoute ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Enable routing on a VPC

Enable routing on an existing VPC. Note that you will not be able to deactivate it afterwards.

Usage:

scw vpc route enable-routing <vpc-id ...> [arg=value ...]

Args:

NameDescription
vpc-idRequiredVPC ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Get a Route

Retrieve details of an existing Route, specified by its Route ID.

Usage:

scw vpc route get <route-id ...> [arg=value ...]

Args:

NameDescription
route-idRequiredRoute ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Return routes with associated next hop data

Return routes with associated next hop data.

Usage:

scw vpc route list [arg=value ...]

Args:

NameDescription
order-byOne of: created_at_asc, created_at_desc, destination_asc, destination_desc, prefix_len_asc, prefix_len_descSort order of the returned routes
vpc-idVPC to filter for. Only routes within this VPC will be returned
nexthop-resource-idNext hop resource ID to filter for. Only routes with a matching next hop resource ID will be returned
nexthop-private-network-idNext hop private network ID to filter for. Only routes with a matching next hop private network ID will be returned
nexthop-resource-typeOne of: unknown_type, vpc_gateway_network, instance_private_nic, baremetal_private_nic, apple_silicon_private_nic, vpn_gatewayNext hop resource type to filter for. Only Routes with a matching next hop resource type will be returned
nexthop-vpc-connector-idNext hop VPC connector ID to filter for. Only routes with a matching next hop VPC connector ID will be returned
containsOnly routes whose destination is contained in this subnet will be returned
tags.{index}Tags to filter for, only routes with one or more matching tags will be returned
is-ipv6Only routes with an IPv6 destination will be returned
regionDefault: fr-par
One of: all
Region to target. If none is passed will use default region from the config

Update Route

Update parameters of the specified Route.

Usage:

scw vpc route update <route-id ...> [arg=value ...]

Args:

NameDescription
route-idRequiredRoute ID
descriptionRoute description
tags.{index}Tags of the Route
destinationDestination of the Route
nexthop-resource-idID of the nexthop resource
nexthop-private-network-idID of the nexthop private network
nexthop-vpc-connector-idID of the nexthop VPC connector
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Rule management command

ACL Rules.

Edit all ACL rules of a VPC

This command starts your default editor to edit a marshaled version of your resource Default editor will be taken from VISUAL,thenVISUAL, then EDITOR or an editor based on your system

Usage:

scw vpc rule edit [arg=value ...]

Args:

NameDescription
vpc-idRequiredID of the Network ACL's VPC
is-ipv6Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type
default-policyAction to take for packets which do not match any rules
modeDefault: yaml
One of: yaml, json
marshaling used when editing data
regionDefault: fr-parRegion to target. If none is passed will use default region from the config

Get ACL Rules for VPC

Retrieve a list of ACL rules for a VPC, specified by its VPC ID.

Usage:

scw vpc rule get [arg=value ...]

Args:

NameDescription
vpc-idRequiredID of the Network ACL's VPC
is-ipv6RequiredDefines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Set VPC ACL rules

Set the list of ACL rules and the default routing policy for a VPC.

Usage:

scw vpc rule set [arg=value ...]

Args:

NameDescription
vpc-idRequiredID of the Network ACL's VPC
rules.{index}.protocolRequired
One of: ANY, TCP, UDP, ICMP
Protocol to which this rule applies
rules.{index}.sourceRequiredSource IP range to which this rule applies (CIDR notation with subnet mask)
rules.{index}.src-port-lowRequiredStarting port of the source port range to which this rule applies (inclusive)
rules.{index}.src-port-highRequiredEnding port of the source port range to which this rule applies (inclusive)
rules.{index}.destinationRequiredDestination IP range to which this rule applies (CIDR notation with subnet mask)
rules.{index}.dst-port-lowRequiredStarting port of the destination port range to which this rule applies (inclusive)
rules.{index}.dst-port-highRequiredEnding port of the destination port range to which this rule applies (inclusive)
rules.{index}.actionRequired
One of: unknown_action, accept, drop
Policy to apply to the packet
rules.{index}.descriptionRequiredRule description
is-ipv6RequiredDefines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
default-policyRequired
One of: unknown_action, accept, drop
Action to take for packets which do not match any rules
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

VPC management command

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.

Create a VPC

Create a new VPC in the specified region.

Usage:

scw vpc vpc create [arg=value ...]

Args:

NameDescription
nameRequired
Default: <generated>
Name for the VPC
project-idProject ID to use. If none is passed the default project ID will be used
tags.{index}Tags for the VPC
enable-routingEnable routing between Private Networks in the VPC
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Delete a VPC

Delete a VPC specified by its VPC ID.

Usage:

scw vpc vpc delete <vpc-id ...> [arg=value ...]

Args:

NameDescription
vpc-idRequiredVPC ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Get a VPC

Retrieve details of an existing VPC, specified by its VPC ID.

Usage:

scw vpc vpc get <vpc-id ...> [arg=value ...]

Args:

NameDescription
vpc-idRequiredVPC ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

List VPCs

List existing VPCs in the specified region.

Usage:

scw vpc vpc list [arg=value ...]

Args:

NameDescription
order-byOne of: created_at_asc, created_at_desc, name_asc, name_descSort order of the returned VPCs
nameName to filter for. Only VPCs with names containing this string will be returned
tags.{index}Tags to filter for. Only VPCs with one or more matching tags will be returned
project-idProject ID to filter for. Only VPCs belonging to this Project will be returned
is-defaultDefines whether to filter only for VPCs which are the default one for their Project
routing-enabledDefines whether to filter only for VPCs which route traffic between their Private Networks
organization-idOrganization ID to filter for. Only VPCs belonging to this Organization will be returned
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw, all
Region to target. If none is passed will use default region from the config

Update VPC

Update parameters including name and tags of the specified VPC.

Usage:

scw vpc vpc update <vpc-id ...> [arg=value ...]

Args:

NameDescription
vpc-idRequiredVPC ID
nameName for the VPC
tags.{index}Tags for the VPC
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

VPC connector management command

VPC peering connectors.

Create a VPC connector

Create a new VPC connector in the specified region.

Usage:

scw vpc vpc-connector create [arg=value ...]

Args:

NameDescription
nameRequired
Default: <generated>
Name for the VPC connector
tags.{index}Tags for the VPC connector
vpc-idVPC ID to filter for. Only connectors belonging to this VPC will be returned
target-vpc-idTarget VPC ID to filter for. Only connectors belonging to this target VPC will be returned
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Delete a VPC connector

Delete a VPC connector specified by its VPC connector ID.

Usage:

scw vpc vpc-connector delete <vpc-connector-id ...> [arg=value ...]

Args:

NameDescription
vpc-connector-idRequiredVPC connector ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

Get a VPC connector

Retrieve details of an existing VPC connector, specified by its VPC connector ID.

Usage:

scw vpc vpc-connector get <vpc-connector-id ...> [arg=value ...]

Args:

NameDescription
vpc-connector-idRequiredVPC connector ID
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config

List VPC connectors

List existing VPC connectors in the specified region.

Usage:

scw vpc vpc-connector list [arg=value ...]

Args:

NameDescription
order-byOne of: created_at_asc, created_at_desc, name_asc, name_descSort order of the returned VPC connectors
nameName to filter for. Only connectors with names containing this string will be returned
tags.{index}Tags to filter for. Only connectors with one or more matching tags will be returned
project-idProject ID to filter for. Only connectors belonging to this Project will be returned
vpc-idVPC ID to filter for. Only connectors belonging to this VPC will be returned
target-vpc-idTarget VPC ID to filter for. Only connectors belonging to this target VPC will be returned
statusOne of: unknown_vpc_connector_status, orphan, peered, conflictStatus of the VPC connector
organization-idOrganization ID to filter for. Only connectors belonging to this Organization will be returned
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw, all
Region to target. If none is passed will use default region from the config

Update VPC connector

Update parameters including name and tags of the specified VPC connector.

Usage:

scw vpc vpc-connector update <vpc-connector-id ...> [arg=value ...]

Args:

NameDescription
vpc-connector-idRequiredVPC connector ID
nameName for the VPC connector
tags.{index}Tags for the VPC connector
regionDefault: fr-par
One of: fr-par, it-mil, nl-ams, pl-waw
Region to target. If none is passed will use default region from the config