diff --git a/api-ref/source/_static/images/en-us_image_0000001294957952.png b/api-ref/source/_static/images/en-us_image_0000001294957952.png new file mode 100644 index 0000000..cf85379 Binary files /dev/null and b/api-ref/source/_static/images/en-us_image_0000001294957952.png differ diff --git a/api-ref/source/api_usage_guidelines.rst b/api-ref/source/api_usage_guidelines.rst new file mode 100644 index 0000000..482bf0b --- /dev/null +++ b/api-ref/source/api_usage_guidelines.rst @@ -0,0 +1,30 @@ +:original_name: er_02_0001.html + +.. _er_02_0001: + +API Usage Guidelines +==================== + +Public cloud APIs comply with the RESTful API design principles. REST-based web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: *https://Endpoint/uri*. In the URL, **uri** indicates the resource path, that is, the API access path. + +Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by **application/json**. + +For details about how to use APIs, see `API Usage Guidelines `__. + +Network instances can be attached to an enterprise router as its attachments. The attachment type varies depending on the network instance. + + +.. figure:: /_static/images/en-us_image_0000001294957952.png + :alt: **Figure 1** Attachments + + **Figure 1** Attachments + +.. table:: **Table 1** Enterprise Router attachments + + +----------------------------+-----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | Attachment Type | Network Instance | Creating an Attachment | Querying Attachment Details | Deleting an Attachment | + +============================+===================================+==================================================================================================================================================================================================================================+====================================================================+=============================================================================================================================================+ + | VPC attachment | VPC | :ref:`Creating a VPC Attachment ` | :ref:`Querying Details About a VPC Attachment ` | :ref:`Deleting a VPC Attachment ` | + +----------------------------+-----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | Virtual gateway attachment | Virtual gateway of Direct Connect | Create a virtual gateway by referring to `Creating a Virtual Gateway `__ and then attach it to an enterprise router. | :ref:`Querying Details About an Attachment ` | `Deleting a Virtual Gateway `__ | + +----------------------------+-----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/apis/associations/creating_a_route_association.rst b/api-ref/source/apis/associations/creating_a_route_association.rst new file mode 100644 index 0000000..9734034 --- /dev/null +++ b/api-ref/source/apis/associations/creating_a_route_association.rst @@ -0,0 +1,193 @@ +:original_name: AssociateRouteTable.html + +.. _AssociateRouteTable: + +Creating a Route Association +============================ + +Function +-------- + +This API is used to create a route association. Each attachment only can be associated with one route table of its enterprise router for packet forwarding. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/associate + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table 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 | + +=================+=================+==================================================================================+===========================================================================================================================+ + | attachment_id | No | String | Unique ID of the attachment | + | | | | | + | | | | Maximum: **36** | + +-----------------+-----------------+----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_policy | No | :ref:`ExportRoutePolicy ` object | Route that controls outbound traffic. Note that this is not currently supported. This parameter is not supported for now. | + +-----------------+-----------------+----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + +.. _associateroutetable__request_exportroutepolicy: + +.. table:: **Table 4** ExportRoutePolicy + + +------------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +==================+=================+=================+=================================================================================================+ + | export_policy_id | No | String | ID of the route policy that controls outbound traffic. This parameter is not supported for now. | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **36** | + +------------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 5** Response header parameters + + ============== ===== ====================== + Parameter Type Description + ============== ===== ====================== + X-Client-Token ``-`` Idempotence identifier + ============== ===== ====================== + +.. table:: **Table 6** Response body parameters + + +-------------+-----------------------------------------------------------------------+---------------------+ + | Parameter | Type | Description | + +=============+=======================================================================+=====================+ + | association | :ref:`Association ` object | Association details | + +-------------+-----------------------------------------------------------------------+---------------------+ + | request_id | String | Request ID | + +-------------+-----------------------------------------------------------------------+---------------------+ + +.. _associateroutetable__response_association: + +.. table:: **Table 7** Association + + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+===================================================================================+===========================================================================================================================+ + | id | String | Unique association ID | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Unique ID of the route table | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | attachment_id | String | Unique ID of the attachment | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Unique ID of the attachment | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | state | String | Status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Creation time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Update time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_policy | :ref:`ExportRoutePolicy ` object | Route that controls outbound traffic. Note that this is not currently supported. This parameter is not supported for now. | + +-----------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + +.. _associateroutetable__response_exportroutepolicy: + +.. table:: **Table 8** ExportRoutePolicy + + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=================================================================================================+ + | export_policy_id | String | ID of the route policy that controls outbound traffic. This parameter is not supported for now. | + | | | | + | | | Minimum: **0** | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Creating a route table association + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f8/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/associate + + { + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64" + } + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "association" : { + "id" : "915a14a6-867b-4af7-83d1-70efceb146f9", + "route_table_id" : "91c013e2-d65a-474e-9177-c3e1799ca726", + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64", + "resource_type" : "vpc", + "resource_id" : "4e5fe97c-82bc-432e-87d8-06d7e157dffa", + "state" : "pending", + "created_at" : "2020-03-11T15:13:31", + "updated_at" : "2020-03-11T15:13:31", + "route_policy" : { + "export_policy_id" : "" + } + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f8" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/associations/deleting_a_route_association.rst b/api-ref/source/apis/associations/deleting_a_route_association.rst new file mode 100644 index 0000000..6a303bf --- /dev/null +++ b/api-ref/source/apis/associations/deleting_a_route_association.rst @@ -0,0 +1,92 @@ +:original_name: DisassociateRouteTable.html + +.. _DisassociateRouteTable: + +Deleting a Route Association +============================ + +Function +-------- + +This API is used to delete an association from the route table of an enterprise router for an attachment. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/disassociate + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +-----------------+-----------------+-------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=====================================================================================+===========================================================================================================================+ + | attachment_id | No | String | Unique ID of the attachment | + | | | | | + | | | | Maximum: **36** | + +-----------------+-----------------+-------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_policy | No | :ref:`ExportRoutePolicy ` object | Route that controls outbound traffic. Note that this is not currently supported. This parameter is not supported for now. | + +-----------------+-----------------+-------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + +.. _disassociateroutetable__request_exportroutepolicy: + +.. table:: **Table 3** ExportRoutePolicy + + +------------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +==================+=================+=================+=================================================================================================+ + | export_policy_id | No | String | ID of the route policy that controls outbound traffic. This parameter is not supported for now. | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **36** | + +------------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +Deleting a route table association + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f8/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/disassociate + + { + "attachment_id" : "2609ec92-ac19-4467-a527-7f9e690e7836" + } + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/associations/index.rst b/api-ref/source/apis/associations/index.rst new file mode 100644 index 0000000..046dbe8 --- /dev/null +++ b/api-ref/source/apis/associations/index.rst @@ -0,0 +1,18 @@ +:original_name: Association.html + +.. _Association: + +Associations +============ + +- :ref:`Creating a Route Association ` +- :ref:`Querying Route Associations ` +- :ref:`Deleting a Route Association ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_route_association + querying_route_associations + deleting_a_route_association diff --git a/api-ref/source/apis/associations/querying_route_associations.rst b/api-ref/source/apis/associations/querying_route_associations.rst new file mode 100644 index 0000000..17c24d9 --- /dev/null +++ b/api-ref/source/apis/associations/querying_route_associations.rst @@ -0,0 +1,202 @@ +:original_name: ListAssociations.html + +.. _ListAssociations: + +Querying Route Associations +=========================== + +Function +-------- + +This API is used to query route associations. + +Constraints +----------- + +Pagination query is supported. You can query by state, resource type, or attachment ID. Only sorting by a single field (**id**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/associations + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=====================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | attachment_id | No | Array | Attachment ID | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | No | Array | Attachment type. | + | | | | | + | | | | - **vpc**: VPC attachments | + | | | | | + | | | | - **vgw**: virtual gateway attachments | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +=======================+==============================================================================+==============================+ + | associations | Array of :ref:`Association ` objects | Route table associations | + | | | | + | | | Array Length: **0 - 2000** | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + +.. _listassociations__response_association: + +.. table:: **Table 4** Association + + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+================================================================================+===========================================================================================================================+ + | id | String | Unique association ID | + | | | | + | | | Maximum: **36** | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Unique ID of the route table | + | | | | + | | | Maximum: **36** | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | attachment_id | String | Unique ID of the attachment | + | | | | + | | | Maximum: **36** | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Unique ID of the attachment | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | state | String | Status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Creation time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Update time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + | route_policy | :ref:`ExportRoutePolicy ` object | Route that controls outbound traffic. Note that this is not currently supported. This parameter is not supported for now. | + +-----------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ + +.. _listassociations__response_exportroutepolicy: + +.. table:: **Table 5** ExportRoutePolicy + + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=================================================================================================+ + | export_policy_id | String | ID of the route policy that controls outbound traffic. This parameter is not supported for now. | + | | | | + | | | Minimum: **0** | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------+ + +.. _listassociations__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying route table associations + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f5/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/associations + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "associations" : [ { + "id" : "915a14a6-867b-4af7-83d1-70efceb146f9", + "route_table_id" : "91c013e2-d65a-474e-9177-c3e1799ca726", + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64", + "resource_type" : "vpc", + "resource_id" : "4e5fe97c-82bc-432e-87d8-06d7e157dffa", + "state" : "pending", + "created_at" : "2020-03-11T15:13:31", + "updated_at" : "2020-03-11T15:13:31", + "route_policy" : { + "export_policy_id" : "" + } + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 1 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/attachments/index.rst b/api-ref/source/apis/attachments/index.rst new file mode 100644 index 0000000..64ddc48 --- /dev/null +++ b/api-ref/source/apis/attachments/index.rst @@ -0,0 +1,18 @@ +:original_name: Attachments.html + +.. _Attachments: + +Attachments +=========== + +- :ref:`Updating an Attachment ` +- :ref:`Querying Details About an Attachment ` +- :ref:`Querying Attachments ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + updating_an_attachment + querying_details_about_an_attachment + querying_attachments diff --git a/api-ref/source/apis/attachments/querying_attachments.rst b/api-ref/source/apis/attachments/querying_attachments.rst new file mode 100644 index 0000000..f9451b6 --- /dev/null +++ b/api-ref/source/apis/attachments/querying_attachments.rst @@ -0,0 +1,221 @@ +:original_name: ListAttachments.html + +.. _ListAttachments: + +Querying Attachments +==================== + +Function +-------- + +This API is used to query the attachments of the enterprise router. + +Constraints +----------- + +- Filtering query is supported. The filtering criteria include **state**, **resource_type**, and **resource_id**. You can query multiple resources at a time or use combined criteria to query resources. + +- Pagination query is supported. You can use **limit** and **marker** together for pagination query. + +- Only sorting by a single field (**id**, **name**, **description**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/attachments + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== ==================== + Parameter Mandatory Type Description + ========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + ========== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+======================================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Attachment status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed**, **pending_acceptance**, **rejected**, and **initiating_request** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | No | Array | Attachment type. | + | | | | | + | | | | - **vpc**: VPC attachments | + | | | | | + | | | | - **vgw**: virtual gateway attachments | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | No | Array | Attachment resource IDs | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +-------------+-----------------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +=============+=========================================================================================+==============================+ + | attachments | Array of :ref:`AttachmentDetails ` objects | Attachments | + +-------------+-----------------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +-------------+-----------------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +-------------+-----------------------------------------------------------------------------------------+------------------------------+ + +.. _listattachments__response_attachmentdetails: + +.. table:: **Table 4** AttachmentDetails + + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=============================================================+======================================================================================================================================================================================+ + | id | String | Attachment ID | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | name | String | Attachment name | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | Attachment description | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | String | Attachment status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed**, **pending_acceptance**, **rejected**, and **initiating_request** | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 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 | Enterprise router tags | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | er_id | String | er id | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Attached resource ID on its own service console | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vgw**: virtual gateway attachments | + | | | | + | | | - **vpc**: VPC attachments | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_project_id | String | ID of the project that the resource belongs to | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | associated | Boolean | Whether the attachment is associated. | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Association route table ID | + +-----------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listattachments__response_tag: + +.. table:: **Table 5** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listattachments__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying attachments + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/4ab54142-7c92-48ad-8288-77727a231052/attachments + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "attachments" : [ { + "id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "name" : "vpc-001", + "description" : "vpc attachment", + "resource_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "resource_type" : "vpc", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "state" : "available", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + }, { + "id" : "6f83b848-8331-4271-ac0c-ef94b7686403", + "name" : "vpc-002", + "description" : "for test", + "resource_id" : "4b8567f6-358f-4a7f-8cd3-3cbb82c0b25f", + "resource_type" : "vpc", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "state" : "available", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 2 + }, + "request_id" : "b715e131-3371-4e17-a2de-4f669e24439a" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/attachments/querying_details_about_an_attachment.rst b/api-ref/source/apis/attachments/querying_details_about_an_attachment.rst new file mode 100644 index 0000000..358f121 --- /dev/null +++ b/api-ref/source/apis/attachments/querying_details_about_an_attachment.rst @@ -0,0 +1,147 @@ +:original_name: ShowAttachment.html + +.. _ShowAttachment: + +Querying Details About an Attachment +==================================== + +Function +-------- + +This API is used to query details about an attachment. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/attachments/{attachment_id} + +.. table:: **Table 1** Path Parameters + + ============= ========= ====== ==================== + Parameter Mandatory Type Description + ============= ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + attachment_id Yes String Attachment ID + ============= ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +------------+--------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+================================================================================+==============================+ + | attachment | :ref:`AttachmentResponse ` object | Attachment basic information | + +------------+--------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+--------------------------------------------------------------------------------+------------------------------+ + +.. _showattachment__response_attachmentresponse: + +.. table:: **Table 3** AttachmentResponse + + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+============================================================+======================================================================================================================================================================================+ + | name | String | Attachment name | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | id | String | Attachment ID | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | Supplementary information | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | String | Attachment status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed**, **pending_acceptance**, **rejected**, and **initiating_request** | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 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 | Enterprise router tags | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Attached resource ID on its own service console | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_project_id | String | ID of the project that the resource belongs to | + +-----------------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _showattachment__response_tag: + +.. table:: **Table 4** 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 +---------------- + +Querying details about an attachment + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/212d3f0b-8496-472d-bc99-05a7c96d6655/attachments/b70aee08-c671-4cad-9fd5-7381d163bcc8 + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "attachment" : { + "id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8", + "name" : "vpc attachment", + "description" : "vpc prod", + "state" : "avaliable", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "resource_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "resource_type" : "vpc" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/attachments/updating_an_attachment.rst b/api-ref/source/apis/attachments/updating_an_attachment.rst new file mode 100644 index 0000000..908dd71 --- /dev/null +++ b/api-ref/source/apis/attachments/updating_an_attachment.rst @@ -0,0 +1,181 @@ +:original_name: UpdateAttachment.html + +.. _UpdateAttachment: + +Updating an Attachment +====================== + +Function +-------- + +This API is used to update basic information about an attachment. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/{er_id}/attachments/{attachment_id} + +.. table:: **Table 1** Path Parameters + + ============= ========= ====== ==================== + Parameter Mandatory Type Description + ============= ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + attachment_id Yes String Attachment ID + ============= ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +------------+-----------+-------------------------------------------------------------------------------------+------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +============+===========+=====================================================================================+================================================+ + | attachment | No | :ref:`UpdateAttachmentBody ` object | Change basic information about the attachment. | + +------------+-----------+-------------------------------------------------------------------------------------+------------------------------------------------+ + +.. _updateattachment__request_updateattachmentbody: + +.. table:: **Table 3** UpdateAttachmentBody + + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+======================================================================================================================================+ + | description | No | String | Supplementary information about the attachment. The value contains a maximum of 36 characters in UUID format with hyphens (-). | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **255** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | name | No | String | Attachment name. The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **64** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 4** Response body parameters + + +------------+----------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+==================================================================================+==============================+ + | attachment | :ref:`AttachmentResponse ` object | Attachment basic information | + +------------+----------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+----------------------------------------------------------------------------------+------------------------------+ + +.. _updateattachment__response_attachmentresponse: + +.. table:: **Table 5** AttachmentResponse + + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+==============================================================+======================================================================================================================================================================================+ + | name | String | Attachment name | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | id | String | Attachment ID | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | Supplementary information | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | String | Attachment status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed**, **pending_acceptance**, **rejected**, and **initiating_request** | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 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 | Enterprise router tags | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Attached resource ID on its own service console | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_project_id | String | ID of the project that the resource belongs to | + +-----------------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _updateattachment__response_tag: + +.. table:: **Table 6** 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 +---------------- + +Updating an attachment (not a VPC attachment) + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/212d3f0b-8496-472d-bc99-05a7c96d6655/attachments/b70aee08-c671-4cad-9fd5-7381d163bcc8 + + { + "attachment" : { + "name" : "attachment", + "description" : "attachment" + } + } + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "attachment" : { + "id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8", + "name" : "attachment", + "description" : "attachment", + "state" : "avaliable", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "resource_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "resource_type" : "vpc", + "resource_project_id" : "0605767a9980d5762fbcc00b3537e757" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/azs/index.rst b/api-ref/source/apis/azs/index.rst new file mode 100644 index 0000000..3bd475a --- /dev/null +++ b/api-ref/source/apis/azs/index.rst @@ -0,0 +1,14 @@ +:original_name: AvailableZone.html + +.. _AvailableZone: + +AZs +=== + +- :ref:`Querying AZs ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_azs diff --git a/api-ref/source/apis/azs/querying_azs.rst b/api-ref/source/apis/azs/querying_azs.rst new file mode 100644 index 0000000..6bd63a3 --- /dev/null +++ b/api-ref/source/apis/azs/querying_azs.rst @@ -0,0 +1,110 @@ +:original_name: ListAvailabilityZone.html + +.. _ListAvailabilityZone: + +Querying AZs +============ + +Function +-------- + +This API is used to query AZs where enterprise routers can be created. An enterprise router can be created only when an AZ is in the available state. + +URI +--- + +GET /v3/{project_id}/enterprise-router/availability-zones + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== =========== + Parameter Mandatory Type Description + ========== ========= ====== =========== + project_id Yes String Project ID + ========== ========= ====== =========== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+===========================+ + | instance_id | No | String | Enterprise router ID | + +-----------------+-----------------+-----------------+---------------------------+ + | bandwidth_size | No | Integer | Bandwidth size, in Mbit/s | + | | | | | + | | | | Minimum: **-1** | + +-----------------+-----------------+-----------------+---------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +--------------------+--------------------------------------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +====================+======================================================================================+=============+ + | availability_zones | Array of :ref:`AvailableZone ` objects | AZ list | + +--------------------+--------------------------------------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +--------------------+--------------------------------------------------------------------------------------+-------------+ + +.. _listavailabilityzone__response_availablezone: + +.. table:: **Table 4** AvailableZone + + +-----------+--------+-------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+========+===============================================================================+ + | code | String | AZ code | + +-----------+--------+-------------------------------------------------------------------------------+ + | state | String | Whether the AZ is available. Value options: **available** and **unavailable** | + +-----------+--------+-------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying AZs + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/availability-zones + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "availability_zones" : [ { + "code" : "az1", + "state" : "available" + }, { + "code" : "az2", + "state" : "unavailable" + } ] + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/enterprise_routers/creating_an_enterprise_router.rst b/api-ref/source/apis/enterprise_routers/creating_an_enterprise_router.rst new file mode 100644 index 0000000..9e0f85a --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/creating_an_enterprise_router.rst @@ -0,0 +1,279 @@ +: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 | + +--------------------------------+-----------------+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | 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 `. diff --git a/api-ref/source/apis/enterprise_routers/deleting_an_enterprise_router.rst b/api-ref/source/apis/enterprise_routers/deleting_an_enterprise_router.rst new file mode 100644 index 0000000..d65f534 --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/deleting_an_enterprise_router.rst @@ -0,0 +1,63 @@ +:original_name: DeleteEnterpriseRouter.html + +.. _DeleteEnterpriseRouter: + +Deleting an Enterprise Router +============================= + +Function +-------- + +This API is used to delete an enterprise router. + +URI +--- + +DELETE /v3/{project_id}/enterprise-router/instances/{er_id} + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== ==================== + Parameter Mandatory Type Description + ========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + ========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +Deleting an enterprise router + +.. code-block:: text + + DELETE https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances/94c2b814-99dc-939a-e811-ae84c61ea3ff + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/enterprise_routers/index.rst b/api-ref/source/apis/enterprise_routers/index.rst new file mode 100644 index 0000000..b756a2a --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/index.rst @@ -0,0 +1,22 @@ +:original_name: EnterpriseRouterInstance.html + +.. _EnterpriseRouterInstance: + +Enterprise Routers +================== + +- :ref:`Creating an Enterprise Router ` +- :ref:`Updating an Enterprise Router ` +- :ref:`Querying Details About an Enterprise Router ` +- :ref:`Querying Enterprise Routers ` +- :ref:`Deleting an Enterprise Router ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_an_enterprise_router + updating_an_enterprise_router + querying_details_about_an_enterprise_router + querying_enterprise_routers + deleting_an_enterprise_router diff --git a/api-ref/source/apis/enterprise_routers/querying_details_about_an_enterprise_router.rst b/api-ref/source/apis/enterprise_routers/querying_details_about_an_enterprise_router.rst new file mode 100644 index 0000000..62190f1 --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/querying_details_about_an_enterprise_router.rst @@ -0,0 +1,161 @@ +:original_name: ShowEnterpriseRouter.html + +.. _ShowEnterpriseRouter: + +Querying Details About an Enterprise Router +=========================================== + +Function +-------- + +This API is used to query details about an enterprise router. + +URI +--- + +GET /v3/{project_id}/enterprise-router/instances/{er_id} + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== ==================== + Parameter Mandatory Type Description + ========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + ========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +------------+----------------------------------------------------------------------------------+-------------------+ + | Parameter | Type | Description | + +============+==================================================================================+===================+ + | instance | :ref:`EnterpriseRouter ` object | Enterprise router | + +------------+----------------------------------------------------------------------------------+-------------------+ + | request_id | String | Request ID | + +------------+----------------------------------------------------------------------------------+-------------------+ + +.. _showenterpriserouter__response_enterpriserouter: + +.. table:: **Table 3** 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. | + +------------------------------------+------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _showenterpriserouter__response_tag: + +.. table:: **Table 4** 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 +---------------- + +Querying details about an enterprise router with a specified ID + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances/08d5a9564a704afda6039ae2babbef3c + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "instance" : { + "id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff", + "name" : "my_er", + "description" : "this is my first enterprise router", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "state" : "pending", + "asn" : 64512, + "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, + "availability_zone_ids" : [ "az1" ], + "created_at" : "2019-09-06 02:11:13Z", + "updated_at" : "2019-09-06 02:11:13Z" + }, + "request_id" : "14c2b814-99dc-939b-e81c-ae84c61ea3f7" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/enterprise_routers/querying_enterprise_routers.rst b/api-ref/source/apis/enterprise_routers/querying_enterprise_routers.rst new file mode 100644 index 0000000..a4d4056 --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/querying_enterprise_routers.rst @@ -0,0 +1,223 @@ +:original_name: ListEnterpriseRouters.html + +.. _ListEnterpriseRouters: + +Querying Enterprise Routers +=========================== + +Function +-------- + +This API is used to query enterprise routers. + +Constraints +----------- + +Parameters **marker** and **limit** are used for pagination query. The two parameters take effect only when they are used together. Only sorting by a single field (**id**, **name**, **description**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/instances + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== =========== + Parameter Mandatory Type Description + ========== ========= ====== =========== + project_id Yes String Project ID + ========== ========= ====== =========== + +.. table:: **Table 2** Query Parameters + + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=======================+=================+=================+=====================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | enterprise_project_id | No | Array | Enterprise project ID | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Enterprise router status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed** and **freezed** | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | id | No | Array | Query by resource ID. Multiple resources can be queried at a time. | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | No | Array | Attachment resource IDs | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +------------+---------------------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+=============================================================================================+==============================+ + | instances | Array of :ref:`EnterpriseRouter ` objects | Enterprise routers | + +------------+---------------------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +------------+---------------------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------------------------------------------+------------------------------+ + +.. _listenterpriserouters__response_enterpriserouter: + +.. table:: **Table 4** 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. | + +------------------------------------+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listenterpriserouters__response_tag: + +.. table:: **Table 5** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listenterpriserouters__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +- Querying two records in pagination + + .. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances?limit=2&marker=1 + +- Querying all enterprise routers + + .. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "instances" : [ { + "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" : "key", + "value" : "value" + } ], + "enterprise_project_id" : 0, + "availability_zone_ids" : [ "az1", "az2" ] + } ], + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9", + "page_info" : { + "next_marker" : "2", + "current_count" : 1 + } + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/enterprise_routers/updating_an_enterprise_router.rst b/api-ref/source/apis/enterprise_routers/updating_an_enterprise_router.rst new file mode 100644 index 0000000..10d1aab --- /dev/null +++ b/api-ref/source/apis/enterprise_routers/updating_an_enterprise_router.rst @@ -0,0 +1,211 @@ +:original_name: UpdateEnterpriseRouter.html + +.. _UpdateEnterpriseRouter: + +Updating an Enterprise Router +============================= + +Function +-------- + +This API is used to update basic information about the enterprise router. + +Constraints +----------- + +Information (except name and description) can be updated only when the enterprise router is in the available state. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/instances/{er_id} + +.. 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 body parameters + + +-----------+-----------+-----------------------------------------------------------------------------------------------+------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +===========+===========+===============================================================================================+================================================+ + | instance | No | :ref:`UpdateEnterpriseRouter ` object | Request body for updating an enterprise router | + +-----------+-----------+-----------------------------------------------------------------------------------------------+------------------------------------------------+ + +.. _updateenterpriserouter__request_updateenterpriserouter: + +.. table:: **Table 3** UpdateEnterpriseRouter + + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +====================================+=================+=================+=============================================================================================================================================+ + | name | No | 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** | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | enable_default_propagation | No | Boolean | Whether to enable Default Route Table Propagation. | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | enable_default_association | No | Boolean | Whether to enable Default Route Table Association. | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | default_propagation_route_table_id | No | String | Default propagation route table ID | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | default_association_route_table_id | No | String | Default association route table ID | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + | auto_accept_shared_attachments | No | Boolean | Whether to automatically accept shared attachments. The default value is **false**, indicating that the function is disabled. | + +------------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 4** Response body parameters + + +------------+------------------------------------------------------------------------------------+-------------------+ + | Parameter | Type | Description | + +============+====================================================================================+===================+ + | instance | :ref:`EnterpriseRouter ` object | Enterprise router | + +------------+------------------------------------------------------------------------------------+-------------------+ + | request_id | String | Request ID | + +------------+------------------------------------------------------------------------------------+-------------------+ + +.. _updateenterpriserouter__response_enterpriserouter: + +.. table:: **Table 5** 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. | + +------------------------------------+--------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _updateenterpriserouter__response_tag: + +.. table:: **Table 6** 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 +---------------- + +Updating an enterprise router to enable Default Route Table Association and Default Route Table Propagation and specify route table + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/instances/94c2b814-99dc-939a-e811-ae84c61ea3ff + + { + "instance" : { + "enable_default_association" : true, + "enable_default_propagation" : true, + "default_propagation_route_table_id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff", + "default_association_route_table_id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff" + } + } + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "instance" : { + "id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff", + "name" : "my_er", + "description" : "this is my first enterprise router", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "state" : "pending", + "asn" : 64512, + "enable_default_association" : true, + "enable_default_propagation" : true, + "default_propagation_route_table_id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff", + "default_association_route_table_id" : "94c2b814-99dc-939a-e811-ae84c61ea3ff", + "auto_accept_shared_attachments" : false, + "availability_zone_ids" : [ "az1" ], + "created_at" : "2019-09-06 02:11:13Z", + "updated_at" : "2019-09-06 02:11:13Z" + }, + "request_id" : "14c2b814-99dc-939b-e81c-ae84c61ea3f7" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/creating_a_flow_log.rst b/api-ref/source/apis/flow_logs/creating_a_flow_log.rst new file mode 100644 index 0000000..3c04105 --- /dev/null +++ b/api-ref/source/apis/flow_logs/creating_a_flow_log.rst @@ -0,0 +1,215 @@ +:original_name: CreateFlowLog.html + +.. _CreateFlowLog: + +Creating a Flow Log +=================== + +Function +-------- + +This API is used to create a flow log for an enterprise router. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs + +.. 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 | + +===========+===========+======================================================================+======================================+ + | flow_log | Yes | :ref:`FlowLogRequest ` object | Request body for creating a flow log | + +-----------+-----------+----------------------------------------------------------------------+--------------------------------------+ + +.. _createflowlog__request_flowlogrequest: + +.. table:: **Table 4** FlowLogRequest + + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+================================================================================================================================================================================+ + | name | Yes | String | Flow log name | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **64** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | No | String | Flow log description | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **255** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | Yes | String | Type of resource whose flow logs are collected. | + | | | | | + | | | | - VPC attachments | + | | | | | + | | | | - Virtual gateway attachments | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | Yes | String | Resource ID | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | log_group_id | Yes | String | Log group ID. Obtain the log group ID by referring to the `Log Tank Service User Guide `__. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | Yes | String | Log stream ID. Obtain the log stream ID by referring to the `Log Tank Service User Guide `__. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | log_store_type | Yes | String | Flow log storage type. | + | | | | | + | | | | LTS: Logs are stored on LTS servers. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | log_store_name | No | String | Flow log storage name. This parameter is not supported for now. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **255** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 5** Response header parameters + + ============== ===== ====================== + Parameter Type Description + ============== ===== ====================== + X-Client-Token ``-`` Idempotence identifier + ============== ===== ====================== + +.. table:: **Table 6** Response body parameters + + +------------+---------------------------------------------------------+------------------+ + | Parameter | Type | Description | + +============+=========================================================+==================+ + | flow_log | :ref:`FlowLog ` object | Flow log details | + +------------+---------------------------------------------------------+------------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------+------------------+ + +.. _createflowlog__response_flowlog: + +.. table:: **Table 7** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Creating a flow log + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs + + { + "flow_log" : { + "name" : "flow-log", + "description" : "flow log test", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS" + } + } + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "flow_log" : { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "Flow Logs" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/deleting_a_flow_log.rst b/api-ref/source/apis/flow_logs/deleting_a_flow_log.rst new file mode 100644 index 0000000..1cd5fe2 --- /dev/null +++ b/api-ref/source/apis/flow_logs/deleting_a_flow_log.rst @@ -0,0 +1,69 @@ +:original_name: DeleteFlowLog.html + +.. _DeleteFlowLog: + +Deleting a Flow Log +=================== + +Function +-------- + +This API is used to delete a flow log. + +Constraints +----------- + +A flow log can be deleted only when it is in the **available**, **deleting**, or **failed** state. + +URI +--- + +DELETE /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} + +.. table:: **Table 1** Path Parameters + + =========== ========= ====== ==================== + Parameter Mandatory Type Description + =========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + flow_log_id Yes String Flow log ID + =========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +Deleting a flow log + +.. code-block:: text + + DELETE https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/6f83b848-8331-4271-ac0c-ef94b7686402/flow_logs/b216bc1d-5963-41a7-89f9-779a5128c5ac + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/disabling_flow_logs.rst b/api-ref/source/apis/flow_logs/disabling_flow_logs.rst new file mode 100644 index 0000000..96d5382 --- /dev/null +++ b/api-ref/source/apis/flow_logs/disabling_flow_logs.rst @@ -0,0 +1,136 @@ +:original_name: DisableFlowLog.html + +.. _DisableFlowLog: + +Disabling Flow Logs +=================== + +Function +-------- + +This API is used to disable flow logs. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id}/disable + +.. table:: **Table 1** Path Parameters + + =========== ========= ====== ==================== + Parameter Mandatory Type Description + =========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + flow_log_id Yes String Flow log ID + =========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 2** Response body parameters + + +------------+----------------------------------------------------------+------------------+ + | Parameter | Type | Description | + +============+==========================================================+==================+ + | flow_log | :ref:`FlowLog ` object | Flow log details | + +------------+----------------------------------------------------------+------------------+ + | request_id | String | Request ID | + +------------+----------------------------------------------------------+------------------+ + +.. _disableflowlog__response_flowlog: + +.. table:: **Table 3** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Disabling flow logs + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs/b216bc1d-5963-41a7-89f9-779a5128c5ac/disable + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "flow_log" : { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log_update", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "Flow Logs" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/enabling_flow_logs.rst b/api-ref/source/apis/flow_logs/enabling_flow_logs.rst new file mode 100644 index 0000000..f707e65 --- /dev/null +++ b/api-ref/source/apis/flow_logs/enabling_flow_logs.rst @@ -0,0 +1,136 @@ +:original_name: EnableFlowLog.html + +.. _EnableFlowLog: + +Enabling Flow Logs +================== + +Function +-------- + +This API is used to enable flow logs. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id}/enable + +.. table:: **Table 1** Path Parameters + + =========== ========= ====== ==================== + Parameter Mandatory Type Description + =========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + flow_log_id Yes String Flow log ID + =========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 2** Response body parameters + + +------------+---------------------------------------------------------+------------------+ + | Parameter | Type | Description | + +============+=========================================================+==================+ + | flow_log | :ref:`FlowLog ` object | Flow log details | + +------------+---------------------------------------------------------+------------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------+------------------+ + +.. _enableflowlog__response_flowlog: + +.. table:: **Table 3** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Enabling flow logs + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs/b216bc1d-5963-41a7-89f9-779a5128c5ac/enable + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "flow_log" : { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log_update", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "Flow Logs" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/index.rst b/api-ref/source/apis/flow_logs/index.rst new file mode 100644 index 0000000..d3f3d23 --- /dev/null +++ b/api-ref/source/apis/flow_logs/index.rst @@ -0,0 +1,26 @@ +:original_name: FlowLog.html + +.. _FlowLog: + +Flow Logs +========= + +- :ref:`Creating a Flow Log ` +- :ref:`Querying Flow Logs ` +- :ref:`Querying Details About a Flow Log ` +- :ref:`Updating a Flow Log ` +- :ref:`Deleting a Flow Log ` +- :ref:`Enabling Flow Logs ` +- :ref:`Disabling Flow Logs ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_flow_log + querying_flow_logs + querying_details_about_a_flow_log + updating_a_flow_log + deleting_a_flow_log + enabling_flow_logs + disabling_flow_logs diff --git a/api-ref/source/apis/flow_logs/querying_details_about_a_flow_log.rst b/api-ref/source/apis/flow_logs/querying_details_about_a_flow_log.rst new file mode 100644 index 0000000..ead879d --- /dev/null +++ b/api-ref/source/apis/flow_logs/querying_details_about_a_flow_log.rst @@ -0,0 +1,136 @@ +:original_name: ShowFlowLog.html + +.. _ShowFlowLog: + +Querying Details About a Flow Log +================================= + +Function +-------- + +This API is used to query details about a flow log. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} + +.. table:: **Table 1** Path Parameters + + =========== ========= ====== ==================== + Parameter Mandatory Type Description + =========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + flow_log_id Yes String Flow log ID + =========== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +------------+-------------------------------------------------------+------------------+ + | Parameter | Type | Description | + +============+=======================================================+==================+ + | flow_log | :ref:`FlowLog ` object | Flow log details | + +------------+-------------------------------------------------------+------------------+ + | request_id | String | Request ID | + +------------+-------------------------------------------------------+------------------+ + +.. _showflowlog__response_flowlog: + +.. table:: **Table 3** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying flow logs + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs/b216bc1d-5963-41a7-89f9-779a5128c5ac + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "flow_log" : { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "Flow Logs" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/querying_flow_logs.rst b/api-ref/source/apis/flow_logs/querying_flow_logs.rst new file mode 100644 index 0000000..2f69464 --- /dev/null +++ b/api-ref/source/apis/flow_logs/querying_flow_logs.rst @@ -0,0 +1,188 @@ +:original_name: ListFlowLogs.html + +.. _ListFlowLogs: + +Querying Flow Logs +================== + +Function +-------- + +This API is used to query the flow log list. + +Constraints +----------- + +- Filtering query is supported. You can use **resource_type**, **resource_id**, and **enterprise_project_id** for query. You can query multiple resources at a time or use combined criteria to query resources. + +- Pagination query is supported. You can use **limit** and **marker** together for query. + +- Sorting by a single field. You can use **id**, **name**, or **state** to sort resources. Sorting by multiple fields is not supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/flow-logs + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== ==================== + Parameter Mandatory Type Description + ========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + ========== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=====================================================================================================================================================================+ + | resource_type | No | String | Resource type | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_id | No | Array | Attachment resource IDs | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +------------+------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+==================================================================+==============================+ + | flow_logs | Array of :ref:`FlowLog ` objects | Flow log details | + +------------+------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +------------+------------------------------------------------------------------+------------------------------+ + +.. _listflowlogs__response_flowlog: + +.. table:: **Table 4** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +.. _listflowlogs__response_pageinfo: + +.. table:: **Table 5** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying flow logs + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/a43c55e9-4911-4030-90e1-5c2bf6ae6fe2/flow-logs + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "flow_logs" : [ { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "Flow Logs" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 1 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/flow_logs/updating_a_flow_log.rst b/api-ref/source/apis/flow_logs/updating_a_flow_log.rst new file mode 100644 index 0000000..6b9d11e --- /dev/null +++ b/api-ref/source/apis/flow_logs/updating_a_flow_log.rst @@ -0,0 +1,155 @@ +:original_name: UpdateFlowLog.html + +.. _UpdateFlowLog: + +Updating a Flow Log +=================== + +Function +-------- + +This API is used to update a flow log. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} + +.. table:: **Table 1** Path Parameters + + =========== ========= ====== ==================== + Parameter Mandatory Type Description + =========== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + flow_log_id Yes String Flow log ID + =========== ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +-----------------+-----------------+-----------------+------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+==================+ + | name | No | String | Flow log name | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **64** | + +-----------------+-----------------+-----------------+------------------+ + | description | No | String | Minimum: **0** | + | | | | | + | | | | Maximum: **255** | + +-----------------+-----------------+-----------------+------------------+ + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +------------+---------------------------------------------------------+------------------+ + | Parameter | Type | Description | + +============+=========================================================+==================+ + | flow_log | :ref:`FlowLog ` object | Flow log details | + +------------+---------------------------------------------------------+------------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------+------------------+ + +.. _updateflowlog__response_flowlog: + +.. table:: **Table 4** FlowLog + + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=========+======================================================================================================================+ + | id | String | Flow log ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | name | String | Flow log name | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | description | String | Flow log description | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID of the flow log task creator | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Resource type. The value is **attachment**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Resource ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_group_id | String | Log group ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_stream_id | String | Log stream ID | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_type | String | Flow log storage type. LTS is used for log storage. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_store_name | String | Flow log storage name. This parameter is not supported for now. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | log_aggregation_interval | Integer | Log aggregation time, in seconds. The value ranges from **60** to **600**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | 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 | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | state | String | Flow log status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + | enabled | Boolean | Whether to enable flow logs. The value can be **true** or **false**. | + +--------------------------+---------+----------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Updating a flow log + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/0605767a9980d5762fbcc00b3537e757/enterprise-router/6f83b848-8331-4271-ac0c-ef94b7686402/flow_logs/b216bc1d-5963-41a7-89f9-779a5128c5ac + + { + "name" : "flow_log_update", + "description" : "flow log update test" + } + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "flow_log" : { + "id" : "b216bc1d-5963-41a7-89f9-779a5128c5ac", + "name" : "flow_log_update", + "project_id" : "0605767a9980d5762fbcc00b3537e757", + "resource_type" : "attachment", + "resource_id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "log_group_id" : "0139393c-eeb2-49f0-bbd4-c5faec6b1497", + "log_stream_id" : "d22c3b44-2f71-470f-83f3-96a8af6956ad", + "log_store_type" : "LTS", + "log_aggregation_interval" : 600, + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2022-03-11T15:13:31Z", + "state" : "available", + "enabled" : true, + "description" : "flow log update test" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/index.rst b/api-ref/source/apis/index.rst new file mode 100644 index 0000000..c3c803f --- /dev/null +++ b/api-ref/source/apis/index.rst @@ -0,0 +1,36 @@ +:original_name: er_02_0014.html + +.. _er_02_0014: + +APIs +==== + +- :ref:`Enterprise Routers ` +- :ref:`VPC Attachments ` +- :ref:`Attachments ` +- :ref:`Route Tables ` +- :ref:`Associations ` +- :ref:`Propagations ` +- :ref:`Routes ` +- :ref:`Tags ` +- :ref:`Quota Management ` +- :ref:`AZs ` +- :ref:`Flow Logs ` +- :ref:`Sharing ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + enterprise_routers/index + vpc_attachments/index + attachments/index + route_tables/index + associations/index + propagations/index + routes/index + tags/index + quota_management/index + azs/index + flow_logs/index + sharing diff --git a/api-ref/source/apis/propagations/creating_a_route_propagation.rst b/api-ref/source/apis/propagations/creating_a_route_propagation.rst new file mode 100644 index 0000000..1f8f1f2 --- /dev/null +++ b/api-ref/source/apis/propagations/creating_a_route_propagation.rst @@ -0,0 +1,189 @@ +:original_name: EnablePropagation.html + +.. _EnablePropagation: + +Creating a Route Propagation +============================ + +Function +-------- + +This API is used to create a route propagation. A propagation can be created for each attachment to propagate routes to one or more route tables on an enterprise router. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/enable-propagations + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table 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 | + +===============+===========+================================================================================+===============================================================================+ + | attachment_id | No | String | Unique ID of the attachment | + +---------------+-----------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | route_policy | No | :ref:`ImportRoutePolicy ` object | Route that controls inbound traffic. This parameter is not supported for now. | + +---------------+-----------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + +.. _enablepropagation__request_importroutepolicy: + +.. table:: **Table 4** ImportRoutePolicy + + +------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +==================+=================+=================+================================================================================================+ + | import_policy_id | No | String | ID of the route policy that controls inbound traffic. This parameter is not supported for now. | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **36** | + +------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 5** Response header parameters + + ============== ===== ====================== + Parameter Type Description + ============== ===== ====================== + X-Client-Token ``-`` Idempotence identifier + ============== ===== ====================== + +.. table:: **Table 6** Response body parameters + + +-------------+---------------------------------------------------------------------+---------------------+ + | Parameter | Type | Description | + +=============+=====================================================================+=====================+ + | propagation | :ref:`Propagation ` object | Propagation details | + +-------------+---------------------------------------------------------------------+---------------------+ + | request_id | String | Request ID | + +-------------+---------------------------------------------------------------------+---------------------+ + +.. _enablepropagation__response_propagation: + +.. table:: **Table 7** Propagation + + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=================================================================================+=============================================================================================================+ + | id | String | Unique association ID | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | er_id | String | Enterprise router ID | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Unique ID of the route table | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | attachment_id | String | Unique ID of the attachment | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Unique ID of the attachment | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | route_policy | :ref:`ImportRoutePolicy ` object | Route that controls inbound traffic. This parameter is not supported for now. | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | state | String | Status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | created_at | String | Creation time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Update time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + +.. _enablepropagation__response_importroutepolicy: + +.. table:: **Table 8** ImportRoutePolicy + + +-----------------------+-----------------------+------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+================================================================================================+ + | import_policy_id | String | ID of the route policy that controls inbound traffic. This parameter is not supported for now. | + | | | | + | | | Minimum: **0** | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------+------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Creating a route propagation + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/ad838a5e-dbef-22cc-b1d9-cb46bef77ae8/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/enable-propagations + + { + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64" + } + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "propagation" : { + "id" : "915a14a6-867b-4af7-83d1-70efceb146f9", + "route_table_id" : "91c013e2-d65a-474e-9177-c3e1799ca726", + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64", + "resource_type" : "vpc", + "resource_id" : "4e5fe97c-82bc-432e-87d8-06d7e157dffa", + "route_policy" : { + "import_policy_id" : "" + }, + "state" : "pending", + "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 `. diff --git a/api-ref/source/apis/propagations/deleting_a_route_propagation.rst b/api-ref/source/apis/propagations/deleting_a_route_propagation.rst new file mode 100644 index 0000000..7004a20 --- /dev/null +++ b/api-ref/source/apis/propagations/deleting_a_route_propagation.rst @@ -0,0 +1,90 @@ +:original_name: DisablePropagation.html + +.. _DisablePropagation: + +Deleting a Route Propagation +============================ + +Function +-------- + +This API is used to delete a propagation from the route table of an enterprise router for an attachment. + +URI +--- + +POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/disable-propagations + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +---------------+-----------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +===============+===========+=================================================================================+===============================================================================+ + | attachment_id | No | String | Unique ID of the attachment | + +---------------+-----------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | route_policy | No | :ref:`ImportRoutePolicy ` object | Route that controls inbound traffic. This parameter is not supported for now. | + +---------------+-----------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + +.. _disablepropagation__request_importroutepolicy: + +.. table:: **Table 3** ImportRoutePolicy + + +------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +==================+=================+=================+================================================================================================+ + | import_policy_id | No | String | ID of the route policy that controls inbound traffic. This parameter is not supported for now. | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **36** | + +------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +Deleting a route table propagation + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/ad838a5e-dbef-22cc-b1d9-cb46bef77ae8/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/disable-propagations + + { + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64" + } + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/propagations/index.rst b/api-ref/source/apis/propagations/index.rst new file mode 100644 index 0000000..d4fb50c --- /dev/null +++ b/api-ref/source/apis/propagations/index.rst @@ -0,0 +1,18 @@ +:original_name: Propagation.html + +.. _Propagation: + +Propagations +============ + +- :ref:`Creating a Route Propagation ` +- :ref:`Querying Route Propagations ` +- :ref:`Deleting a Route Propagation ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_route_propagation + querying_route_propagations + deleting_a_route_propagation diff --git a/api-ref/source/apis/propagations/querying_route_propagations.rst b/api-ref/source/apis/propagations/querying_route_propagations.rst new file mode 100644 index 0000000..42b1573 --- /dev/null +++ b/api-ref/source/apis/propagations/querying_route_propagations.rst @@ -0,0 +1,201 @@ +:original_name: ListPropagations.html + +.. _ListPropagations: + +Querying Route Propagations +=========================== + +Function +-------- + +This API is used to query route propagations. + +Constraints +----------- + +Pagination query is supported. You can query by state, resource type, or attachment ID. Only sorting by a single field (**id**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/propagations + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=====================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | attachment_id | No | Array | Attachment ID | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | No | Array | Attachment type. | + | | | | | + | | | | - **vpc**: VPC attachments | + | | | | | + | | | | - **vgw**: virtual gateway attachments | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Enterprise router status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed** and **freezed** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +=======================+==============================================================================+==============================+ + | propagations | Array of :ref:`Propagation ` objects | Route propagations | + | | | | + | | | Array Length: **0 - 2000** | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +-----------------------+------------------------------------------------------------------------------+------------------------------+ + +.. _listpropagations__response_propagation: + +.. table:: **Table 4** Propagation + + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+================================================================================+=============================================================================================================+ + | id | String | Unique association ID | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | project_id | String | Project ID | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | er_id | String | Enterprise router ID | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Unique ID of the route table | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | attachment_id | String | Unique ID of the attachment | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | resource_id | String | Unique ID of the attachment | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | route_policy | :ref:`ImportRoutePolicy ` object | Route that controls inbound traffic. This parameter is not supported for now. | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | state | String | Status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | created_at | String | Creation time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Update time. It is UTC time in the format of YYYY-MM-DDTHH:mm:ss.sssZ. | + +-----------------------+--------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ + +.. _listpropagations__response_importroutepolicy: + +.. table:: **Table 5** ImportRoutePolicy + + +-----------------------+-----------------------+------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+================================================================================================+ + | import_policy_id | String | ID of the route policy that controls inbound traffic. This parameter is not supported for now. | + | | | | + | | | Minimum: **0** | + | | | | + | | | Maximum: **36** | + +-----------------------+-----------------------+------------------------------------------------------------------------------------------------+ + +.. _listpropagations__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying route table propagations + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/7dec531a-7714-11eb-9439-0242ac130002/route-tables/91c013e2-d65a-474e-9177-c3e1799ca726/propagations + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "propagations" : [ { + "id" : "915a14a6-867b-4af7-83d1-70efceb146f9", + "er_id" : "7dec531a-7714-11eb-9439-0242ac130002", + "route_table_id" : "91c013e2-d65a-474e-9177-c3e1799ca726", + "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64", + "resource_type" : "vpc", + "resource_id" : "4e5fe97c-82bc-432e-87d8-06d7e157dffa", + "route_policy" : { + "import_policy_id" : "" + }, + "state" : "pending", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 1 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/quota_management/index.rst b/api-ref/source/apis/quota_management/index.rst new file mode 100644 index 0000000..a9df082 --- /dev/null +++ b/api-ref/source/apis/quota_management/index.rst @@ -0,0 +1,14 @@ +:original_name: QuotaManager.html + +.. _QuotaManager: + +Quota Management +================ + +- :ref:`Querying Quotas ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_quotas diff --git a/api-ref/source/apis/quota_management/querying_quotas.rst b/api-ref/source/apis/quota_management/querying_quotas.rst new file mode 100644 index 0000000..c0aca16 --- /dev/null +++ b/api-ref/source/apis/quota_management/querying_quotas.rst @@ -0,0 +1,175 @@ +:original_name: ShowQuotas.html + +.. _ShowQuotas: + +Querying Quotas +=============== + +Function +-------- + +This API is used to query the used quotas of resources, such as enterprise routers and VPC attachments. + +URI +--- + +GET /v3/{project_id}/enterprise-router/quotas + +.. table:: **Table 1** Path Parameters + + ========== ========= ====== =========== + Parameter Mandatory Type Description + ========== ========= ====== =========== + project_id Yes String Project ID + ========== ========= ====== =========== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+====================================================================================================================================+ + | type | No | Array | You can query the quotas of the following resources: | + | | | | | + | | | | - **er_instance**: Total and used quotas of enterprise routers | + | | | | | + | | | | - **vpc_attachment**: Total and used quotas of VPC attachments | + | | | | | + | | | | - **route_table**: Total and used quotas of route tables | + | | | | | + | | | | - **static_route**: Total and used quotas of static routes | + | | | | | + | | | | - **vpc_er**: Total and used quotas of enterprise routers that a VPC can be attached to | + | | | | | + | | | | - **flow_log**: Total and used quotas of flow logs that can be created for each attachment | + | | | | | + | | | | - **connect_attachment**: Total and used quotas of Connect attachments. This type of attachments is not supported. | + | | | | | + | | | | - **dc_attachment**: Total and used quotas of virtual gateway attachments. This type of attachments is not supported. | + | | | | | + | | | | - **vpn_attachment**: Total and used quotas of VPN gateway attachments. This type of attachments is not supported. | + | | | | | + | | | | - **peering_attachment**: Total and used quotas of peering connection attachments. This type of attachments is not supported. | + | | | | | + | | | | - **can_attachment**: Total and used quotas of intelligent access gateway attachments. This type of attachments is not supported. | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------+ + | erId | No | Object | Enterprise router ID | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------+ + | routeTableId | No | Object | Route table ID | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------+ + | vpcId | No | Object | VPC ID | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +-----------+------------------------------------------------------------+--------------------+ + | Parameter | Type | Description | + +===========+============================================================+====================+ + | quotas | Array of :ref:`Quota ` objects | Used quota details | + +-----------+------------------------------------------------------------+--------------------+ + +.. _showquotas__response_quota: + +.. table:: **Table 4** Quota + + +-------------+--------+---------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=============+========+===========================================================================+ + | quota_key | String | Quota type | + +-------------+--------+---------------------------------------------------------------------------+ + | quota_limit | Long | Available quota. The value **-1** indicates that there is no quota limit. | + +-------------+--------+---------------------------------------------------------------------------+ + | used | Long | Used quota | + +-------------+--------+---------------------------------------------------------------------------+ + | unit | String | Measurement unit of used quotas | + +-------------+--------+---------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying the resource quotas + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/quotas + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "quotas" : [ { + "quota_key" : "er_instance", + "quota_limit" : 1, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "dc_attachment", + "quota_limit" : 2, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "route_table", + "quota_limit" : 20, + "used" : 5, + "unit" : "count" + }, { + "quota_key" : "static_route", + "quota_limit" : 500, + "used" : 2, + "unit" : "count" + }, { + "quota_key" : "can_attachment", + "quota_limit" : 10, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "connect_attachment", + "quota_limit" : 20, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "peering_attachment", + "quota_limit" : 10, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "vpn_attachment", + "quota_limit" : 10, + "used" : 0, + "unit" : "count" + }, { + "quota_key" : "flow_log", + "quota_limit" : 20, + "used" : 4, + "unit" : "count" + } ] + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/route_tables/creating_a_route_table.rst b/api-ref/source/apis/route_tables/creating_a_route_table.rst new file mode 100644 index 0000000..75221cf --- /dev/null +++ b/api-ref/source/apis/route_tables/creating_a_route_table.rst @@ -0,0 +1,248 @@ +: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 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 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 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _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 `. diff --git a/api-ref/source/apis/route_tables/deleting_a_route_table.rst b/api-ref/source/apis/route_tables/deleting_a_route_table.rst new file mode 100644 index 0000000..82d5dd7 --- /dev/null +++ b/api-ref/source/apis/route_tables/deleting_a_route_table.rst @@ -0,0 +1,62 @@ +:original_name: DeleteRouteTable.html + +.. _DeleteRouteTable: + +Deleting a Route Table +====================== + +Function +-------- + +This API is used to delete a route table. + +URI +--- + +DELETE /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +.. code-block:: text + + DELETE https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/4ab54142-7c92-48ad-8288-77727a231056/route-tables/4ab54142-7c92-48ad-8288-77727a231052 + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/route_tables/index.rst b/api-ref/source/apis/route_tables/index.rst new file mode 100644 index 0000000..bf547c5 --- /dev/null +++ b/api-ref/source/apis/route_tables/index.rst @@ -0,0 +1,22 @@ +:original_name: RouteTable.html + +.. _RouteTable: + +Route Tables +============ + +- :ref:`Creating a Route Table ` +- :ref:`Updating Route Table Information ` +- :ref:`Querying Details About a Route Table ` +- :ref:`Querying Route Tables ` +- :ref:`Deleting a Route Table ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_route_table + updating_route_table_information + querying_details_about_a_route_table + querying_route_tables + deleting_a_route_table diff --git a/api-ref/source/apis/route_tables/querying_details_about_a_route_table.rst b/api-ref/source/apis/route_tables/querying_details_about_a_route_table.rst new file mode 100644 index 0000000..0a397f2 --- /dev/null +++ b/api-ref/source/apis/route_tables/querying_details_about_a_route_table.rst @@ -0,0 +1,154 @@ +:original_name: ShowRouteTable.html + +.. _ShowRouteTable: + +Querying Details About a Route Table +==================================== + +Function +-------- + +This API is used to query details about a route table. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +-------------+----------------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +=============+================================================================+=============+ + | route_table | :ref:`RouteTable ` object | Route table | + +-------------+----------------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +-------------+----------------------------------------------------------------+-------------+ + +.. _showroutetable__response_routetable: + +.. table:: **Table 3** 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 | + +------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------------------+ + +.. _showroutetable__response_tag: + +.. table:: **Table 4** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _showroutetable__response_bgpoptions: + +.. table:: **Table 5** 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 +---------------- + +Querying details about a route table + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f6/route-tables/4ab54142-7c92-48ad-8288-77727a231052 + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "route_table" : { + "id" : "4ab54142-7c92-48ad-8288-77727a231052", + "name" : "my-route-table", + "description" : "rtb-for-a", + "is_default_association" : false, + "is_default_propagation" : false, + "state" : "available", + "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 +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/route_tables/querying_route_tables.rst b/api-ref/source/apis/route_tables/querying_route_tables.rst new file mode 100644 index 0000000..0f71d0e --- /dev/null +++ b/api-ref/source/apis/route_tables/querying_route_tables.rst @@ -0,0 +1,217 @@ +:original_name: ListRouteTables.html + +.. _ListRouteTables: + +Querying Route Tables +===================== + +Function +-------- + +This API is used to query route tables. + +Constraints +----------- + +- Pagination query is supported. The supported query criteria are **state**, **is_default_propagation_route_table**, and **is_default_association_route_table**. + +- Only sorting by a single field (**id**, **name**, **description**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /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 + ========== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +==============================+=================+=================+=====================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Status | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | is_default_propagation_table | No | Boolean | Whether the route table is the default propagation route table | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | is_default_association_table | No | Boolean | Whether the route table is the default association route table | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +------------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +--------------+---------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +==============+===========================================================================+==============================+ + | route_tables | Array of :ref:`RouteTable ` objects | Route tables | + +--------------+---------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +--------------+---------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +--------------+---------------------------------------------------------------------------+------------------------------+ + +.. _listroutetables__response_routetable: + +.. table:: **Table 4** 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 | + +------------------------+-----------------------------------------------------------------+----------------------------------------------------------------------------------------+ + +.. _listroutetables__response_tag: + +.. table:: **Table 5** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listroutetables__response_bgpoptions: + +.. table:: **Table 6** 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. | + +-------------------------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listroutetables__response_pageinfo: + +.. table:: **Table 7** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f5/route-tables + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "route_tables" : [ { + "id" : "4ab54142-7c92-48ad-8288-77727a231052", + "is_default_association" : false, + "is_default_propagation" : false, + "name" : "my-router-table1", + "description" : "rtb-for-a", + "state" : "available", + "tags" : [ { + "key" : "key", + "value" : "value" + } ] + }, { + "id" : "4ab54142-7c92-48ad-8288-77727a231053", + "is_default_association" : false, + "is_default_propagation" : false, + "name" : "my-router-table2", + "description" : "rtb-for-b", + "state" : "available", + "tags" : [ { + "key" : "key", + "value" : "value" + } ] + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 2 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/route_tables/updating_route_table_information.rst b/api-ref/source/apis/route_tables/updating_route_table_information.rst new file mode 100644 index 0000000..62fc446 --- /dev/null +++ b/api-ref/source/apis/route_tables/updating_route_table_information.rst @@ -0,0 +1,199 @@ +:original_name: UpdateRouteTable.html + +.. _UpdateRouteTable: + +Updating Route Table Information +================================ + +Function +-------- + +This API is used to update basic information about a route table, such as the name and description. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ==================== + Parameter Mandatory Type Description + ============== ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + route_table_id Yes String Route table ID + ============== ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +-------------+-----------+-----------------------------------------------------------------------------+-----------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=============+===========+=============================================================================+=========================================+ + | route_table | No | :ref:`UpdateRouteTable ` object | Request body for updating a route table | + +-------------+-----------+-----------------------------------------------------------------------------+-----------------------------------------+ + +.. _updateroutetable__request_updateroutetable: + +.. table:: **Table 3** UpdateRouteTable + + +-----------------+-----------------+-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================================================================+=======================================================================================================================================+ + | name | No | 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. | + +-----------------+-----------------+-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ + +.. _updateroutetable__request_bgpoptions: + +.. table:: **Table 4** 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. | + +-------------------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 5** Response body parameters + + +-------------+------------------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +=============+==================================================================+=============+ + | route_table | :ref:`RouteTable ` object | Route table | + +-------------+------------------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +-------------+------------------------------------------------------------------+-------------+ + +.. _updateroutetable__response_routetable: + +.. table:: **Table 6** 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 | + +------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + +.. _updateroutetable__response_tag: + +.. table:: **Table 7** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _updateroutetable__response_bgpoptions: + +.. table:: **Table 8** 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 +---------------- + +Changing the name of a route table of an enterprise router to **new-rtb** + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/915a14a6-867b-4af7-83d1-70efceb146f5/route-tables/4ab54142-7c92-48ad-8288-77727a231052 + + { + "route_table" : { + "name" : "new-rtb" + } + } + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "route_table" : { + "id" : "4ab54142-7c92-48ad-8288-77727a231052", + "name" : "new-rtb", + "is_default_association" : false, + "is_default_propagation" : false, + "state" : "pending", + "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 +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/routes/creating_a_static_route.rst b/api-ref/source/apis/routes/creating_a_static_route.rst new file mode 100644 index 0000000..df4ae12 --- /dev/null +++ b/api-ref/source/apis/routes/creating_a_static_route.rst @@ -0,0 +1,197 @@ +:original_name: CreateStaticRoute.html + +.. _CreateStaticRoute: + +Creating a Static Route +======================= + +Function +-------- + +This API is used to create a static route. Static routes are manually created, and effective routes are preferred routes. + +Constraints +----------- + +If **is_blackhole** is set to **false**, the **attachment_id** parameter must be carried. If **is_blackhole** is set to **true**, the **attachment_id** parameter cannot be passed. + +URI +--- + +POST /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table 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 | Yes | :ref:`CreateRoute ` object | Request body for creating a route | + +-----------+-----------+--------------------------------------------------------------------+-----------------------------------+ + +.. _createstaticroute__request_createroute: + +.. table:: **Table 4** CreateRoute + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=====================================================================+ + | destination | Yes | String | Destination address of the route | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **256** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------+ + | attachment_id | No | String | ID of the attachment that the next hop of the route points to | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------+ + | is_blackhole | No | Boolean | Whether the route is a blackhole route. The default value is false. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 5** Response header parameters + + ============== ===== ====================== + Parameter Type Description + ============== ===== ====================== + X-Client-Token ``-`` Idempotence identifier + ============== ===== ====================== + +.. table:: **Table 6** Response body parameters + + +------------+---------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +============+=========================================================+=============+ + | route | :ref:`Route ` object | Route | + +------------+---------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------+-------------+ + +.. _createstaticroute__response_route: + +.. table:: **Table 7** Route + + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +================+=======================================================================================+===================================================================================================================+ + | id | String | Route ID | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | type | String | Route type. The value is **static**. | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | state | String | Route status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | is_blackhole | Boolean | Whether the route is a blackhole route | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | destination | String | Destination address of the route | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | attachments | Array of :ref:`RouteAttachment ` objects | Next hops | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Route table ID | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | 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 | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + +.. _createstaticroute__response_routeattachment: + +.. table:: **Table 8** RouteAttachment + + +-----------------------+-----------------------+-----------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=========================================+ + | resource_id | String | Attached resource ID | + +-----------------------+-----------------------+-----------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------+-----------------------------------------+ + | attachment_id | String | Attachment ID | + +-----------------------+-----------------------+-----------------------------------------+ + +Example Requests +---------------- + +Creating a static route + +.. code-block:: text + + POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/0d1748a0-5188-11e5-b86f-a51b5f125b84/static-routes + + { + "route" : { + "destination" : "192.168.0.0/16", + "is_blackhole" : false, + "attachment_id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8" + } + } + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "route" : { + "id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289", + "type" : "static", + "destination" : "192.168.0.0/16", + "attachments" : [ { + "resource_id" : "9c4ab06a-0ab4-4fad-93a8-f733f3a4433d", + "resource_type" : "vpc", + "attachment_id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8" + } ], + "route_table_id" : "0d1748a0-5188-11e5-b86f-a51b5f125b84", + "is_blackhole" : false, + "state" : "pending", + "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 `. diff --git a/api-ref/source/apis/routes/deleting_a_static_route.rst b/api-ref/source/apis/routes/deleting_a_static_route.rst new file mode 100644 index 0000000..1cebd55 --- /dev/null +++ b/api-ref/source/apis/routes/deleting_a_static_route.rst @@ -0,0 +1,62 @@ +:original_name: DeleteStaticRoute.html + +.. _DeleteStaticRoute: + +Deleting a Static Route +======================= + +Function +-------- + +This API is used to delete a static route. + +URI +--- + +DELETE /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table ID + route_id Yes String Route ID + ============== ========= ====== ============== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +.. code-block:: text + + DELETE https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/3ddb4dc2-174e-4d43-9328-b805d5c0c774/static-routes/19d334b7-78c1-4e0e-ba29-b797e641e23c + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/routes/index.rst b/api-ref/source/apis/routes/index.rst new file mode 100644 index 0000000..771bfdb --- /dev/null +++ b/api-ref/source/apis/routes/index.rst @@ -0,0 +1,24 @@ +:original_name: Route.html + +.. _Route: + +Routes +====== + +- :ref:`Creating a Static Route ` +- :ref:`Updating a Static Route ` +- :ref:`Querying Details About a Static Route ` +- :ref:`Querying Static Routes ` +- :ref:`Querying Effective Routes ` +- :ref:`Deleting a Static Route ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_static_route + updating_a_static_route + querying_details_about_a_static_route + querying_static_routes + querying_effective_routes + deleting_a_static_route diff --git a/api-ref/source/apis/routes/querying_details_about_a_static_route.rst b/api-ref/source/apis/routes/querying_details_about_a_static_route.rst new file mode 100644 index 0000000..7f32134 --- /dev/null +++ b/api-ref/source/apis/routes/querying_details_about_a_static_route.rst @@ -0,0 +1,139 @@ +:original_name: ShowStaticRoute.html + +.. _ShowStaticRoute: + +Querying Details About a Static Route +===================================== + +Function +-------- + +This API is used to query details about a static route. + +URI +--- + +GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table ID + route_id Yes String Route ID + ============== ========= ====== ============== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +------------+-------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +============+=======================================================+=============+ + | route | :ref:`Route ` object | Route | + +------------+-------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +------------+-------------------------------------------------------+-------------+ + +.. _showstaticroute__response_route: + +.. table:: **Table 3** Route + + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +================+=====================================================================================+===================================================================================================================+ + | id | String | Route ID | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | type | String | Route type. The value is **static**. | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | state | String | Route status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | is_blackhole | Boolean | Whether the route is a blackhole route | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | destination | String | Destination address of the route | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | attachments | Array of :ref:`RouteAttachment ` objects | Next hops | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Route table ID | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | 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 | + +----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + +.. _showstaticroute__response_routeattachment: + +.. table:: **Table 4** RouteAttachment + + +-----------------------+-----------------------+-----------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=========================================+ + | resource_id | String | Attached resource ID | + +-----------------------+-----------------------+-----------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------+-----------------------------------------+ + | attachment_id | String | Attachment ID | + +-----------------------+-----------------------+-----------------------------------------+ + +Example Requests +---------------- + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/19d334b7-78c1-4e0e-ba29-b797e641e23c/static-routes/19d334b7-78c1-4e0e-ba29-b797e641e23c + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "route" : { + "id" : "19d334b7-78c1-4e0e-ba29-b797e641e23c", + "type" : "static", + "destination" : "192.168.0.0/16", + "attachments" : [ { + "resource_id" : "9c4ab06a-0ab4-4fad-93a8-f733f3a4433d", + "resource_type" : "VPC", + "attachment_id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289" + } ], + "route_table_id" : "19d334b7-78c1-4e0e-ba29-b797e641e23c", + "is_blackhole" : false, + "state" : "pending", + "created_at" : "2020-03-11T15:13:31", + "updated_at" : "2020-03-11T15:13:31" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/routes/querying_effective_routes.rst b/api-ref/source/apis/routes/querying_effective_routes.rst new file mode 100644 index 0000000..aedbf0b --- /dev/null +++ b/api-ref/source/apis/routes/querying_effective_routes.rst @@ -0,0 +1,174 @@ +:original_name: ListEffectiveRoutes.html + +.. _ListEffectiveRoutes: + +Querying Effective Routes +========================= + +Function +-------- + +This API is used to query effective routes. Pagination query is supported. Effective routes are preferred routes. + +URI +--- + +GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/routes + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table ID + ============== ========= ====== ============== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=========================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last route on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | destination | No | Array | Destination address of the route | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | No | Array | Attachment type. | + | | | | | + | | | | - **vpc**: VPC attachments | + | | | | | + | | | | - **vgw**: virtual gateway attachments | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +------------+---------------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+=======================================================================================+==============================+ + | routes | Array of :ref:`EffectiveRoute ` objects | Routes | + +------------+---------------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +------------+---------------------------------------------------------------------------------------+------------------------------+ + +.. _listeffectiveroutes__response_effectiveroute: + +.. table:: **Table 4** EffectiveRoute + + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | Parameter | Type | Description | + +==================+=========================================================================================+===============================================================+ + | route_id | String | Route ID | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | destination | String | Destination address of the route | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | next_hops | Array of :ref:`RouteAttachment ` objects | Next hops of the routes | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | is_blackhole | Boolean | Whether the route is a blackhole route | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | route_type | String | Route type. Value options: **static** and **propagation** | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + | address_group_id | String | IP address group ID. This parameter is not supported for now. | + +------------------+-----------------------------------------------------------------------------------------+---------------------------------------------------------------+ + +.. _listeffectiveroutes__response_routeattachment: + +.. table:: **Table 5** RouteAttachment + + +-----------------------+-----------------------+-----------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=========================================+ + | resource_id | String | Attached resource ID | + +-----------------------+-----------------------+-----------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------+-----------------------------------------+ + | attachment_id | String | Attachment ID | + +-----------------------+-----------------------+-----------------------------------------+ + +.. _listeffectiveroutes__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying effective routes + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/routes + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "routes" : [ { + "route_id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289", + "destination" : "192.168.0.0/16", + "next_hops" : [ { + "resource_id" : "9c4ab06a-0ab4-4fad-93a8-f733f3a4433d", + "resource_type" : "vpc", + "attachment_id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289" + } ], + "is_blackhole" : false, + "route_type" : "static" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 1 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/routes/querying_static_routes.rst b/api-ref/source/apis/routes/querying_static_routes.rst new file mode 100644 index 0000000..51ac3f9 --- /dev/null +++ b/api-ref/source/apis/routes/querying_static_routes.rst @@ -0,0 +1,196 @@ +:original_name: ListStaticRoutes.html + +.. _ListStaticRoutes: + +Querying Static Routes +====================== + +Function +-------- + +This API is used to query static routes. + +Constraints +----------- + +- Pagination query is supported. The supported query criteria are **destination**, **attachment_id**, **resource_type**, and **type**. + +- Only sorting by a single field (**id**, **destination**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table ID + ============== ========= ====== ============== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+=====================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | destination | No | Array | Destination address of the route | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | attachment_id | No | Array | Attachment ID | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_type | No | Array | Attachment type. | + | | | | | + | | | | - **vpc**: VPC attachments | + | | | | | + | | | | - **vgw**: virtual gateway attachments | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +------------+------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +============+==================================================================+==============================+ + | routes | Array of :ref:`Route ` objects | Routes | + +------------+------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +------------+------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +------------+------------------------------------------------------------------+------------------------------+ + +.. _liststaticroutes__response_route: + +.. table:: **Table 4** Route + + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +================+======================================================================================+===================================================================================================================+ + | id | String | Route ID | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | type | String | Route type. The value is **static**. | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | state | String | Route status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | is_blackhole | Boolean | Whether the route is a blackhole route | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | destination | String | Destination address of the route | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | attachments | Array of :ref:`RouteAttachment ` objects | Next hops | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Route table ID | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | 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 | + +----------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + +.. _liststaticroutes__response_routeattachment: + +.. table:: **Table 5** RouteAttachment + + +-----------------------+-----------------------+-----------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=========================================+ + | resource_id | String | Attached resource ID | + +-----------------------+-----------------------+-----------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------+-----------------------------------------+ + | attachment_id | String | Attachment ID | + +-----------------------+-----------------------+-----------------------------------------+ + +.. _liststaticroutes__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying static routes + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/915a14a6-867b-4af7-83d1-70efceb146f5/static-routes + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "routes" : [ { + "id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289", + "type" : "static", + "destination" : "192.168.0.0/16", + "attachments" : [ { + "resource_id" : "9c4ab06a-0ab4-4fad-93a8-f733f3a4433d", + "resource_type" : "vpc", + "attachment_id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289" + } ], + "route_table_id" : "19d334b7-78c1-4e0e-ba29-b797e641e23c", + "state" : "pending", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 1 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/routes/updating_a_static_route.rst b/api-ref/source/apis/routes/updating_a_static_route.rst new file mode 100644 index 0000000..b81ea78 --- /dev/null +++ b/api-ref/source/apis/routes/updating_a_static_route.rst @@ -0,0 +1,170 @@ +:original_name: UpdateStaticRoute.html + +.. _UpdateStaticRoute: + +Updating a Static Route +======================= + +Function +-------- + +This API is used to update a static route. + +Constraints +----------- + +If **is_blackhole** is set to **false**, the **attachment_id** parameter must be carried. If **is_blackhole** is set to **true**, the **attachment_id** parameter cannot be passed. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} + +.. table:: **Table 1** Path Parameters + + ============== ========= ====== ============== + Parameter Mandatory Type Description + ============== ========= ====== ============== + project_id Yes String Project ID + route_table_id Yes String Route table ID + route_id Yes String Route ID + ============== ========= ====== ============== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +-----------+-----------+--------------------------------------------------------------------+-------------+ + | Parameter | Mandatory | Type | Description | + +===========+===========+====================================================================+=============+ + | route | Yes | :ref:`UpdateRoute ` object | Route | + +-----------+-----------+--------------------------------------------------------------------+-------------+ + +.. _updatestaticroute__request_updateroute: + +.. table:: **Table 3** UpdateRoute + + ============= ========= ======= ====================================== + Parameter Mandatory Type Description + ============= ========= ======= ====================================== + attachment_id No String Next hop of the route + is_blackhole No Boolean Whether the route is a blackhole route + ============= ========= ======= ====================================== + +Response Parameters +------------------- + +**Status code: 202** + +.. table:: **Table 4** Response body parameters + + +------------+---------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +============+=========================================================+=============+ + | route | :ref:`Route ` object | Route | + +------------+---------------------------------------------------------+-------------+ + | request_id | String | Request ID | + +------------+---------------------------------------------------------+-------------+ + +.. _updatestaticroute__response_route: + +.. table:: **Table 5** Route + + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +================+=======================================================================================+===================================================================================================================+ + | id | String | Route ID | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | type | String | Route type. The value is **static**. | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | state | String | Route status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, and **failed** | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | is_blackhole | Boolean | Whether the route is a blackhole route | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | destination | String | Destination address of the route | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | attachments | Array of :ref:`RouteAttachment ` objects | Next hops | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | route_table_id | String | Route table ID | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + | 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 | + +----------------+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ + +.. _updatestaticroute__response_routeattachment: + +.. table:: **Table 6** RouteAttachment + + +-----------------------+-----------------------+-----------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=========================================+ + | resource_id | String | Attached resource ID | + +-----------------------+-----------------------+-----------------------------------------+ + | resource_type | String | Attachment type. | + | | | | + | | | - **vpc**: VPC attachments | + | | | | + | | | - **vgw**: virtual gateway attachments | + +-----------------------+-----------------------+-----------------------------------------+ + | attachment_id | String | Attachment ID | + +-----------------------+-----------------------+-----------------------------------------+ + +Example Requests +---------------- + +Modifying a static route + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/route-tables/19d334b7-78c1-4e0e-ba29-b797e641e23c/static-routes/9b3b38a9-1c9d-4f01-9429-81af6b545289 + + { + "route" : { + "is_blackhole" : false, + "attachment_id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8" + } + } + +Example Responses +----------------- + +**Status code: 202** + +Accepted + +.. code-block:: + + { + "route" : { + "id" : "9b3b38a9-1c9d-4f01-9429-81af6b545289", + "type" : "static", + "destination" : "192.168.0.0/16", + "attachments" : [ { + "resource_id" : "9c4ab06a-0ab4-4fad-93a8-f733f3a4433d", + "resource_type" : "vpc", + "attachment_id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8" + } ], + "route_table_id" : "19d334b7-78c1-4e0e-ba29-b797e641e23c", + "is_blackhole" : false, + "state" : "pending", + "created_at" : "2020-03-11T15:13:31", + "updated_at" : "2020-03-11T15:13:31" + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/sharing.rst b/api-ref/source/apis/sharing.rst new file mode 100644 index 0000000..bf94e71 --- /dev/null +++ b/api-ref/source/apis/sharing.rst @@ -0,0 +1,17 @@ +:original_name: er_02_0035.html + +.. _er_02_0035: + +Sharing +======= + +You can share an enterprise router in your account with other accounts. + +- You are the owner of the enterprise router. +- Other accounts are the users of the enterprise router. + +After you share your enterprise router with other accounts, these other users can attach their network instances to your enterprise router, so that their network instances can access your enterprise router. + +.. important:: + + Enterprise routers cannot be shared through APIs. You can only use this function on the management console. For details, see section "Sharing Overview" in the *Enterprise Router User Guide*. diff --git a/api-ref/source/apis/tags/creating_resource_tags.rst b/api-ref/source/apis/tags/creating_resource_tags.rst new file mode 100644 index 0000000..0b92508 --- /dev/null +++ b/api-ref/source/apis/tags/creating_resource_tags.rst @@ -0,0 +1,116 @@ +:original_name: CreateResourceTag.html + +.. _CreateResourceTag: + +Creating Resource Tags +====================== + +Function +-------- + +This API is used to create tags for resources of a specific type. + +Constraints +----------- + +- A resource can have up to 20 tags. + +- This API is idempotent. + +- If a tag to be created has the same key as an existing tag, the tag will be created and overwrite the existing one. + +URI +--- + +POST /v3/{project_id}/{resource_type}/{resource_id}/tags + +.. table:: **Table 1** Path Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+===================================================+ + | project_id | Yes | String | Project ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_id | Yes | String | Resource ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_type | Yes | String | Resource type. | + | | | | | + | | | | - **instance**: enterprise router | + | | | | | + | | | | - **route-table**: route table | + | | | | | + | | | | - **vpc-attachment**: VPC attachment | + | | | | | + | | | | - **vgw-attachment**: virtual gateway attachment | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +-----------+-----------+----------------------------------------------------+--------------+ + | Parameter | Mandatory | Type | Description | + +===========+===========+====================================================+==============+ + | tag | Yes | :ref:`Tag ` object | Resource tag | + +-----------+-----------+----------------------------------------------------+--------------+ + +.. _createresourcetag__request_tag: + +.. table:: **Table 3** 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 +------------------- + +None + +Example Requests +---------------- + +Creating tags for a resource + +.. code-block:: text + + POST https://{erouter-endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/instance/3320166e-b937-40cc-a35c-02cd3f2b3ee2/tags + + { + "tag" : { + "key" : "key1", + "value" : "value1" + } + } + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +204 No Content +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/tags/deleting_resource_tags.rst b/api-ref/source/apis/tags/deleting_resource_tags.rst new file mode 100644 index 0000000..fda96a0 --- /dev/null +++ b/api-ref/source/apis/tags/deleting_resource_tags.rst @@ -0,0 +1,79 @@ +:original_name: DeleteResourceTag.html + +.. _DeleteResourceTag: + +Deleting Resource Tags +====================== + +Function +-------- + +This API is used to delete tags for resources of a specific type. + +Constraints +----------- + +This API is idempotent. The key cannot be left blank or be an empty string. + +URI +--- + +DELETE /v3/{project_id}/{resource_type}/{resource_id}/tags/{key} + +.. table:: **Table 1** Path Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+===================================================+ + | key | Yes | String | Tag key | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | project_id | Yes | String | Project ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_id | Yes | String | Resource ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_type | Yes | String | Resource type. | + | | | | | + | | | | - **instance**: enterprise router | + | | | | | + | | | | - **route-table**: route table | + | | | | | + | | | | - **vpc-attachment**: VPC attachment | + | | | | | + | | | | - **vgw-attachment**: virtual gateway attachment | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +.. code-block:: text + + DELETE https://{erouter-endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/instance/3320166e-b937-40cc-a35c-02cd3f2b3ee2/tags/key1 + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +204 No Content +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/tags/index.rst b/api-ref/source/apis/tags/index.rst new file mode 100644 index 0000000..9466e65 --- /dev/null +++ b/api-ref/source/apis/tags/index.rst @@ -0,0 +1,20 @@ +:original_name: Tags.html + +.. _Tags: + +Tags +==== + +- :ref:`Querying Project Tags ` +- :ref:`Querying Resource Tags ` +- :ref:`Creating Resource Tags ` +- :ref:`Deleting Resource Tags ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_project_tags + querying_resource_tags + creating_resource_tags + deleting_resource_tags diff --git a/api-ref/source/apis/tags/querying_project_tags.rst b/api-ref/source/apis/tags/querying_project_tags.rst new file mode 100644 index 0000000..6e6c21f --- /dev/null +++ b/api-ref/source/apis/tags/querying_project_tags.rst @@ -0,0 +1,112 @@ +:original_name: ListProjectTags.html + +.. _ListProjectTags: + +Querying Project Tags +===================== + +Function +-------- + +This API is used to query tags of resources of a specific type. + +URI +--- + +GET /v3/{project_id}/{resource_type}/tags + +.. table:: **Table 1** Path Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+===================================================+ + | project_id | Yes | String | Project ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_type | Yes | String | Resource type. | + | | | | | + | | | | - **instance**: enterprise router | + | | | | | + | | | | - **route-table**: route table | + | | | | | + | | | | - **vpc-attachment**: VPC attachment | + | | | | | + | | | | - **vgw-attachment**: virtual gateway attachment | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +-----------+---------------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +===========+===============================================================+=============+ + | tags | Array of :ref:`Tags ` objects | Tags | + +-----------+---------------------------------------------------------------+-------------+ + +.. _listprojecttags__response_tags: + +.. table:: **Table 3** Tags + + +-----------+------------------+-------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+==================+=====================================================================================+ + | key | String | Tag key, which cannot be empty and can contain a maximum of 127 Unicode characters. | + +-----------+------------------+-------------------------------------------------------------------------------------+ + | values | Array of strings | Tag values. Each value can contain a maximum of 255 Unicode characters. | + +-----------+------------------+-------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +Querying tags of an enterprise router + +.. code-block:: + + https://{erouter_endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/instance/tags + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "tags" : [ { + "key" : "keys", + "values" : [ "value" ] + }, { + "key" : "key3", + "values" : [ "value3", "value33" ] + }, { + "key" : "key1", + "values" : [ "value1" ] + }, { + "key" : "key2", + "values" : [ "value2", "value22" ] + } ] + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/tags/querying_resource_tags.rst b/api-ref/source/apis/tags/querying_resource_tags.rst new file mode 100644 index 0000000..54c6664 --- /dev/null +++ b/api-ref/source/apis/tags/querying_resource_tags.rst @@ -0,0 +1,119 @@ +:original_name: ShowResourceTag.html + +.. _ShowResourceTag: + +Querying Resource Tags +====================== + +Function +-------- + +This API is used to query tags of resources of a specific type. + +URI +--- + +GET /v3/{project_id}/{resource_type}/{resource_id}/tags + +.. table:: **Table 1** Path Parameters + + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+===================================================+ + | project_id | Yes | String | Project ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_id | Yes | String | Resource ID | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + | resource_type | Yes | String | Resource type. | + | | | | | + | | | | - **instance**: enterprise router | + | | | | | + | | | | - **route-table**: route table | + | | | | | + | | | | - **vpc-attachment**: VPC attachment | + | | | | | + | | | | - **vgw-attachment**: virtual gateway attachment | + +-----------------+-----------------+-----------------+---------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +-----------+-------------------------------------------------------------+-------------+ + | Parameter | Type | Description | + +===========+=============================================================+=============+ + | tags | Array of :ref:`Tag ` objects | Tags | + +-----------+-------------------------------------------------------------+-------------+ + +.. _showresourcetag__response_tag: + +.. table:: **Table 3** 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 +---------------- + +Querying tags of an enterprise router + +.. code-block:: + + https://{erouter_endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/instance/f1a28dfd-186f-4625-b6b1-f05e5e8609c0/tags + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "tags" : [ { + "key" : "key2", + "value" : "value2" + }, { + "key" : "key1", + "value" : "value1" + }, { + "key" : "key3", + "value" : "value3" + } ] + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/vpc_attachments/creating_a_vpc_attachment.rst b/api-ref/source/apis/vpc_attachments/creating_a_vpc_attachment.rst new file mode 100644 index 0000000..7c78d9d --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/creating_a_vpc_attachment.rst @@ -0,0 +1,239 @@ +: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. | + | | | | | + | | | | 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 `. diff --git a/api-ref/source/apis/vpc_attachments/deleting_a_vpc_attachment.rst b/api-ref/source/apis/vpc_attachments/deleting_a_vpc_attachment.rst new file mode 100644 index 0000000..b673c63 --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/deleting_a_vpc_attachment.rst @@ -0,0 +1,69 @@ +:original_name: DeleteVpcAttachment.html + +.. _DeleteVpcAttachment: + +Deleting a VPC Attachment +========================= + +Function +-------- + +This API is used to delete a VPC attachment. + +Constraints +----------- + +A VPC attachment can be deleted only when it is in the available, deleting, or failed state. + +URI +--- + +DELETE /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} + +.. table:: **Table 1** Path Parameters + + ================= ========= ====== ==================== + Parameter Mandatory Type Description + ================= ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + vpc_attachment_id Yes String VPC attachment ID + ================= ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +None + +Example Requests +---------------- + +Deleting a VPC attachment + +.. code-block:: text + + DELETE https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/4ba931b6-5273-4ed9-8eeb-484d16a4786f/vpc-attachments/b70aee08-c671-4cad-9fd5-7381d163bcc8 + +Example Responses +----------------- + +None + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +202 Accepted +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/vpc_attachments/index.rst b/api-ref/source/apis/vpc_attachments/index.rst new file mode 100644 index 0000000..c50b5c9 --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/index.rst @@ -0,0 +1,22 @@ +:original_name: VPCAttachment.html + +.. _VPCAttachment: + +VPC Attachments +=============== + +- :ref:`Creating a VPC Attachment ` +- :ref:`Updating a VPC Attachment ` +- :ref:`Querying Details About a VPC Attachment ` +- :ref:`Querying VPC Attachments ` +- :ref:`Deleting a VPC Attachment ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_vpc_attachment + updating_a_vpc_attachment + querying_details_about_a_vpc_attachment + querying_vpc_attachments + deleting_a_vpc_attachment diff --git a/api-ref/source/apis/vpc_attachments/querying_details_about_a_vpc_attachment.rst b/api-ref/source/apis/vpc_attachments/querying_details_about_a_vpc_attachment.rst new file mode 100644 index 0000000..543659a --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/querying_details_about_a_vpc_attachment.rst @@ -0,0 +1,151 @@ +:original_name: ShowVpcAttachment.html + +.. _ShowVpcAttachment: + +Querying Details About a VPC Attachment +======================================= + +Function +-------- + +This API is used to query details about a VPC attachment. + +URI +--- + +GET /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} + +.. table:: **Table 1** Path Parameters + + ================= ========= ====== ==================== + Parameter Mandatory Type Description + ================= ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + vpc_attachment_id Yes String VPC attachment ID + ================= ========= ====== ==================== + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 2** Response body parameters + + +----------------+---------------------------------------------------------------------------------------+----------------+ + | Parameter | Type | Description | + +================+=======================================================================================+================+ + | vpc_attachment | :ref:`VpcAttachmentDetails ` object | VPC attachment | + +----------------+---------------------------------------------------------------------------------------+----------------+ + | request_id | String | Request ID | + +----------------+---------------------------------------------------------------------------------------+----------------+ + +.. _showvpcattachment__response_vpcattachmentdetails: + +.. table:: **Table 3** 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** | + +------------------------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _showvpcattachment__response_tag: + +.. table:: **Table 4** 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 +---------------- + +Querying details about a VPC attachment + +.. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/212d3f0b-8496-472d-bc99-05a7c96d6655/vpc-attachments/b70aee08-c671-4cad-9fd5-7381d163bcc8 + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "vpc_attachment" : { + "id" : "b70aee08-c671-4cad-9fd5-7381d163bcc8", + "name" : "vpc-attach", + "vpc_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "virsubnet_id" : "aacdc21d-90f9-45ef-ab48-80ec1bbe15b8", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "ipv6_enable" : false, + "state" : "available", + "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 +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/vpc_attachments/querying_vpc_attachments.rst b/api-ref/source/apis/vpc_attachments/querying_vpc_attachments.rst new file mode 100644 index 0000000..a4f476d --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/querying_vpc_attachments.rst @@ -0,0 +1,223 @@ +:original_name: ListVpcAttachments.html + +.. _ListVpcAttachments: + +Querying VPC Attachments +======================== + +Function +-------- + +This API is used to query the VPC attachments of the enterprise router. + +Constraints +----------- + +VPC attachments can be queried in the following methods: + +- Filtering query is supported. You can query by ID, state, enterprise project ID, and VPC ID. You can query multiple resources at a time or use combined criteria to query resources. + +- Pagination query is supported. You can use **limit** and **marker** together for pagination query. + +- Only sorting by a single field (**id**, **name**, **description**, **created_at**, or **updated_at**) is supported. + +URI +--- + +GET /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 + ========== ========= ====== ==================== + +.. table:: **Table 2** Query Parameters + + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+======================================================================================================================================================================================+ + | limit | No | Integer | Number of records on each page. Value range: **0** to **2000** | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **2000** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | marker | No | String | ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried. This parameter must be used together with limit. | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **128** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | state | No | Array | Attachment status. Value options: **pending**, **available**, **modifying**, **deleting**, **deleted**, **failed**, **pending_acceptance**, **rejected**, and **initiating_request** | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | id | No | Array | Query by resource ID. Multiple resources can be queried at a time. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_key | No | Array | Keyword for sorting. The keyword can be **id**, **name**, or **state**. By default, **id** is used. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sort_dir | No | Array | Sorting order. There are two value options: **asc** (ascending order) and **desc** (descending order). The default value is **asc**. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_id | No | Array | VPC id | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request Parameters +------------------ + +None + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 3** Response body parameters + + +-----------------+--------------------------------------------------------------------------------------------------+------------------------------+ + | Parameter | Type | Description | + +=================+==================================================================================================+==============================+ + | vpc_attachments | Array of :ref:`VpcAttachmentDetails ` objects | VPC attachments | + +-----------------+--------------------------------------------------------------------------------------------------+------------------------------+ + | page_info | :ref:`PageInfo ` object | Pagination query information | + +-----------------+--------------------------------------------------------------------------------------------------+------------------------------+ + | request_id | String | Request ID | + +-----------------+--------------------------------------------------------------------------------------------------+------------------------------+ + +.. _listvpcattachments__response_vpcattachmentdetails: + +.. table:: **Table 4** 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** | + +------------------------+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listvpcattachments__response_tag: + +.. table:: **Table 5** 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** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _listvpcattachments__response_pageinfo: + +.. table:: **Table 6** PageInfo + + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+===================================================================================================================+ + | next_marker | String | Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page. | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + | current_count | Integer | Number of resources in the list | + +---------------+---------+-------------------------------------------------------------------------------------------------------------------+ + +Example Requests +---------------- + +- Querying all VPC attachments in pagination + + .. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/vpc-attachments?limit=10 + +- Querying all VPC attachments + + .. code-block:: text + + GET https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/vpc-attachments + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "vpc_attachments" : [ { + "id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "name" : "vpc-attach-01", + "vpc_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "virsubnet_id" : "aacdc21d-90f9-45ef-ab48-80ec1bbe15b8", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "ipv6_enable" : false, + "state" : "available", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + }, { + "id" : "6f83b848-8331-4271-ac0c-ef94b7686402", + "name" : "vpc-attach-01", + "vpc_id" : "4b8567f6-358f-4a7f-8cd3-3cbb82c0b25f", + "virsubnet_id" : "2b55f334-a15e-43a9-ab11-b34c2dbb6fac", + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "ipv6_enable" : false, + "state" : "available", + "created_at" : "2020-03-11T15:13:31Z", + "updated_at" : "2020-03-11T15:13:31Z" + } ], + "page_info" : { + "next_marker" : "1", + "current_count" : 2 + }, + "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9" + } + +Status Codes +------------ + +=========== =========== +Status Code Description +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/apis/vpc_attachments/updating_a_vpc_attachment.rst b/api-ref/source/apis/vpc_attachments/updating_a_vpc_attachment.rst new file mode 100644 index 0000000..3cff618 --- /dev/null +++ b/api-ref/source/apis/vpc_attachments/updating_a_vpc_attachment.rst @@ -0,0 +1,184 @@ +:original_name: UpdateVpcAttachment.html + +.. _UpdateVpcAttachment: + +Updating a VPC Attachment +========================= + +Function +-------- + +This API is used to update basic information about a VPC attachment. + +URI +--- + +PUT /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} + +.. table:: **Table 1** Path Parameters + + ================= ========= ====== ==================== + Parameter Mandatory Type Description + ================= ========= ====== ==================== + project_id Yes String Project ID + er_id Yes String Enterprise router ID + vpc_attachment_id Yes String VPC attachment ID + ================= ========= ====== ==================== + +Request Parameters +------------------ + +.. table:: **Table 2** Request body parameters + + +----------------+-----------+----------------------------------------------------------------------------------------------+-------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +================+===========+==============================================================================================+===========================================+ + | vpc_attachment | No | :ref:`UpdateVpcAttachmentBody ` object | Request body for updating VPC information | + +----------------+-----------+----------------------------------------------------------------------------------------------+-------------------------------------------+ + +.. _updatevpcattachment__request_updatevpcattachmentbody: + +.. table:: **Table 3** UpdateVpcAttachmentBody + + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Mandatory | Type | Description | + +=================+=================+=================+==========================================================================================================================================+ + | description | No | String | Supplementary information about the VPC attachment. The value contains a maximum of 36 characters in UUID format with hyphens (-). | + | | | | | + | | | | Minimum: **0** | + | | | | | + | | | | Maximum: **255** | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | name | No | String | VPC attachment name. The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). | + | | | | | + | | | | Minimum: **1** | + | | | | | + | | | | Maximum: **64** | + +-----------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------+ + +Response Parameters +------------------- + +**Status code: 200** + +.. table:: **Table 4** Response body parameters + + +----------------+-----------------------------------------------------------------------------------------+----------------+ + | Parameter | Type | Description | + +================+=========================================================================================+================+ + | vpc_attachment | :ref:`VpcAttachmentDetails ` object | VPC attachment | + +----------------+-----------------------------------------------------------------------------------------+----------------+ + | request_id | String | Request ID | + +----------------+-----------------------------------------------------------------------------------------+----------------+ + +.. _updatevpcattachment__response_vpcattachmentdetails: + +.. table:: **Table 5** 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** | + +------------------------+-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _updatevpcattachment__response_tag: + +.. table:: **Table 6** 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 +---------------- + +Updating a VPC attachment (changing its name to **new-vpc-attach**) + +.. code-block:: text + + PUT https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/f1a28dfd-186f-4625-b6b1-f05e5e8609c0/vpc-attachments/3b9724e9-49ec-4d21-9191-3d703133b910 + + { + "vpc_attachment" : { + "name" : "new-vpc-attach" + } + } + +Example Responses +----------------- + +**Status code: 200** + +OK + +.. code-block:: + + { + "vpc_attachment" : { + "id" : "3b9724e9-49ec-4d21-9191-3d703133b910", + "name" : "new-vpc-attach", + "vpc_id" : "b715e131-3371-4e17-a2de-4f669e24439a", + "virsubnet_id" : "aacdc21d-90f9-45ef-ab48-80ec1bbe15b8", + "auto_create_vpc_routes" : false, + "project_id" : "08d5a9564a704afda6039ae2babbef3c", + "ipv6_enable" : false, + "state" : "available", + "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 +=========== =========== +200 OK +=========== =========== + +Error Codes +----------- + +See :ref:`Error Codes `. diff --git a/api-ref/source/appendixes/error_codes.rst b/api-ref/source/appendixes/error_codes.rst new file mode 100644 index 0000000..62d0f74 --- /dev/null +++ b/api-ref/source/appendixes/error_codes.rst @@ -0,0 +1,92 @@ +:original_name: ErrorCode.html + +.. _ErrorCode: + +Error Codes +=========== + ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| Status Code | Error Codes | Error Message | Description | Solution | ++=============+=============+==============================================================================================+==============================================================================================+========================================================================================================================+ +| 400 | ER.04001003 | The enterprise router is unavailable or is being operated. | The enterprise router is unavailable or is being operated. | Check whether the enterprise router is available and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04001104 | The default route table association function is not enabled. | The default route table association function is not enabled. | Enable the default route table association function and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04001105 | The default route table propagation function is not enabled. | The default route table propagation function is not enabled. | Enable the default route table propagation function and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04001106 | Invalid ASN. | Invalid ASN. | Enter a valid ASN. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04002002 | The association already exists. | The association already exists. | Check the association and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04002003 | An operation is being performed on this association. | An operation is being performed on this association. | Try again after the association status changes to Normal. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04003002 | The propagation already exists. | The propagation already exists. | Check the propagation and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04003003 | An operation is being performed on this propagation. | An operation is being performed on this propagation. | Try again after the propagation status changes to Normal. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04004002 | This attachment is being used by other resources. | This attachment is being used by other resources. | Check whether the attachment is being used by other resources. If there are such resources, delete them and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04004003 | This attachment is unavailable or is being operated. | This attachment is unavailable or is being operated. | Check whether the attachment is available and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04004004 | This resource is being used by another attachment. | This resource is being used by another attachment. | Check whether an attachment has been created for the resource. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04004101 | This route already exists in the VPC route table. | This route already exists in the VPC route table. | Disable the Auto Add Routes function and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04004102 | Failed to add the route to the VPC route table. | Failed to add the route to the VPC route table. | Check whether a route with the same destination already exists in the VPC route table. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04005003 | This route table is unavailable or is being operated. | This route table is unavailable or is being operated. | Check whether the route table is available and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04006002 | The destination of the route already exists. | The destination of the route already exists. | Check the destination in the route. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04006103 | The destination of the route is invalid. | The destination of the route is invalid. | Check the destination in the route. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04006104 | The destination cannot be 127.0.0.0/8, 169.254.0.0/16, 224.0.0.0/4, or any of their subnets. | The destination cannot be 127.0.0.0/8, 169.254.0.0/16, 224.0.0.0/4, or any of their subnets. | Do not add a route with destination set to 127.0.0.0/8, 169.254.0.0/16, 224.0.0.0/4, or any of their subnets. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04006105 | The network instance type of the next hop is not supported. | The network instance type of the next hop is not supported. | Use another type of network instance. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04006106 | A blackhole route cannot have a next hop. A non-blackhole route must have a next hop. | Invalid route. | Check the route. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04008500 | Flow logs are not supported by the resource type. | Flow logs are not supported by the resource type. | Check the resource type. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04008501 | The flow log task does not exist. | The flow log task does not exist. | Check the flow log ID. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04008502 | The flow log task is being operated. | The flow log task is being operated. | Check the flow log task status and try again later. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04008503 | The flow log task already exists. | The flow log task already exists. | Check the flow log task. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009005 | Invalid parameters. | Invalid parameters. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009008 | Insufficient quota. | Insufficient quota. | Submit a service ticket to apply for quota increase. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009009 | The quota type does not exist. | The quota type does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009011 | The resource is frozen. | The resource is frozen. | Unfreeze the resource and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009012 | This account is frozen or restricted. | This account is frozen or restricted. | Contact customer service. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009013 | This enterprise router has frozen attachments. | This enterprise router has frozen attachments. | Contact customer service. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 400 | ER.04009019 | This feature is not available yet. | This feature is not available yet. | Contact customer service. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04041001 | This enterprise router does not exist. | This enterprise router does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04042001 | This association does not exist. | This association does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04043001 | This propagation does not exist. | This propagation does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04044001 | This attachment does not exist. | This attachment does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04045001 | This route table does not exist. | This route table does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 404 | ER.04046001 | This route does not exist. | This route does not exist. | Check the parameters. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 409 | ER.04091002 | This enterprise router is being used by other resources. | This enterprise router is being used by other resources. | Delete the resources and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 409 | ER.04095002 | This route table is being used by other resources. | This route table is being used by other resources. | Delete the resources and try again. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 409 | ER.04095104 | The default association route table cannot be deleted. | The default association route table cannot be deleted. | Disable the Default Route Table Association function. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 409 | ER.04095105 | The default propagation route table cannot be deleted. | The default propagation route table cannot be deleted. | Disable the Default Route Table Propagation function. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| 503 | ER.05039006 | This service is temporarily unavailable. | This service is temporarily unavailable. | Contact customer service or try again later. | ++-------------+-------------+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/appendixes/index.rst b/api-ref/source/appendixes/index.rst new file mode 100644 index 0000000..e1f2b8e --- /dev/null +++ b/api-ref/source/appendixes/index.rst @@ -0,0 +1,16 @@ +:original_name: er_02_appendix.html + +.. _er_02_appendix: + +Appendixes +========== + +- :ref:`Status Codes ` +- :ref:`Error Codes ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + status_codes + error_codes diff --git a/api-ref/source/appendixes/status_codes.rst b/api-ref/source/appendixes/status_codes.rst new file mode 100644 index 0000000..2c665e0 --- /dev/null +++ b/api-ref/source/appendixes/status_codes.rst @@ -0,0 +1,56 @@ +:original_name: StateCode.html + +.. _StateCode: + +Status Codes +============ + +.. table:: **Table 1** Normal status codes + + +-----------------------+-----------------------+-------------------------------------------------------------------+ + | Status Code | Message | Description | + +=======================+=======================+===================================================================+ + | 200 | OK | Normal response code for the GET, PUT, and POST operations | + +-----------------------+-----------------------+-------------------------------------------------------------------+ + | 201 | Created | Normal response code for POST operations | + +-----------------------+-----------------------+-------------------------------------------------------------------+ + | 202 | Accepted | Operations that take a long time to process. | + | | | | + | | | The request has been accepted but the processing is not complete. | + +-----------------------+-----------------------+-------------------------------------------------------------------+ + | 204 | No Content | Normal response code for DELETE operations | + +-----------------------+-----------------------+-------------------------------------------------------------------+ + +.. table:: **Table 2** Abnormal status codes + + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | Status Code | Message | Description | + +=============+===============================+========================================================================================================+ + | 400 | Bad Request | The server failed to process the request. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 401 | Unauthorized | You must enter a username and the password to access the requested page. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 403 | Forbidden | Access to the requested page is forbidden. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 404 | Not Found | The requested page was not found. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 405 | Method Not Allowed | The request method is not allowed. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 406 | Not Acceptable | Response generated by the server is not acceptable to the client. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 407 | Proxy Authentication Required | You must use the proxy server for authentication. Then, the request can be processed. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 408 | Request Timeout | The request timed out. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 409 | Conflict | The request could not be processed due to a conflict. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 500 | Internal Server Error | The request is not completed because an exception occurs. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 501 | Not Implemented | The request is not completed because the server does not support the requested function. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 502 | Bad Gateway | The request is not completed because the server receives an invalid response from the upstream server. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 503 | Service Unavailable | The request is not completed because the system is temporarily abnormal. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ + | 504 | Gateway Timeout | The gateway timed out. | + +-------------+-------------------------------+--------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/change_history.rst b/api-ref/source/change_history.rst new file mode 100644 index 0000000..5d746c3 --- /dev/null +++ b/api-ref/source/change_history.rst @@ -0,0 +1,46 @@ +:original_name: APIChangeHistory.html + +.. _APIChangeHistory: + +Change History +============== + ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Released On | Description | ++===================================+================================================================================================================================================================================+ +| 2023-12-06 | This release incorporates the following changes: | +| | | +| | - Modified the descriptions of the tag key and value in the document. | +| | - Modified the description of the status code in "Querying AZs." | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2023-11-17 | This release incorporates the following changes: | +| | | +| | - Added section "Sharing" to state that this function cannot be used through APIs. | +| | - Added section "Permissions and Supported Actions" to describe enterprise router permissions. | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2023-11-01 | This release incorporates the following changes: | +| | | +| | - Modified the **name** parameter in "Creating an Enterprise Router", "Creating a Route Table", and "Updating Route Table Information". | +| | - Modified the descriptions of the tag key and value in the document. | +| | - Deleted the **owned_by_self** parameter from "Querying Enterprise Routers". | +| | - Modified the description of status code 202 in "Deleting an Enterprise Router", "Deleting a Static Route", and "Querying Quotas". | +| | - Added constraints in "Updating a Static Route". | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2023-10-09 | This release incorporates the following changes: | +| | | +| | - Added the description of attachments in "API Usage Guidelines". | +| | - Modified the descriptions of parameters **created_at** and **updated_at** to add the time format. | +| | - Modified the description of the **state** parameter to add numerated values. | +| | - Added the **charge_mode** parameter in "Creating an Enterprise Router". | +| | - Added a description that the **route_policy** parameter is not supported in "Creating a Route Association". | +| | - Modified the description of the **resource_type** parameter in "Creating a Route Association" and "Creating a Route Propagation". | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2023-09-22 | This release incorporates the following changes: | +| | | +| | - Modified the description of the **state** parameter in "Creating an Enterprise Router", "Updating an Enterprise Router", and "Querying Details About an Enterprise Router". | +| | - Modified the example response in "Querying VPC Attachments". | +| | - Modified the description of the **type** parameter in "Creating a Static Route". | +| | - Modified the description of the **route_type** parameter in "Querying Effective Routes". | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2023-04-07 | This issue is the first official release. | ++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/index.rst b/api-ref/source/index.rst index bf4e445..ee1f0b7 100644 --- a/api-ref/source/index.rst +++ b/api-ref/source/index.rst @@ -2,3 +2,11 @@ Enterprise Router - API Reference ================================= +.. toctree:: + :maxdepth: 1 + + api_usage_guidelines + apis/index + permissions_policies_and_supported_actions/index + appendixes/index + change_history diff --git a/api-ref/source/permissions_policies_and_supported_actions/associations.rst b/api-ref/source/permissions_policies_and_supported_actions/associations.rst new file mode 100644 index 0000000..c85e612 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/associations.rst @@ -0,0 +1,16 @@ +:original_name: er_02_0021.html + +.. _er_02_0021: + +Associations +============ + ++-------------------------------+--------------------------------------------------------------------------------------------+------------------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++===============================+============================================================================================+==============================+=============+====================+ +| Creating an association | POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/associate | er:associations:associate | Y | Y | ++-------------------------------+--------------------------------------------------------------------------------------------+------------------------------+-------------+--------------------+ +| Querying the association list | GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/associations | er:associations:list | Y | Y | ++-------------------------------+--------------------------------------------------------------------------------------------+------------------------------+-------------+--------------------+ +| Deleting an association | POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/disassociate | er:associations:disassociate | Y | Y | ++-------------------------------+--------------------------------------------------------------------------------------------+------------------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/attachments.rst b/api-ref/source/permissions_policies_and_supported_actions/attachments.rst new file mode 100644 index 0000000..fdec952 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/attachments.rst @@ -0,0 +1,16 @@ +:original_name: er_02_0019.html + +.. _er_02_0019: + +Attachments +=========== + ++--------------------------------------+----------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++======================================+============================================================================+=======================+=============+====================+ +| Updating an attachment | PUT /v3/{project_id}/enterprise-router/{er_id}/attachments/{attachment_id} | er:attachments:update | Y | Y | ++--------------------------------------+----------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Querying details about an attachment | GET /v3/{project_id}/enterprise-router/{er_id}/attachments/{attachment_id} | er:attachments:get | Y | Y | ++--------------------------------------+----------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Querying the attachment list | GET /v3/{project_id}/enterprise-router/{er_id}/attachments | er:attachments:list | Y | Y | ++--------------------------------------+----------------------------------------------------------------------------+-----------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/enterprise_routers.rst b/api-ref/source/permissions_policies_and_supported_actions/enterprise_routers.rst new file mode 100644 index 0000000..b239f86 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/enterprise_routers.rst @@ -0,0 +1,20 @@ +:original_name: er_02_0017.html + +.. _er_02_0017: + +Enterprise Routers +================== + ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++=============================================+============================================================================+=====================+=============+====================+ +| Creating an enterprise router | POST /v3/{project_id}/enterprise-router/instances | er:instances:create | Y | Y | ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Updating an enterprise router | PUT /v3/{project_id}/enterprise-router/instances/{enterprise_router_id} | er:instances:update | Y | Y | ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Querying details about an enterprise router | GET /v3/{project_id}/enterprise-router/instances/{enterprise_router_id} | er:instances:get | Y | Y | ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Querying the enterprise router list | GET /v3/{project_id}/enterprise-router/instances | er:instances:list | Y | Y | ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Deleting an enterprise router | DELETE /v3/{project_id}/enterprise-router/instances/{enterprise_router_id} | er:instances:delete | Y | Y | ++---------------------------------------------+----------------------------------------------------------------------------+---------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/flow_logs.rst b/api-ref/source/permissions_policies_and_supported_actions/flow_logs.rst new file mode 100644 index 0000000..84d6038 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/flow_logs.rst @@ -0,0 +1,24 @@ +:original_name: er_02_0024.html + +.. _er_02_0024: + +Flow Logs +========= + ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++===================================+=================================================================================+=====================+=============+====================+ +| Creating a flow log | POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs | er:flowlogs:create | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Querying the flow log list | GET /v3/{project_id}/enterprise-router/{er_id}/flow-logs | er:flowlogs:list | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Querying details about a flow log | GET /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} | er:flowlogs:show | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Updating a flow log | PUT /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} | er:flowlogs:update | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Deleting a flow log | DELETE /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id} | er:flowlogs:delete | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Enabling flow logging | POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id}/enable | er:flowlogs:enable | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ +| Disabling flow logging | POST /v3/{project_id}/enterprise-router/{er_id}/flow-logs/{flow_log_id}/disable | er:flowlogs:disable | Y | Y | ++-----------------------------------+---------------------------------------------------------------------------------+---------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/index.rst b/api-ref/source/permissions_policies_and_supported_actions/index.rst new file mode 100644 index 0000000..35d0cad --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/index.rst @@ -0,0 +1,34 @@ +:original_name: er_02_0015.html + +.. _er_02_0015: + +Permissions Policies and Supported Actions +========================================== + +- :ref:`Introduction ` +- :ref:`Enterprise Routers ` +- :ref:`VPC Attachments ` +- :ref:`Attachments ` +- :ref:`Route Tables ` +- :ref:`Associations ` +- :ref:`Propagations ` +- :ref:`Routes ` +- :ref:`Flow Logs ` +- :ref:`Tags ` +- :ref:`Quota Management ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + introduction + enterprise_routers + vpc_attachments + attachments + route_tables + associations + propagations + routes + flow_logs + tags + quota_management diff --git a/api-ref/source/permissions_policies_and_supported_actions/introduction.rst b/api-ref/source/permissions_policies_and_supported_actions/introduction.rst new file mode 100644 index 0000000..e0f62fa --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/introduction.rst @@ -0,0 +1,36 @@ +:original_name: er_02_0016.html + +.. _er_02_0016: + +Introduction +============ + +This section describes fine-grained permissions management for your Enterprise Router resources. If your account does not need individual IAM users, you may skip this section. + +By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and assign policies or roles to these groups. The user then inherits permissions from the groups. After authorization, the user can perform specified operations on cloud services based on the permissions. + +An account has all of the permissions required to call all APIs, but IAM users must be assigned the required permissions. The permissions required for calling an API are determined by the actions supported by the API. Only users who have been granted permissions can call the API successfully. For example, if an IAM user wants to query enterprise routers using an API, the user must have been granted permissions that allow the **er:instances:list** action. + +Supported Actions +----------------- + +IAM provides system-defined policies that can be directly used. You can also create custom policies to work with system-defined policies for more refined access control. Actions supported by policies are specific to APIs. Common concepts related to policies include: + +- Permissions: allow or deny operations on specified resources under specific conditions. +- APIs: REST APIs that can be called by a user who has been granted specific permissions +- Actions: specific operations that are allowed or denied +- Related actions: actions on which a specific action depends. When assigning permissions for the action to a user, you also need to assign permissions for the dependent actions. +- IAM projects or enterprise projects: type of projects for which an action will take effect. For example, if you set the authorization scope of a custom policy to both IAM projects and enterprise projects, the policy takes effect for user groups in either IAM or enterprise projects. If the authorization scope is set to IAM projects only, the custom policy will take effect only for user groups in IAM projects. Administrators can check whether an action supports IAM projects or enterprise projects in the action list. "Y" indicates that the action supports the project and "x" indicates that the action does not support the project. + +Enterprise Router supports the following actions that can be defined in custom policies: + +- :ref:`Enterprise Routers ` +- :ref:`VPC Attachments ` +- :ref:`Attachments ` +- :ref:`Route Tables ` +- :ref:`Associations ` +- :ref:`Propagations ` +- :ref:`Routes ` +- :ref:`Flow Logs ` +- :ref:`Tags ` +- :ref:`Quota Management ` diff --git a/api-ref/source/permissions_policies_and_supported_actions/propagations.rst b/api-ref/source/permissions_policies_and_supported_actions/propagations.rst new file mode 100644 index 0000000..194b9c0 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/propagations.rst @@ -0,0 +1,16 @@ +:original_name: er_02_0022.html + +.. _er_02_0022: + +Propagations +============ + ++-------------------------------+----------------------------------------------------------------------------------------------------+-------------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++===============================+====================================================================================================+=========================+=============+====================+ +| Creating a propagation | POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/enable-propagations | er:propagations:enable | Y | Y | ++-------------------------------+----------------------------------------------------------------------------------------------------+-------------------------+-------------+--------------------+ +| Querying the propagation list | GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/propagations | er:propagations:list | Y | Y | ++-------------------------------+----------------------------------------------------------------------------------------------------+-------------------------+-------------+--------------------+ +| Deleting a propagation | POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/disable-propagations | er:propagations:disable | Y | Y | ++-------------------------------+----------------------------------------------------------------------------------------------------+-------------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/quota_management.rst b/api-ref/source/permissions_policies_and_supported_actions/quota_management.rst new file mode 100644 index 0000000..8adff19 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/quota_management.rst @@ -0,0 +1,12 @@ +:original_name: er_02_0034.html + +.. _er_02_0034: + +Quota Management +================ + ++-----------------+-----------------------------------------------+----------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++=================+===============================================+================+=============+====================+ +| Querying quotas | GET /v3/{project_id}/enterprise-router/quotas | er:quotas:list | Y | Y | ++-----------------+-----------------------------------------------+----------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/route_tables.rst b/api-ref/source/permissions_policies_and_supported_actions/route_tables.rst new file mode 100644 index 0000000..95b2727 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/route_tables.rst @@ -0,0 +1,20 @@ +:original_name: er_02_0020.html + +.. _er_02_0020: + +Route Tables +============ + ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++======================================+=================================================================================+=======================+=============+====================+ +| Creating a route table | POST /v3/{project_id}/enterprise-router/{er_id}/route-tables | er:routeTables:create | Y | Y | ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Updating a route table | PUT /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} | er:routeTables:update | Y | Y | ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Querying details about a route table | GET /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} | er:routeTables:get | Y | Y | ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Querying the route table list | GET /v3/{project_id}/enterprise-router/{er_id}/route-tables | er:routeTables:list | Y | Y | ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ +| Deleting a route table | DELETE /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id} | er:routeTables:delete | Y | Y | ++--------------------------------------+---------------------------------------------------------------------------------+-----------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/routes.rst b/api-ref/source/permissions_policies_and_supported_actions/routes.rst new file mode 100644 index 0000000..e301cfc --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/routes.rst @@ -0,0 +1,22 @@ +:original_name: er_02_0023.html + +.. _er_02_0023: + +Routes +====== + ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++=======================================+==================================================================================================+==================+=============+====================+ +| Creating a static route | POST /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes | er:routes:create | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Updating a static route | PUT /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} | er:routes:update | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Querying details about a static route | GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} | er:routes:get | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Querying static routes | GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes | er:routes:list | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Querying effective routes | GET /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/routes | er:routes:list | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ +| Deleting a static route | DELETE /v3/{project_id}/enterprise-router/route-tables/{route_table_id}/static-routes/{route_id} | er:routes:delete | Y | Y | ++---------------------------------------+--------------------------------------------------------------------------------------------------+------------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/tags.rst b/api-ref/source/permissions_policies_and_supported_actions/tags.rst new file mode 100644 index 0000000..8e6ca65 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/tags.rst @@ -0,0 +1,20 @@ +:original_name: er_02_0033.html + +.. _er_02_0033: + +Tags +==== + ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ +| Permission | API | Action | IAM Project | Enterprise Project | ++=============================================+=================================================================+================+=============+====================+ +| Querying tags by resource type | GET /v3/{project_id}/{resource_type}/tags | er:tags:list | Y | Y | ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ +| Querying resource tags | GET /v3/{project_id}/{resource_type}/{resource_id}/tags | er:tags:get | Y | Y | ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ +| Creating a resource tag | POST /v3/{project_id}/{resource_type}/{resource_id}/tags | er:tags:create | Y | Y | ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ +| Adding or deleting resource tags in batches | POST /v3/{project_id}/{resource_type}/{resource_id}/tags/action | er:tags:create | Y | Y | ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ +| Deleting a resource tag | POST /v3/{project_id}/{resource_type}/{resource_id}/tags/{key} | er:tags:delete | Y | Y | ++---------------------------------------------+-----------------------------------------------------------------+----------------+-------------+--------------------+ diff --git a/api-ref/source/permissions_policies_and_supported_actions/vpc_attachments.rst b/api-ref/source/permissions_policies_and_supported_actions/vpc_attachments.rst new file mode 100644 index 0000000..6ae2c74 --- /dev/null +++ b/api-ref/source/permissions_policies_and_supported_actions/vpc_attachments.rst @@ -0,0 +1,20 @@ +:original_name: er_02_0018.html + +.. _er_02_0018: + +VPC Attachments +=============== + ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+ +| Permission | API | Action | Project | Enterprise Project | ++=========================================+=======================================================================================+=======================+=========+====================+ +| Creating a VPC attachment | POST /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments | er:attachments:create | Y | Y | ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+ +| Updating a VPC attachment | PUT /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} | er:attachments:update | Y | Y | ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+ +| Querying details about a VPC attachment | GET /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} | er:attachments:get | Y | Y | ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+ +| Querying the VPC attachment list | GET /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments | er:attachments:list | Y | Y | ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+ +| Deleting a VPC attachment | DELETE /v3/{project_id}/enterprise-router/{er_id}/vpc-attachments/{vpc_attachment_id} | er:attachments:delete | Y | Y | ++-----------------------------------------+---------------------------------------------------------------------------------------+-----------------------+---------+--------------------+