Help Center/ Virtual Private Cloud/ API Reference (Paris Regions)/ API V3/ VPC/ Adding a Secondary CIDR Block to a VPC
Updated on 2024-03-05 GMT+08:00

Adding a Secondary CIDR Block to a VPC

Function

This API is used to add a secondary CIDR block to a VPC.

URI

PUT /v3/{project_id}/vpc/vpcs/{vpc_id}/add-extend-cidr

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

For details about how to obtain the project ID, see Obtaining a Project ID.

vpc_id

Yes

String

VPC ID

Request Parameter

Table 2 Request body parameter

Parameter

Mandatory

Type

Description

dry_run

No

Boolean

Whether to only check the request.

Value range:

  • true: Only the check request will be sent and no secondary CIDR block will be added. Check items include mandatory parameters, request format, and constraints. If the check fails, an error will be returned. If the check succeeds, response code 202 will be returned.
  • false (default value): A request will be sent and a secondary CIDR block will be added.

vpc

Yes

AddExtendCidrOption object

Request body for adding a secondary CIDR block.

Table 3 AddExtendCidrOption

Parameter

Mandatory

Type

Description

extend_cidrs

Yes

Array of strings

Secondary CIDR blocks that can be added to VPCs

The value cannot contain the following:

  • 100.64.0.0/10
  • 214.0.0.0/7
  • 198.18.0.0/15
  • 169.254.0.0/16
  • 0.0.0.0/8
  • 127.0.0.0/8
  • 240.0.0.0/4
  • 172.31.0.0/16
  • 192.168.0.0/16

Currently, only one secondary CIDR block can be added to each VPC.

Example Request

  • Add a secondary CIDR block 23.8.0.0/16 to the VPC whose ID is 99d9d709-8478-4b46-9f3f-2206b1023fd3.
    PUT https://{Endpoint}/v3/{project_id}/vpc/vpcs/99d9d709-8478-4b46-9f3f-2206b1023fd3/add-extend-cidr
    
    {
        "vpc": {
            "extend_cidrs": [
                "23.8.0.0/16"
            ]
        }
    }

Response Parameter

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Request ID

vpc

Vpc object

Response body of adding a secondary CIDR block

Table 5 Vpc

Parameter

Type

Description

id

String

VPC ID, which uniquely identifies the VPC

The value is in UUID format with hyphens (-).

name

String

VPC name

The value can contain no more than 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

String

Provides supplementary information about the VPC.

The value can contain no more than 255 characters and cannot contain angle brackets (< or >).

cidr

String

Available VPC CIDR blocks

Value range:

  • 10.0.0.0/8-10.255.255.240/28
  • 172.16.0.0/12-172.31.255.240/28
  • 192.168.0.0/16-192.168.255.240/28

If cidr is not specified, the default value is "".

The value must be in IPv4 CIDR format, for example, 192.168.0.0/16.

extend_cidrs

Array of strings

Secondary CIDR blocks of VPCs

Currently, only IPv4 CIDR blocks are supported.

status

String

VPC status

Value range:
  • PENDING: The VPC is being created.
  • ACTIVE: The VPC is created successfully.

project_id

String

ID of the project to which the VPC belongs

enterprise_project_id

String

ID of the enterprise project to which the VPC belongs

The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.

created_at

String

Time when the VPC is created

UTC time in the format of yyyy-MM-ddTHH:mmss

updated_at

String

Time when the VPC is updated

UTC time in the format of yyyy-MM-ddTHH:mmss

cloud_resources

Array of CloudResource objects

Type and number of resources associated with the VPC

Currently, only route tables and subnets of the VPC are returned. The number of virsubnets is the total number of IPv4 and IPv6 subnets.

tags

Array of Tag objects

VPC tags. For details, see the tag objects.

Value range: 0 to 10 tag key-value pairs

Table 6 CloudResource

Parameter

Type

Description

resource_type

String

Resource type

resource_count

Integer

Number of resources

Table 7 Tag

Parameter

Type

Description

key

String

Tag key

Value range:
  • A tag key contains a maximum of 36 Unicode characters.
  • A tag key cannot be left blank. It cannot contain non-printable ASCII characters (0–31) or the following special characters: *,<,>,,=

value

String

Tag value

Value range:

  • A tag value contains a maximum of 43 Unicode characters and can be left blank.
  • A tag value cannot contain non-printable ASCII characters (0–31) or the following special characters: *,<,>,,=

Example Response

{
    "request_id": "84eb4f775d66dd916db121768ec55626", 
    "vpc": {
        "id": "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", 
        "name": "vpc1", 
        "description": "test1", 
        "cidr": "192.168.0.0/16", 
        "extend_cidrs": [
            "23.8.0.0/16"
        ], 
        "enterprise_project_id": "0", 
        "tags": [
            {
                "key": "key", 
                "value": "value"
            }
        ], 
        "cloud_resources": [
            {
                "resource_type": "routetable", 
                "resource_count": 1
            }
        ], 
        "status": "ACTIVE", 
        "project_id": "060576782980d5762f9ec014dd2f1148", 
        "created_at": "2018-03-23T09:26:08", 
        "updated_at": "2018-08-24T08:49:53"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.