:original_name: CreateRouteTable.html
.. _CreateRouteTable:
Creating a Route Table
======================
Function
--------
This API is used to create a route table. A route table is the basis for an enterprise router to send and receive packets. It contains attachment associations, propagations, and routes.
URI
---
POST /v3/{project_id}/enterprise-router/{er_id}/route-tables
.. 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 |
+=============+===========+=============================================================================+=============+
| route_table | No | :ref:`CreateRouteTable ` object | Route table |
+-------------+-----------+-----------------------------------------------------------------------------+-------------+
.. _createroutetable__request_createroutetable:
.. table:: **Table 4** CreateRouteTable
+-----------------+-----------------+-------------------------------------------------------------+-------------------------------------------------+
| Parameter | Mandatory | Type | Description |
+=================+=================+=============================================================+=================================================+
| name | Yes | String | Route table name |
| | | | |
| | | | Minimum: **1** |
| | | | |
| | | | Maximum: **64** |
+-----------------+-----------------+-------------------------------------------------------------+-------------------------------------------------+
| description | No | String | Supplementary information about the route table |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **255** |
+-----------------+-----------------+-------------------------------------------------------------+-------------------------------------------------+
| tags | No | Array of :ref:`Tag ` objects | Tag information |
+-----------------+-----------------+-------------------------------------------------------------+-------------------------------------------------+
.. _createroutetable__request_tag:
.. table:: **Table 5** Tag
+-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Mandatory | Type | Description |
+=================+=================+=================+=========================================================================================================================================================================+
| key | No | String | Tag key. The value can contain a maximum of 36 Unicode characters, including uppercase letters, lowercase letters, digits, hyphens (-), and underscores (_). |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **128** |
+-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| value | No | String | Tag value. The value can contain a maximum of 43 Unicode characters, including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), periods (.). |
| | | | |
| | | | 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 |
+=============+==================================================================+=============+
| route_table | :ref:`RouteTable ` object | Route table |
+-------------+------------------------------------------------------------------+-------------+
| request_id | String | Request ID |
+-------------+------------------------------------------------------------------+-------------+
.. _createroutetable__response_routetable:
.. table:: **Table 8** RouteTable
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Parameter | Type | Description |
+========================+==============================================================+========================================================================================+
| id | String | Route table ID |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| name | String | Route table name |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| description | String | Supplementary information |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| is_default_association | Boolean | Whether the route table is the default association route table. |
| | | |
| | | Default: **false** |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| is_default_propagation | Boolean | Whether the route table is the default propagation route table. |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| state | String | Route table status. The value can be pending, available, deleting, deleted, or failed. |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| tags | Array of :ref:`Tag ` objects | Tag |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| created_at | String | Creation time |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
| updated_at | String | Update time |
+------------------------+--------------------------------------------------------------+----------------------------------------------------------------------------------------+
.. _createroutetable__response_tag:
.. table:: **Table 9** Tag
+-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Type | Description |
+=======================+=======================+=========================================================================================================================================================================+
| key | String | Tag key. The value can contain a maximum of 36 Unicode characters, including uppercase letters, lowercase letters, digits, hyphens (-), and underscores (_). |
| | | |
| | | Minimum: **0** |
| | | |
| | | Maximum: **128** |
+-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| value | String | Tag value. The value can contain a maximum of 43 Unicode characters, including uppercase letters, lowercase letters, digits, hyphens (-), underscores (_), periods (.). |
| | | |
| | | Minimum: **0** |
| | | |
| | | Maximum: **128** |
+-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Example Requests
----------------
Creating a route table
.. code-block:: text
POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f0/route-tables
{
"route_table" : {
"name" : "my-route-table",
"tags" : [ {
"key" : "key",
"value" : "value"
} ]
}
}
Example Responses
-----------------
**Status code: 202**
Accepted
.. code-block::
{
"route_table" : {
"id" : "4ab54142-7c92-48ad-8288-77727a231052",
"name" : "my-route-table",
"is_default_association" : false,
"is_default_propagation" : false,
"state" : "pending",
"created_at" : "2020-03-11T15:13:31Z",
"updated_at" : "2020-03-11T15:13:31Z",
"tags" : [ {
"key" : "key",
"value" : "value"
} ]
},
"request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9"
}
Status Codes
------------
=========== ===========
Status Code Description
=========== ===========
202 Accepted
=========== ===========
Error Codes
-----------
See :ref:`Error Codes `.