Creating a VPC Attachment

Function

This API is used to create a VPC attachment for an enterprise router.

URI

POST /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

er_id

Yes

String

Enterprise router ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Client-Token

No

String

Idempotence identifier

Minimum: 1

Maximum: 64

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

vpc_attachment

Yes

VpcAttachmentCreateRequest object

VPC attachment

Table 4 VpcAttachmentCreateRequest

Parameter

Mandatory

Type

Description

vpc_id

Yes

String

VPC ID. The value contains a maximum of 36 characters in UUID format with hyphens (-).

name

Yes

String

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

Minimum: 1

Maximum: 64

virsubnet_id

Yes

String

VPC subnet ID. The value contains a maximum of 36 characters in UUID format with hyphens (-).

description

No

String

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

Minimum: 0

Maximum: 255

auto_create_vpc_routes

No

Boolean

The default value is false. If the value is set to true, a route with the enterprise router as the next hop will be automatically added to the route tables of the VPC. This parameter can only be enabled when a VPC attachment is created.

Default: false

ipv6_enable

No

Boolean

The default value is false. If the value is true, IPv6 is enabled for the VPC attachment. This parameter is not supported for now.

Default: false

tags

No

Array of Tag objects

Tag information

Table 5 Tag

Parameter

Mandatory

Type

Description

key

No

String

Tag key. The value contain up to 128 characters (36 characters on the console), including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), and at signs (@).

Minimum: 1

Maximum: 128

value

No

String

Tag value. The value contain up to 128 characters in API (43 characters on the console), including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), and at signs (@).

Minimum: 0

Maximum: 128

Response Parameters

Status code: 202

Table 6 Response header parameters

Parameter

Type

Description

X-Client-Token

String

Idempotence identifier

Table 7 Response body parameters

Parameter

Type

Description

vpc_attachment

VpcAttachmentDetails object

VPC attachment

request_id

String

Request ID

Table 8 VpcAttachmentDetails

Parameter

Type

Description

id

String

VPC attachment ID

name

String

VPC attachment name

vpc_id

String

VPC id

virsubnet_id

String

VPC subnet ID

auto_create_vpc_routes

Boolean

The default value is false. If this parameter is set to true, routes with this enterprise router as the next hop and 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 as the destinations will be automatically added to the route tables of the VPC.

Default: false

state

String

VPC attachment status. Value options: pending, available, modifying, deleting, deleted, failed, initiating_request, rejected, and pending_acceptance

created_at

String

Creation time in the format YYYY-MM-DDTHH:mm:ss.sssZ

updated_at

String

Update time in the format YYYY-MM-DDTHH:mm:ss.sssZ

tags

Array of Tag objects

Tag information

description

String

Supplementary information about the VPC attachment

project_id

String

Project ID

vpc_project_id

String

ID of the project that the VPC belongs to

ipv6_enable

Boolean

The default value is false. If the value is true, IPv6 is enabled for the VPC attachment. This parameter is not supported for now.

Default: false

Table 9 Tag

Parameter

Type

Description

key

String

Tag key. The value contain up to 128 characters (36 characters on the console), including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), and at signs (@).

Minimum: 1

Maximum: 128

value

String

Tag value. The value contain up to 128 characters in API (43 characters on the console), including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), and at signs (@).

Minimum: 0

Maximum: 128

Example Requests

Creating a VPC attachment named vpc-atta

POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/4ab54142-7c92-48ad-8288-77727a231052/vpc-attachments

{
  "vpc_attachment" : {
    "name" : "vpc-atta",
    "vpc_id" : "b715e131-3371-4e17-a2de-4f669e24439a",
    "virsubnet_id" : "aacdc21d-90f9-45ef-ab48-80ec1bbe15b8"
  }
}

Example Responses

Status code: 202

Accepted

{
  "vpc_attachment" : {
    "id" : "6f83b848-8331-4271-ac0c-ef94b7686402",
    "name" : "vpc-atta",
    "vpc_id" : "b715e131-3371-4e17-a2de-4f669e24439a",
    "virsubnet_id" : "aacdc21d-90f9-45ef-ab48-80ec1bbe15b8",
    "project_id" : "08d5a9564a704afda6039ae2babbef3c",
    "ipv6_enable" : false,
    "state" : "pending",
    "auto_create_vpc_routes" : false,
    "created_at" : "2020-03-11T15:13:31Z",
    "updated_at" : "2020-03-11T15:13:31Z"
  },
  "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9"
}

Status Codes

Status Code

Description

202

Accepted

Error Codes

See Error Codes.