Updated on 2025-11-10 GMT+08:00

Creating a Subnet CIDR Reservation

Function

A subnet CIDR reservation is an IP address range that you set aside from a subnet CIDR block. IP addresses in the subnet CIDR reservation will not be used by instances in the subnet. You can create a subnet CIDR reservation to reserve an IP address range for special scenarios.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    vpc:subnets:createReservation

    Write

    subnet *

    • g:ResourceTag/<tag-key>

    • g:EnterpriseProjectId

    -

    -

URI

POST /v3/{project_id}/vpc/virsubnet-cidr-reservations

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition:

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

Range:

N/A

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

dry_run

No

Boolean

Definition:

Whether to only check the request.

Constraints:

N/A

Range:

  • true: Only the check request will be sent and no subnet CIDR reservation will be created. 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: A request will be sent and a subnet CIDR reservation will be created.

Default Value:

false

virsubnet_cidr_reservation

Yes

CreateVirsubnetCidrReservationOption object

Definition:

Request body for creating a subnet CIDR reservation.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

Table 3 CreateVirsubnetCidrReservationOption

Parameter

Mandatory

Type

Description

virsubnet_id

Yes

String

Definition:

ID of the subnet that a subnet CIDR reservation belongs to.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

ip_version

Yes

Integer

Definition:

IP version of a subnet CIDR reservation. Both IPv4 and IPv6 are supported.

Constraints:

N/A

Range:

  • 4: IPv4.

  • 6: IPv6.

Default Value:

N/A

cidr

No

String

Definition:

CIDR block of a subnet CIDR reservation.

Constraints:

  • The value is in CIDR block format. The minimum netmask value is the subnet netmask value plus 2, and the maximum netmask value is 32 (IPv4) or 128 (IPv6).

  • Either cidr or mask must be specified. If both are specified, the two values cannot conflict with each other.

  • A subnet CIDR reservation cannot contain the used IP addresses in the subnet and the reserved IP addresses by the system (the first and last two IP addresses in the subnet).

Range:

N/A

Default Value:

N/A

mask

No

Integer

Definition:

Netmask of a subnet CIDR reservation.

Constraints:

  • The value is an integer. The minimum netmask value is the subnet netmask value plus 2, and the maximum netmask value is 32 (IPv4) or 128 (IPv6).

  • Either cidr or mask must be specified. If both are specified, the two values cannot conflict with each other.

  • A subnet CIDR reservation cannot contain the used IP addresses in the subnet and the reserved IP addresses by the system (the first and last two IP addresses in the subnet).

  • If you specify a netmask when creating a subnet CIDR reservation, the system automatically allocates the bits of the difference between the value of mask and the specified netmask. For example, if the subnet CIDR block is 192.168.21.0/24, the subnet netmask is 24, and the specified netmask is 27, the system automatically allocates bits 25, 26, and 27. For example:

    • Bits 25 to 27 are allocated to 011. The subnet CIDR reservation is 192.168.21.96/27. 96 in binary is 0110 0000.

    • Bits 25 to 27 are allocated to 110. The subnet CIDR reservation is 192.168.21.192/27. 192 in binary is 1100 0000.

Range:

N/A

Default Value:

N/A

name

No

String

Definition:

Name of the subnet CIDR reservation.

Constraints:

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

Range:

N/A

Default Value:

N/A

description

No

String

Definition:

Description of a subnet CIDR reservation.

Constraints:

The value can contain 0 to 255 characters and cannot contain angle brackets (< or >).

Range:

N/A

Default Value:

N/A

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Definition:

Request ID.

Range:

N/A

virsubnet_cidr_reservation

VirsubnetCidrReservation object

Definition:

Response body for creating a subnet CIDR reservation.

Range:

N/A

Table 5 VirsubnetCidrReservation

Parameter

Type

Description

id

String

Definition:

ID of a subnet CIDR reservation. Each subnet CIDR reservation comes with an ID, which uniquely identifies the subnet CIDR reservation.

Range:

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

virsubnet_id

String

Definition:

ID of the subnet that a subnet CIDR reservation belongs to.

Range:

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

vpc_id

String

Definition:

ID of the VPC that a subnet CIDR reservation belongs to.

Range:

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

ip_version

Integer

Definition:

IP address version of a subnet CIDR reservation.

Range:

  • 4: IPv4

  • 6: IPv6

cidr

String

Definition:

CIDR block of a subnet CIDR reservation.

Range:

The value is in CIDR block format. The minimum netmask value is the subnet netmask value plus 2, and the maximum netmask value is 32 (IPv4) or 128 (IPv6).

name

String

Definition:

Name of the subnet CIDR reservation.

Range:

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

description

String

Definition:

Description of a subnet CIDR reservation.

Range:

The value can contain 0 to 255 characters and cannot contain angle brackets (< or >).

project_id

String

Definition:

ID of the project that a subnet CIDR reservation belongs to.

Range:

N/A

created_at

String

Definition:

Time when a subnet CIDR reservation is created.

Range:

The value is a UTC time in the format of yyyy-MM-ddTHH:mm:ssZ.

updated_at

String

Definition:

Time when the subnet CIDR reservation was last updated.

Range:

The value is a UTC time in the format of yyyy-MM-ddTHH:mm:ssZ.

Example Requests

Create a subnet CIDR reservation. The virtual subnet ID is fb0e2bd6-190f-0d1a-7728-a5f6b1d8dd19, the IPv4 version is used, the subnet CIDR reservation is 192.168.21.96/28, the name is test, and the description is for test.

POST https://{Endpoint}/v3/{project_id}/vpc/virsubnet-cidr-reservations

{
  "virsubnet_cidr_reservation" : {
    "virsubnet_id" : "fb0e2bd6-190f-0d1a-7728-a5f6b1d8dd19",
    "ip_version" : 4,
    "cidr" : "192.168.21.96/28",
    "name" : "test",
    "description" : "for test"
  }
}

Example Responses

Status code: 201

The POST operation is successful. For more status codes, see Status Codes.

{
    "virsubnet_cidr_reservation": {
        "id": "ed4edb94-754c-7848-bb77-2d381906c535",
        "virsubnet_id": "fb0e2bd6-190f-0d1a-7728-a5f6b1d8dd19",
        "vpc_id": "cef5d621-6c20-d5df-74e8-746271fba734",
        "ip_version": 4,
        "cidr": "192.168.21.96/28",
        "name": "test",
        "description": "for test",
        "project_id": "11e8dd119c77479db890e266e68c1ecf",
        "created_at": "2024-09-09T11:56:27Z",
        "updated_at": "2024-09-09T11:56:27Z",
    },
    "request_id": "fd48620df5f57b04917f2cc5ebeaf277"
}

Status Codes

Status Code

Description

201

The POST operation is successful. For more status codes, see Status Codes.

Error Codes

See Error Codes.