Help Center> Virtual Private Cloud> API Reference> API V3> VPC> Adding a Secondary CIDR Block to a VPC
Updated on 2024-04-30 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 a 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 send the check 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 permission verification. 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
  • 255.255.255.255/32

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 that uniquely identifies the VPC

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

name

String

VPC name

The value can contain up to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

String

Provides supplementary information about the VPC.

The value can contain up to 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:mm:ssZ

updated_at

String

Time when the VPC is updated

UTC time in the format of yyyy-MM-ddTHH:mm:ssZ

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 20 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:
  • It can contain up to 36 Unicode characters and cannot be blank.
  • The value can contain:
    • Letters
    • Digits
    • Special characters: underscores (_) and hyphens (-)
    • Chinese characters

value

String

Tag value

Value range:

  • Each value can contain a maximum of 43 Unicode characters and can be left blank.
  • The value can contain:
    • Letters
    • Digits
    • Special characters: underscore (_), dot (.), and hyphen (-)
    • Chinese 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:08Z", 
        "updated_at": "2018-08-24T08:49:53Z"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.