doc-exports/docs/vpc/api-ref/vpc_api01_0001.html
gtema 4cfecba474 VPC api from PR#278
Reviewed-by: Kucerak, Kristian <kristian.kucerak@t-systems.com>
Co-authored-by: gtema <artem.goncharov@gmail.com>
Co-committed-by: gtema <artem.goncharov@gmail.com>
2022-10-17 12:39:05 +00:00

22 KiB

Creating a VPC

Function

This API is used to create a VPC.

URI

POST /v1/{project_id}/vpcs

Table 1 describes the parameters.
Table 1 Parameter description

Name

Mandatory

Description

project_id

Yes

Specifies the project ID.

Request Message

  • Request parameter
    Table 2 Request parameter

    Name

    Mandatory

    Type

    Description

    vpc

    Yes

    vpc object

    Specifies the VPC objects.

    Table 3 VPC objects

    Name

    Mandatory

    Type

    Description

    name

    No

    String

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

    description

    No

    String

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

    cidr

    No

    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.

    enterprise_project_id

    No

    String

    • Specifies the enterprise project ID. When creating a VPC, you can associate an enterprise project ID with the VPC.
    • 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.
    NOTE:

    This parameter is unsupported. Do not use it.

  • Example request
    POST https://{Endpoint}/v1/{project_id}/vpcs
    
    {
        "vpc": {
            "name": "vpc",
            "description": "test",
            "cidr": "192.168.0.0/16",
            "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2"
        }
    }

Response Message

  • Response parameter
    Table 4 Response parameter

    Name

    Type

    Description

    vpc

    vpc object

    Specifies the VPC objects.

    Table 5 VPC objects

    Name

    Type

    Description

    id

    String

    Specifies a resource ID in UUID format.

    name

    String

    • Specifies the VPC name.
    • The value can contain no more than 64 characters, including 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 can contain 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.

    routes

    Array of route objects

    • Specifies the route information.
    • For details, see the description of the route objects.

    enable_shared_snat

    Boolean

    Specifies whether the shared SNAT function is enabled. The value true indicates that the function is enabled, and the value false indicates that the function is not enabled.

    enterprise_project_id

    String

    • Specifies the enterprise project ID.
    • 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.
    NOTE:

    This parameter is unsupported. Do not use it.

    Table 6 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
    {
     "vpc": 
         {
         "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3",
         "name": "vpc",
         "description": "test",
         "cidr": "192.168.0.0/16",
         "status": "CREATING",
         "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", 
         "routes": []
         }
    }

Status Code

See Status Codes.

Error Code

See Error Codes.