Updated on 2025-08-19 GMT+08:00

Creating a Subnet CIDR Reservation

Function

This API is used to create a subnet CIDR reservation.

Calling Method

For details, see Calling APIs.

URI

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

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

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

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

dry_run

No

Boolean

  • Whether to only send the check request.

  • The value can be:

    • 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, the system returns an error. If the check succeeds, response code 202 will be returned.

    • false (default value): A request will be sent and a subnet CIDR reservation will be created.

virsubnet_cidr_reservation

Yes

CreateVirsubnetCidrReservationOption object

Request body for creating a subnet CIDR reservation.

Table 3 CreateVirsubnetCidrReservationOption

Parameter

Mandatory

Type

Description

virsubnet_id

Yes

String

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

ip_version

Yes

Integer

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

  • The value can be:

    • 4: IPv4

    • 6: IPv6

cidr

No

String

  • Subnet CIDR reservation.

  • 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).

  • Note:

    • 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).

mask

No

Integer

  • Netmask value of a subnet CIDR reservation.

  • 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).

  • Note:

    • 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 length 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.

      • 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.

name

No

String

  • Name of a subnet CIDR reservation.

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

description

No

String

  • Description of a subnet CIDR reservation.

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

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Request ID.

virsubnet_cidr_reservation

VirsubnetCidrReservation object

Response body for creating a subnet CIDR reservation.

Table 5 VirsubnetCidrReservation

Parameter

Type

Description

id

String

  • Unique ID of a subnet CIDR reservation.

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

virsubnet_id

String

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

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

vpc_id

String

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

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

ip_version

Integer

  • IP version of a subnet CIDR reservation.

  • The value can be:

    • 4: IPv4

    • 6: IPv6

cidr

String

  • Subnet CIDR reservation.

  • 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

  • Name of a subnet CIDR reservation.

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

description

String

  • Description of a subnet CIDR reservation.

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

project_id

String

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

created_at

String

  • The time when a subnet CIDR reservation is created.

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

updated_at

String

  • The time when a subnet CIDR reservation is updated.

  • 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.