:original_name: vpc_apiroutetab_0004.html .. _vpc_apiroutetab_0004: Updating a Route Table ====================== Function -------- This API is used to update a route table. URI --- PUT /v1/{project_id}/routetables/{routetable_id} :ref:`Table 1 ` describes the parameters. .. _vpc_apiroutetab_0004__table13791152173213: .. table:: **Table 1** Parameter description +---------------+-----------+--------+------------------------------------------------------------------------+ | Name | Mandatory | Type | Description | +===============+===========+========+========================================================================+ | project_id | Yes | String | Specifies the project ID. | +---------------+-----------+--------+------------------------------------------------------------------------+ | routetable_id | Yes | String | Specifies the route table ID, which uniquely identifies a route table. | +---------------+-----------+--------+------------------------------------------------------------------------+ Request Parameters ------------------ .. table:: **Table 2** Request parameter +------------+-----------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ | Name | Mandatory | Type | Description | +============+===========+====================================================================+=======================================================================================================+ | routetable | Yes | :ref:`routetable ` object | Specifies the route table. For details, see :ref:`Table 3 `. | +------------+-----------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__table188071229326: .. table:: **Table 3** Description of the **routetable** field +-----------------+-----------------+-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Mandatory | Type | Description | +=================+=================+===========================================================================================+===========================================================================================================================================================================================+ | name | No | String | - Specifies the route table name. | | | | | - The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). | +-----------------+-----------------+-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | description | No | String | - Provides supplementary information about the route. | | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------+-----------------+-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routes | No | :ref:`RouteTableRouteAction ` object | - Specifies the route list. For details, see :ref:`Table 4 `. | | | | | - Constraints: | | | | | | | | | | - Each route table can have a maximum of 200 routes. | | | | | - The destination cannot be modified directly. To modify the destination, run the **del** command to delete the corresponding route, and then run the **add** command to add a route. | | | | | | | | | | - Specifies the operation to perform. Possible values are as follows: | | | | | | | | | | - **add**: Adds a route. Parameters **type**, **destination**, and **nexthop** are mandatory. | | | | | - **mod**: Modifies a route. Parameters **type**, **destination**, and **nexthop** are mandatory. | | | | | - **del**: Deletes a route. Parameter **destination** is mandatory. | +-----------------+-----------------+-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__request_routetablerouteaction: .. table:: **Table 4** Description of the **route** field +-----------------+-----------------+----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+========================================================================================+=============================================================================================+ | add | No | Array of :ref:`AddRouteTableRoute ` objects | Add a route. For details, see :ref:`Table 5 `. | | | | | | | | | | Parameters **type**, **destination**, and **nexthop** are mandatory. | +-----------------+-----------------+----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | mod | No | Array of :ref:`ModRouteTableRoute ` objects | Modify a route. For details, see :ref:`Table 6 `. | | | | | | | | | | Parameters **type**, **destination**, and **nexthop** are mandatory. | +-----------------+-----------------+----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | del | No | Array of :ref:`DelRouteTableRoute ` objects | Delete a route. For details, see :ref:`Table 7 `. | | | | | | | | | | Parameter **destination** is mandatory. | +-----------------+-----------------+----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__table11648235202119: .. table:: **Table 5** Field description of adding a route +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+==================================================================================================+ | type | Yes | String | - Specifies the route type. | | | | | - Values: | | | | | | | | | | - **ecs** (ECS) | | | | | - **eni** (NIC) | | | | | - **vip** (Virtual IP address) | | | | | - **nat** (NAT gateway) | | | | | - **peering** (VPC peering connection) | | | | | - **vpn** (VPN) | | | | | - **dc** (Direct Connect connection) | | | | | - **egw**: VPC endpoint node | | | | | - **er**: enterprise router | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | destination | Yes | String | - Specifies the destination CIDR block of a route. | | | | | - The value must be in the valid CIDR format. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | nexthop | Yes | String | - Specifies the ID of the next hop in the route. | | | | | - Values: | | | | | | | | | | - When **type** is **ecs**, the value is the ECS ID. | | | | | - When **type** is **eni**, the value is the extension NIC ID. | | | | | - When **type** is **vip**, the value is the virtual IP address. | | | | | - When **type** is **nat**, the value is NAT gateway ID. | | | | | - When **type** is **peering**, the value is the VPC peering connection ID. | | | | | - When **type** is **vpn**, the value is the VPN ID. | | | | | - When **type** is **dc**, the value is the Direct Connect connection ID. | | | | | - When **type** is set to **egw**, the value is the VPC endpoint ID. | | | | | - When **type** is set to **er**, the value is the ID of the enterprise router. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | description | No | String | - Provides supplementary information about the route. | | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__table1294364718262: .. table:: **Table 6** Field description of modifying a route +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+==================================================================================================+ | type | Yes | String | - Specifies the route type. | | | | | - Values: | | | | | | | | | | - **ecs** (ECS) | | | | | - **eni** (NIC) | | | | | - **vip** (Virtual IP address) | | | | | - **nat** (NAT gateway) | | | | | - **peering** (VPC peering connection) | | | | | - **vpn** (VPN) | | | | | - **dc** (Direct Connect connection) | | | | | - **egw**: VPC endpoint node | | | | | - **er**: enterprise router | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | destination | Yes | String | - Specifies the destination CIDR block of a route. | | | | | - The value must be in the valid CIDR format. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | nexthop | Yes | String | - Specifies the ID of the next hop in the route. | | | | | - Values: | | | | | | | | | | - When **type** is **ecs**, the value is the ECS ID. | | | | | - When **type** is **eni**, the value is the extension NIC ID. | | | | | - When **type** is **vip**, the value is the virtual IP address. | | | | | - When **type** is **nat**, the value is NAT gateway ID. | | | | | - When **type** is **peering**, the value is the VPC peering connection ID. | | | | | - When **type** is **vpn**, the value is the VPN ID. | | | | | - When **type** is **dc**, the value is the Direct Connect connection ID. | | | | | - When **type** is set to **egw**, the value is the VPC endpoint ID. | | | | | - When **type** is set to **er**, the value is the ID of the enterprise router. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | description | No | String | - Provides supplementary information about the route. | | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__table27171519267: .. table:: **Table 7** Field description of deleting a route +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+==================================================================================================+ | type | No | String | - Specifies the route type. | | | | | - Values: | | | | | | | | | | - **ecs** (ECS) | | | | | - **eni** (NIC) | | | | | - **vip** (Virtual IP address) | | | | | - **nat** (NAT gateway) | | | | | - **peering** (VPC peering connection) | | | | | - **vpn** (VPN) | | | | | - **dc** (Direct Connect connection) | | | | | - **egw**: VPC endpoint node | | | | | - **er**: enterprise router | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | destination | Yes | String | - Specifies the destination CIDR block of a route. | | | | | - The value must be in the valid CIDR format. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | nexthop | No | String | - Specifies the ID of the next hop in the route. | | | | | - Values: | | | | | | | | | | - When **type** is **ecs**, the value is the ECS ID. | | | | | - When **type** is **eni**, the value is the extension NIC ID. | | | | | - When **type** is **vip**, the value is the virtual IP address. | | | | | - When **type** is **nat**, the value is NAT gateway ID. | | | | | - When **type** is **peering**, the value is the VPC peering connection ID. | | | | | - When **type** is **vpn**, the value is the VPN ID. | | | | | - When **type** is **dc**, the value is the Direct Connect connection ID. | | | | | - When **type** is set to **egw**, the value is the VPC endpoint ID. | | | | | - When **type** is set to **er**, the value is the ID of the enterprise router. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ | description | No | String | - Provides supplementary information about the route. | | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------+ Example Request --------------- - Change the route table whose ID is 3d42a0d4-a980-4613-ae76-a2cddecff054, add a route with next hop type of ECS, modify the route with next hop type of ECS, and delete the route whose destination is 20.20.10.0/24. .. code-block:: text PUT https://{Endpoint}/v1/6fbe9263116a4b68818cf1edce16bc4f/routetables/3d42a0d4-a980-4613-ae76-a2cddecff054 { "routetable": { "name": "routertable-789", "description": "abc", "routes": { "add": [ { "type": "ecs", "destination": "10.10.10.0/24", "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341", "description": "abc" } ], "mod": [ { "type": "ecs", "destination": "20.10.10.0/24", "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341", "description": "abc" } ], "del": [ { "destination": "20.20.10.0/24" } ] } } } Response Parameters ------------------- .. table:: **Table 8** Response parameter +------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ | Name | Type | Description | +============+====================================================================+=======================================================================================================+ | routetable | :ref:`routetable ` object | Specifies the route table. For details, see :ref:`Table 9 `. | +------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ .. _vpc_apiroutetab_0004__table884119412392: .. table:: **Table 9** Description of the **routetable** field +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | Name | Type | Description | +=======================+============================================================================+========================================================================================================================================+ | id | String | - Specifies the route table ID, which uniquely identifies the route table. | | | | - The value must be in standard UUID format. | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | name | String | - Specifies the route table name. | | | | - The value can contain no more than 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | default | Boolean | - Specifies whether the route table is the default one. | | | | - The value can be **true** (default route table) or **false** (custom route table). | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | routes | Array of :ref:`route ` objects | - Specifies the route list. For details, see :ref:`Table 4 `. | | | | - Each route table can have a maximum of 200 routes. | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | subnets | Array of :ref:`subnet ` objects | - Specifies the subnets associated with the route table. For details, see :ref:`Table 5 `. | | | | - Only subnets in the VPC to which the route table belongs can be associated with the route table. | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | tenant_id | String | - Specifies the project ID. | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | vpc_id | String | - Specifies the ID of the VPC associated with the route table. | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | description | String | - Provides supplementary information about the route table. | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | created_at | String | - Specifies the time (UTC) when the route table is created. | | | | - Format: *yyyy-MM-ddTHH:mm:ss* | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | updated_at | String | - Specifies the time (UTC) when the route table is updated. | | | | - Format: *yyyy-MM-ddTHH:mm:ss* | +-----------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ .. table:: **Table 10** Description of the **route** field +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------+ | Name | Type | Description | +=======================+=======================+==================================================================================================+ | type | String | - Specifies the route type. | | | | - Values: | | | | | | | | - **ecs** (ECS) | | | | - **eni** (NIC) | | | | - **vip** (Virtual IP address) | | | | - **nat** (NAT gateway) | | | | - **peering** (VPC peering connection) | | | | - **vpn** (VPN) | | | | - **dc** (Direct Connect connection) | | | | - **egw**: VPC endpoint node | | | | - **er**: enterprise router | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------+ | destination | String | - Specifies the destination CIDR block of a route. | | | | - The value must be in the valid CIDR format. | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------+ | nexthop | String | - Specifies the ID of the next hop in the route. | | | | - Values: | | | | | | | | - When **type** is **ecs**, the value is the ECS ID. | | | | - When **type** is **eni**, the value is the extension NIC ID. | | | | - When **type** is **vip**, the value is the virtual IP address. | | | | - When **type** is **nat**, the value is NAT gateway ID. | | | | - When **type** is **peering**, the value is the VPC peering connection ID. | | | | - When **type** is **vpn**, the value is the VPN ID. | | | | - When **type** is **dc**, the value is the Direct Connect connection ID. | | | | - When **type** is set to **egw**, the value is the VPC endpoint ID. | | | | - When **type** is set to **er**, the value is the ID of the enterprise router. | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------+ | description | String | - Provides supplementary information about the route. | | | | - The value can contain no more than 255 characters and cannot contain angle brackets (< or >). | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------+ .. table:: **Table 11** Description of the **subnet** field +------+--------+-----------------------------------------------------------------+ | Name | Type | Description | +======+========+=================================================================+ | id | String | Specifies the ID of the subnet associated with the route table. | +------+--------+-----------------------------------------------------------------+ Example Response ---------------- .. code-block:: { "routetable": { "id": "3d42a0d4-a980-4613-ae76-a2cddecff054", "vpc_id": "ab78be2d-782f-42a5-aa72-35879f6890ff", "description": "abc", "default": false, "routes": [ { "type": "ecs", "destination": "10.10.10.0/24", "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341", "description": "abc" } ], "subnets": [ { "id": "8d4ce32f-d68a-4c4c-9f18-c68d8a5c7f2f" } ], "tenant_id": "6fbe9263116a4b68818cf1edce16bc4f", "created_at": "2022-12-15T02:56:40", "updated_at": "2022-12-15T03:03:42" } } Status Code ----------- See :ref:`Status Codes `. Error Code ---------- See :ref:`Error Codes `.