:original_name: RemoveNode.html .. _RemoveNode: Removing a Node =============== Function -------- This API is used to remove a node from a specified cluster. .. note:: The URL for cluster management is in the format of https://Endpoint/uri. In the URL, **uri** indicates the resource path, that is, the path for API access. URI --- PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/remove .. table:: **Table 1** Path Parameters +------------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +============+===========+========+==========================================================================================================================+ | project_id | Yes | String | Project ID. For details about how to obtain the value, see :ref:`How to Obtain Parameters in the API URI `. | +------------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------+ | cluster_id | Yes | String | Cluster ID. For details about how to obtain the value, see :ref:`How to Obtain Parameters in the API URI `. | +------------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------+ Request Parameters ------------------ .. table:: **Table 2** Request header parameters +--------------+-----------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +==============+===========+========+=================================================================================================================================================================================================================================================+ | Content-Type | Yes | String | Message body type (format). | +--------------+-----------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | X-Auth-Token | Yes | String | Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details, see :ref:`API Usage Guidelines `. | +--------------+-----------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. table:: **Table 3** Request body parameters +------------+-----------+--------------------------------------------------------------------------------------------------+------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +============+===========+==================================================================================================+======================================================+ | apiVersion | No | String | API version. The value is fixed at **v3**. | +------------+-----------+--------------------------------------------------------------------------------------------------+------------------------------------------------------+ | kind | No | String | API type. The value is fixed at **RemoveNodesTask**. | +------------+-----------+--------------------------------------------------------------------------------------------------+------------------------------------------------------+ | spec | Yes | :ref:`RemoveNodesSpec ` object | Configuration information. | +------------+-----------+--------------------------------------------------------------------------------------------------+------------------------------------------------------+ .. _removenode__en-us_topic_0000001417833320_request_removenodesspec: .. table:: **Table 4** RemoveNodesSpec +-----------+-----------+----------------------------------------------------------------------------------------------+-------------------------------+ | Parameter | Mandatory | Type | Description | +===========+===========+==============================================================================================+===============================+ | login | Yes | :ref:`Login ` object | Node login mode. | +-----------+-----------+----------------------------------------------------------------------------------------------+-------------------------------+ | nodes | Yes | Array of :ref:`NodeItem ` objects | List of nodes to be operated. | +-----------+-----------+----------------------------------------------------------------------------------------------+-------------------------------+ .. _removenode__en-us_topic_0000001417833320_request_login: .. table:: **Table 5** Login +-----------------+-----------------+-----------------+---------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+=========================================================+ | sshKey | No | String | Name of the key pair used for login. | +-----------------+-----------------+-----------------+---------------------------------------------------------+ | userPassword | No | String | Password used for node login. | | | | | | | | | | .. note:: | | | | | | | | | | This field is not supported for the current version. | +-----------------+-----------------+-----------------+---------------------------------------------------------+ .. _removenode__en-us_topic_0000001417833320_request_nodeitem: .. table:: **Table 6** NodeItem ========= ========= ====== =========== Parameter Mandatory Type Description ========= ========= ====== =========== uid Yes String Node ID. ========= ========= ====== =========== Response Parameters ------------------- **Status code: 200** .. table:: **Table 7** Response body parameters +------------+---------------------------------------------------------------------------------------------------+------------------------------------------------------+ | Parameter | Type | Description | +============+===================================================================================================+======================================================+ | apiVersion | String | API version. The value is fixed at **v3**. | +------------+---------------------------------------------------------------------------------------------------+------------------------------------------------------+ | kind | String | API type. The value is fixed at **RemoveNodesTask**. | +------------+---------------------------------------------------------------------------------------------------+------------------------------------------------------+ | spec | :ref:`RemoveNodesSpec ` object | Configuration information. | +------------+---------------------------------------------------------------------------------------------------+------------------------------------------------------+ | status | :ref:`TaskStatus ` object | Job status. | +------------+---------------------------------------------------------------------------------------------------+------------------------------------------------------+ .. _removenode__en-us_topic_0000001417833320_response_removenodesspec: .. table:: **Table 8** RemoveNodesSpec +-----------+-----------------------------------------------------------------------------------------------+-------------------------------+ | Parameter | Type | Description | +===========+===============================================================================================+===============================+ | login | :ref:`Login ` object | Node login mode. | +-----------+-----------------------------------------------------------------------------------------------+-------------------------------+ | nodes | Array of :ref:`NodeItem ` objects | List of nodes to be operated. | +-----------+-----------------------------------------------------------------------------------------------+-------------------------------+ .. _removenode__en-us_topic_0000001417833320_response_login: .. table:: **Table 9** Login +-----------------------+-----------------------+---------------------------------------------------------+ | Parameter | Type | Description | +=======================+=======================+=========================================================+ | sshKey | String | Name of the key pair used for login. | +-----------------------+-----------------------+---------------------------------------------------------+ | userPassword | String | Password used for node login. | | | | | | | | .. note:: | | | | | | | | This field is not supported for the current version. | +-----------------------+-----------------------+---------------------------------------------------------+ .. _removenode__en-us_topic_0000001417833320_response_nodeitem: .. table:: **Table 10** NodeItem ========= ====== =========== Parameter Type Description ========= ====== =========== uid String Node ID. ========= ====== =========== .. _removenode__en-us_topic_0000001417833320_response_taskstatus: .. table:: **Table 11** TaskStatus +-----------+--------+----------------------------------------------------------------+ | Parameter | Type | Description | +===========+========+================================================================+ | jobID | String | Job ID, which is used by the caller to query the job progress. | +-----------+--------+----------------------------------------------------------------+ Example Requests ---------------- Removing a Node .. code-block:: text PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/remove { "spec" : { "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] } } Example Responses ----------------- **Status code: 200** The job for removing a node in a specified cluster is successfully delivered. .. code-block:: { "spec" : { "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] }, "status" : { "jobID" : "2ec9b78d-9368-46f3-8f29-d1a95622a568" } } Status Codes ------------ +-------------+-------------------------------------------------------------------------------+ | Status Code | Description | +=============+===============================================================================+ | 200 | The job for removing a node in a specified cluster is successfully delivered. | +-------------+-------------------------------------------------------------------------------+ Error Codes ----------- See :ref:`Error Codes `.