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

Querying VPCs

Function

This API is used to query VPCs.

Constraints

This API is used to query all VPCs accessible to the tenant submitting the request. A maximum of 2000 records can be returned for each query. If the number of records exceeds 2000, the pagination marker will be returned.

Debugging

You can debug this API through automatic authentication in API Explorer.

URI

GET /v3/{project_id}/vpc/vpcs

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.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

limit

No

Integer

  • Number of records returned on each page.

  • Value range: 0 to 2000.

marker

No

String

  • Start resource ID of pagination query. If the parameter is left blank, only resources on the first page are queried.

id

No

Array of strings

  • VPC ID, which can be used to filter VPCs.

name

No

Array of strings

  • VPC name, which can be used to filter VPCs.

description

No

Array of strings

  • Supplementary information about the VPC, which can be used to filter VPCs.

cidr

No

Array of strings

  • VPC CIDR block, which can be used to filter VPCs.

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

request_id

String

Request ID.

vpcs

Array of Vpc objects

Response body for querying VPCs.

page_info

PageInfo object

Pagination information.

Table 4 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 name can contain up to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

String

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

  • The value can be:

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

  • Currently, only IPv4 CIDR blocks are supported.

status

String

  • VPC status.

  • The value can be:

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

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

updated_at

String

  • Time when the VPC is updated.

  • The value is a 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 5 CloudResource

Parameter

Type

Description

resource_type

String

  • Resource type.

resource_count

Integer

  • Number of resources.

Default: 0

Table 6 Tag

Parameter

Type

Description

key

String

  • Tag key.

  • Value ranges:

    • Each key can contain up to 36 Unicode characters and cannot be left blank.

    • Each key value of a resource must be unique.

    • The value can contain:

      • Letters

      • Digits

      • Special characters: underscores (_), and hyphens (-)

      • Chinese characters

value

String

  • Tag value.

  • Value range:

    • Each value can contain up to 43 Unicode characters and can be left blank.

    • The value can contain:

      • Letters

      • Digits

      • Special characters: underscore (_), dot (.), and hyphen (-)

      • Chinese characters

Table 7 PageInfo

Parameter

Type

Description

previous_marker

String

First record on the current page.

current_count

Integer

Total number of records on the current page.

next_marker

String

Last record on the current page. This parameter does not exist if the page is the last one.

Example Requests

  • Querying VPCs.

    GET https://{Endpoint}/v3/{project_id}/vpc/vpcs
  • Querying VPCs by VPC ID.

    GET https://{Endpoint}/v3/{project_id}/vpc/vpcs?id=01ab4be1-4447-45fb-94be-3ee787ed4ebe&id=02cd5ef2-4447-36fb-75be-3ee787ed6adf
  • Querying VPCs by VPC name.

    GET https://{Endpoint}/v3/{project_id}/vpc/vpcs?name=vpc-test
  • Querying VPCs by page.

    GET https://{Endpoint}/v3/{project_id}/vpc/vpcs?limit=2&marker=01ab4be1-4447-45fb-94be-3ee787ed4ebe

Example Responses

Status code: 200

Normal response for the GET operation. For more status codes, see Status Code.

{
  "request_id" : "9c1838ba498249547be43dd618b58d27",
  "vpcs" : [ {
    "id" : "01da5a65-0bb9-4638-8ab7-74c64e24a9a7",
    "name" : "API-PERF-TEST-14bd44c121",
    "description" : "",
    "cidr" : "192.168.0.0/16",
    "extend_cidrs" : [ ],
    "status" : "ACTIVE",
    "project_id" : "087679f0aa80d32a2f4ec0172f5e902b",
    "enterprise_project_id" : "0",
    "tags" : [ ],
    "created_at" : "2020-06-16T02:32:18Z",
    "updated_at" : "2020-06-16T02:32:18Z",
    "cloud_resources" : [ {
      "resource_type" : "routetable",
      "resource_count" : 1
    }, {
      "resource_type" : "virsubnet",
      "resource_count" : 0
    } ]
  }, {
    "id" : "43fd79b0-f7d7-4e9b-828b-2d4d7bfae428",
    "name" : "API-PERF-TEST_m2n33",
    "description" : "",
    "cidr" : "192.168.0.0/16",
    "extend_cidrs" : [ ],
    "status" : "ACTIVE",
    "project_id" : "087679f0aa80d32a2f4ec0172f5e902b",
    "enterprise_project_id" : "0",
    "tags" : [ ],
    "created_at" : "2020-06-15T06:29:40Z",
    "updated_at" : "2020-06-15T06:29:41Z",
    "cloud_resources" : [ {
      "resource_type" : "routetable",
      "resource_count" : 1
    }, {
      "resource_type" : "virsubnet",
      "resource_count" : 1
    } ]
  }, {
    "id" : "5ed053ba-b46c-4dce-a1ae-e9d8a7015f21",
    "name" : "API-PERF-TEST-c34b1c4b12",
    "description" : "",
    "cidr" : "192.168.0.0/16",
    "extend_cidrs" : [ ],
    "status" : "ACTIVE",
    "project_id" : "087679f0aa80d32a2f4ec0172f5e902b",
    "enterprise_project_id" : "0",
    "tags" : [ ],
    "created_at" : "2020-06-16T02:32:33Z",
    "updated_at" : "2020-06-16T02:32:33Z",
    "cloud_resources" : [ {
      "resource_type" : "routetable",
      "resource_count" : 1
    }, {
      "resource_type" : "virsubnet",
      "resource_count" : 0
    } ]
  } ],
  "page_info" : {
    "previous_marker" : "01da5a65-0bb9-4638-8ab7-74c64e24a9a7",
    "current_count" : 3
  }
}

Status Codes

Status Code

Description

200

Normal response for the GET operation. For more status codes, see Status Code.

Error Codes

See Error Codes.