:original_name: CreateVpcAttachment.html
.. _CreateVpcAttachment:
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:: **Table 1** Path Parameters
========== ========= ====== ====================
Parameter Mandatory Type Description
========== ========= ====== ====================
project_id Yes String Project ID
er_id Yes String Enterprise router ID
========== ========= ====== ====================
Request Parameters
------------------
.. table:: **Table 2** Request header parameters
+-----------------+-----------------+-----------------+------------------------+
| Parameter | Mandatory | Type | Description |
+=================+=================+=================+========================+
| X-Client-Token | No | String | Idempotence identifier |
| | | | |
| | | | Minimum: **1** |
| | | | |
| | | | Maximum: **64** |
+-----------------+-----------------+-----------------+------------------------+
.. table:: **Table 3** Request body parameters
+----------------+-----------+----------------------------------------------------------------------------------------------------+----------------+
| Parameter | Mandatory | Type | Description |
+================+===========+====================================================================================================+================+
| vpc_attachment | Yes | :ref:`VpcAttachmentCreateRequest ` object | VPC attachment |
+----------------+-----------+----------------------------------------------------------------------------------------------------+----------------+
.. _createvpcattachment__request_vpcattachmentcreaterequest:
.. table:: **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 :ref:`Tag ` objects | Tag information |
+------------------------+-----------------+----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. _createvpcattachment__request_tag:
.. table:: **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:: **Table 6** Response header parameters
============== ===== ======================
Parameter Type Description
============== ===== ======================
X-Client-Token ``-`` Idempotence identifier
============== ===== ======================
.. table:: **Table 7** Response body parameters
+----------------+-----------------------------------------------------------------------------------------+----------------+
| Parameter | Type | Description |
+================+=========================================================================================+================+
| vpc_attachment | :ref:`VpcAttachmentDetails ` object | VPC attachment |
+----------------+-----------------------------------------------------------------------------------------+----------------+
| request_id | String | Request ID |
+----------------+-----------------------------------------------------------------------------------------+----------------+
.. _createvpcattachment__response_vpcattachmentdetails:
.. table:: **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 :ref:`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** |
+------------------------+-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. _createvpcattachment__response_tag:
.. table:: **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**
.. code-block:: text
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
.. code-block::
{
"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 :ref:`Error Codes `.