Querying VPCs

Function

This API is used to query VPCs using search criteria and to display the VPCs in a list.

URI

GET /v1/{project_id}/vpcs

Example:
GET https://{Endpoint}/v1/{project_id}/vpcs?limit=10&marker=13551d6b-755d-4757-b956-536f674975c0
Table 1 describes the parameters.
Table 1 Parameter description

Name

Mandatory

Type

Description

project_id

Yes

String

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

marker

No

String

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

limit

No

Integer

  • Specifies the number of records returned on each page.
  • The value ranges from 0 to intmax.

enterprise_project_id

No

String

  • Specifies the enterprise project ID. This field can be used to filter out the VPCs associated with a specified enterprise project.
  • The value can contain a maximum of 36 characters. It is string "0" or in UUID format with hyphens (-). Value "0" indicates the default enterprise project. To obtain the VPCs bound to all enterprise projects of the user, set all_granted_eps.
NOTE:

For more information about enterprise projects and how to obtain enterprise project IDs, see the Enterprise Management User Guide.

Request Message

  • Request parameter

    None

  • Example request
    GET https://{Endpoint}/v1/{project_id}/vpcs

Response Message

  • Response parameter
    Table 2 Response parameter

    Name

    Type

    Description

    vpcs

    Array of vpcs objects

    Specifies the VPC objects.

    Table 3 Description of the vpcs field

    Name

    Type

    Description

    id

    String

    Specifies a resource ID in UUID format.

    name

    String

    • Specifies the VPC name.
    • The value is a string of no more than 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).
    • Each VPC name of a tenant must be unique if the VPC name is not left blank.

    description

    String

    • Provides supplementary information about the VPC.
    • The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

    cidr

    String

    • Specifies the available IP address ranges for subnets in the VPC.
    • Possible values are as follows:
      • 10.0.0.0/8~24
      • 172.16.0.0/12~24
      • 192.168.0.0/16~24
    • If cidr is not specified, the default value is left blank.
    • The value must be in CIDR format, for example, 192.168.0.0/16.

    status

    String

    • Specifies the VPC status.
    • Possible values are as follows:
      • CREATING: The VPC is being created.
      • OK: The VPC is created successfully.

    enterprise_project_id

    String

    • Specifies the enterprise project ID.
    • The value can contain a maximum of 36 characters. It is string "0" or in UUID format with hyphens (-). Value "0" indicates the default enterprise project. To obtain the VPCs bound to all enterprise projects of the user, set all_granted_eps.

    routes

    Array of route objects

    • Specifies the route information.
    • For details, see Table 4.
    Table 4 route objects

    Name

    Type

    Description

    destination

    String

    • Specifies the destination network segment of a route.
    • The value must be in the CIDR format. Currently, only the value 0.0.0.0/0 is supported.

    nexthop

    String

    • Specifies the next hop of a route.
    • The value must be an IP address and must belong to the subnet in the VPC. Otherwise, this value does not take effect.
  • Example response
    {
        "vpcs": [
            {
                "id": "13551d6b-755d-4757-b956-536f674975c0",
                "name": "default",
                "description": "test",
                "cidr": "172.16.0.0/16",
                "status": "OK",
                "enterprise_project_id": "0",
                "routes": []
            },
            {
                "id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85",
                "name": "222",
                "description": "test",
                "cidr": "192.168.0.0/16",
                "status": "OK",
                "enterprise_project_id": "0635d733-c12d-4308-ba5a-4dc27ec21038",
                "routes": []
            },
            {
                "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3",
                "name": "vpc",
                "description": "test",
                "cidr": "192.168.0.0/16",
                "status": "OK",
                "enterprise_project_id": "0",
                "routes": []
            }
        ]
    }

Status Code

See Status Codes.

Error Code

See Error Codes.