: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.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 the route table |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **255** |
+-----------------+-----------------+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
| bgp_options | No | :ref:`BgpOptions ` object | BGP route selection parameters. This parameter is not supported for now. |
+-----------------+-----------------+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
| tags | No | Array of :ref:`Tag ` objects | Tag information |
+-----------------+-----------------+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
.. _createroutetable__request_bgpoptions:
.. table:: **Table 5** BgpOptions
+-------------------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Mandatory | Type | Description |
+===============================+===========+=========+=====================================================================================================================================================+
| load_balancing_as_path_ignore | No | Boolean | BGP option to specify that AS-Path attributes are not compared during load balancing. This parameter is not supported for now. |
+-------------------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| load_balancing_as_path_relax | No | Boolean | BGP option to specify that AS-Path attributes with the same length are not compared during load balancing. This parameter is not supported for now. |
+-------------------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
.. _createroutetable__request_tag:
.. table:: **Table 6** 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 (-), underscores (_), and at signs (@). |
| | | | |
| | | | 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 (_), and at signs (@). |
| | | | |
| | | | Minimum: **0** |
| | | | |
| | | | Maximum: **128** |
+-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Response Parameters
-------------------
**Status code: 202**
.. table:: **Table 7** Response header parameters
============== ===== ======================
Parameter Type Description
============== ===== ======================
X-Client-Token ``-`` Idempotence identifier
============== ===== ======================
.. table:: **Table 8** Response body parameters
+-------------+------------------------------------------------------------------+-------------+
| Parameter | Type | Description |
+=============+==================================================================+=============+
| route_table | :ref:`RouteTable ` object | Route table |
+-------------+------------------------------------------------------------------+-------------+
| request_id | String | Request ID |
+-------------+------------------------------------------------------------------+-------------+
.. _createroutetable__response_routetable:
.. table:: **Table 9** 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 |
+------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| bgp_options | :ref:`BgpOptions ` object | BGP route selection parameters. This parameter is not supported for now. |
+------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| 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 |
+------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+
.. _createroutetable__response_tag:
.. table:: **Table 10** 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 (-), underscores (_), and at signs (@). |
| | | |
| | | 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 (_), and at signs (@). |
| | | |
| | | Minimum: **0** |
| | | |
| | | Maximum: **128** |
+-----------------------+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. _createroutetable__response_bgpoptions:
.. table:: **Table 11** BgpOptions
+-------------------------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameter | Type | Description |
+===============================+=========+=====================================================================================================================================================+
| load_balancing_as_path_ignore | Boolean | BGP option to specify that AS-Path attributes are not compared during load balancing. This parameter is not supported for now. |
+-------------------------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| load_balancing_as_path_relax | Boolean | BGP option to specify that AS-Path attributes with the same length are not compared during load balancing. This parameter is not supported for now. |
+-------------------------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
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 `.