:original_name: CreateEnterpriseRouter.html
.. _CreateEnterpriseRouter:
Creating an Enterprise Router
=============================
Function
--------
This API is used to create an enterprise router. If both Default Route Table Association and Default Route Table Propagation are enabled, the system will create a route table as both the default association route table and the default propagation route table.
URI
---
POST /v3/{project_id}/enterprise-router/instances
.. table:: **Table 1** Path Parameters
========== ========= ====== ===========
Parameter Mandatory Type Description
========== ========= ====== ===========
project_id Yes String Project 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 |
+===========+===========+===============================================================================================+===================+
| instance | Yes | :ref:`CreateEnterpriseRouter ` object | Enterprise router |
+-----------+-----------+-----------------------------------------------------------------------------------------------+-------------------+
.. _createenterpriserouter__request_createenterpriserouter:
.. table:: **Table 4** CreateEnterpriseRouter
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Mandatory | Type | Description |
+================================+=================+===================================================================+=================================================================================================================================================================+
| name | Yes | String | Enterprise router name. The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). |
| | | | |
| | | | Minimum: **1** |
| | | | |
| | | | Maximum: **64** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| description | No | String | Supplementary information about an enterprise router |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **255** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| asn | Yes | Long | Enterprise router BGP ASN. Specify a dedicated ASN in the range of 64512-65534 or 4200000000-4294967294. ASN can only be set during enterprise router creation. |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| enterprise_project_id | No | String | Enterprise project ID |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| charge_mode | No | String | Default: **postPaid** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tags | No | Array of :ref:`Tag ` objects | Tag information |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| enable_default_propagation | No | Boolean | Whether to enable the Default Route Table Propagation function. The default value is **false**, indicating that the function is disabled. |
| | | | |
| | | | Default: **false** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| enable_default_association | No | Boolean | Whether to enable the Default Route Table Association function. The default value is **false**, indicating that the function is disabled. |
| | | | |
| | | | Default: **false** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availability_zone_ids | Yes | Array of strings | AZs where the enterprise router is located |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **128** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| auto_accept_shared_attachments | No | Boolean | Whether to enable Auto Accept Shared Attachments. The default value is **false**, indicating that the function is disabled. |
| | | | |
| | | | Default: **false** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| cidr_blocks | No | Array of strings | Enterprise router CIDR block. This parameter is not supported for now. |
| | | | |
| | | | Minimum: **1** |
| | | | |
| | | | Maximum: **64** |
| | | | |
| | | | Array Length: **0 - 100** |
+--------------------------------+-----------------+-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. _createenterpriserouter__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 |
+============+====================================================================================+===================+
| instance | :ref:`EnterpriseRouter ` object | Enterprise router |
+------------+------------------------------------------------------------------------------------+-------------------+
| request_id | String | Request ID |
+------------+------------------------------------------------------------------------------------+-------------------+
.. _createenterpriserouter__response_enterpriserouter:
.. table:: **Table 8** EnterpriseRouter
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Type | Description |
+====================================+====================================================================+===========================================================================================================================================+
| id | String | Enterprise router ID |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| name | String | Enterprise router name |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| description | String | Supplementary information about an enterprise router |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| state | String | Enterprise router status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| tags | Array of :ref:`Tag ` objects | Tag information |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| charge_mode | String | Default: **postPaid** |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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 |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| enterprise_project_id | String | Enterprise project ID |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| project_id | String | Project ID |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| asn | Long | Enterprise router BGP ASN |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| enable_default_propagation | Boolean | Whether to enable the Default Route Table Propagation function. The default value is **false**, indicating that the function is disabled. |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| enable_default_association | Boolean | Whether to enable the Default Route Table Association function. The default value is **false**, indicating that the function is disabled. |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| default_propagation_route_table_id | String | Default propagation route table ID |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| default_association_route_table_id | String | Default association route table ID |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| availability_zone_ids | Array of strings | AZs where the enterprise router is located |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| auto_accept_shared_attachments | Boolean | Whether to automatically accept shared attachments. The default value is **false**, indicating that the function is disabled. |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| cidr_blocks | Array of strings | Enterprise router CIDR block. This parameter is not supported for now. |
+------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
.. _createenterpriserouter__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 an enterprise router
.. code-block:: text
POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances
{
"instance" : {
"name" : "my_er",
"description" : "this is my first enterprise router",
"asn" : 64512,
"enable_default_association" : true,
"enable_default_propagation" : true,
"tags" : [ {
"key" : "key1",
"value" : "value1"
} ],
"availability_zone_ids" : [ "az1", "az2" ]
}
}
Example Responses
-----------------
**Status code: 202**
Accepted
.. code-block::
{
"instance" : {
"id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff",
"name" : "my_er",
"description" : "this is my first enterprise router",
"asn" : 64512,
"project_id" : "08d5a9564a704afda6039ae2babbef3c",
"enable_default_association" : true,
"enable_default_propagation" : true,
"default_association_route_table_id" : "7f7f738f-453c-40b1-be26-28e7b9e390c1",
"default_propagation_route_table_id" : "7f7f738f-453c-40b1-be26-28e7b9e390c1",
"auto_accept_shared_attachments" : false,
"created_at" : "2019-09-06 02:11:13Z",
"updated_at" : "2019-09-06 02:11:13Z",
"tags" : [ {
"key" : "key1",
"value" : "value1"
} ],
"enterprise_project_id" : 0,
"availability_zone_ids" : [ "az1", "az2" ]
},
"request_id" : "14c2b814-99dc-939a-e811-ae84c61ea3f4"
}
Status Codes
------------
=========== ===========
Status Code Description
=========== ===========
202 Accepted
=========== ===========
Error Codes
-----------
See :ref:`Error Codes `.