From 0c535741ce217f916e2f5faa1fdc202b7cd8d608 Mon Sep 17 00:00:00 2001 From: OpenTelekomCloud Proposal Bot Date: Tue, 22 Nov 2022 07:46:07 +0000 Subject: [PATCH] Update content --- .../images/en-us_image_0000001287593560.jpg | Bin 0 -> 112824 bytes api-ref/source/api_usage_guidelines.rst | 12 + .../backing_up_a_dcs_instance.rst | 102 ++++++ ...hanging_the_password_of_a_dcs_instance.rst | 138 ++++++++ .../deleting_backup_files.rst | 87 +++++ .../index.rst | 34 ++ ..._dcs_instance_configuration_parameters.rst | 106 ++++++ .../querying_dcs_instance_backup_records.rst | 181 ++++++++++ ..._dcs_instance_configuration_parameters.rst | 311 ++++++++++++++++ ...rying_dcs_instance_restoration_records.rst | 140 ++++++++ .../querying_dcs_instance_status.rst | 98 ++++++ ...ng_statistics_of_all_running_instances.rst | 140 ++++++++ .../restarting_dcs_instances.rst | 117 ++++++ .../restoring_a_dcs_instance.rst | 104 ++++++ .../batch_deleting_dcs_instances.rst | 136 +++++++ .../creating_a_dcs_instance.rst | 283 +++++++++++++++ .../deleting_a_single_dcs_instance.rst | 70 ++++ .../index.rst | 26 ++ ...fying_information_about_a_dcs_instance.rst | 151 ++++++++ .../querying_a_dcs_instance.rst | 243 +++++++++++++ ...querying_all_dcs_instances_of_a_tenant.rst | 209 +++++++++++ .../scaling_up_a_dcs_instance.rst | 84 +++++ .../apis_used_for_tenant_management/index.rst | 14 + .../querying_the_quota_of_a_tenant.rst | 153 ++++++++ .../source/appendix/dcs_instance_statuses.rst | 28 ++ api-ref/source/appendix/error_codes.rst | 332 ++++++++++++++++++ api-ref/source/appendix/index.rst | 20 ++ .../appendix/obtaining_a_project_id.rst | 25 ++ api-ref/source/appendix/status_codes.rst | 120 +++++++ api-ref/source/change_history.rst | 65 ++++ api-ref/source/index.rst | 10 + api-ref/source/other_apis/index.rst | 18 + .../other_apis/querying_az_information.rst | 113 ++++++ .../querying_maintenance_time_window.rst | 118 +++++++ .../querying_service_specifications.rst | 212 +++++++++++ 35 files changed, 4000 insertions(+) create mode 100644 api-ref/source/_static/images/en-us_image_0000001287593560.jpg create mode 100644 api-ref/source/api_usage_guidelines.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/backing_up_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/changing_the_password_of_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/deleting_backup_files.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/index.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/modifying_dcs_instance_configuration_parameters.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_backup_records.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_configuration_parameters.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_restoration_records.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_status.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/querying_statistics_of_all_running_instances.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/restarting_dcs_instances.rst create mode 100644 api-ref/source/apis_used_for_maintaining_dcs_instances/restoring_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/batch_deleting_dcs_instances.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/creating_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/deleting_a_single_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/index.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/modifying_information_about_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/querying_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/querying_all_dcs_instances_of_a_tenant.rst create mode 100644 api-ref/source/apis_used_for_managing_dcs_instances/scaling_up_a_dcs_instance.rst create mode 100644 api-ref/source/apis_used_for_tenant_management/index.rst create mode 100644 api-ref/source/apis_used_for_tenant_management/querying_the_quota_of_a_tenant.rst create mode 100644 api-ref/source/appendix/dcs_instance_statuses.rst create mode 100644 api-ref/source/appendix/error_codes.rst create mode 100644 api-ref/source/appendix/index.rst create mode 100644 api-ref/source/appendix/obtaining_a_project_id.rst create mode 100644 api-ref/source/appendix/status_codes.rst create mode 100644 api-ref/source/change_history.rst create mode 100644 api-ref/source/other_apis/index.rst create mode 100644 api-ref/source/other_apis/querying_az_information.rst create mode 100644 api-ref/source/other_apis/querying_maintenance_time_window.rst create mode 100644 api-ref/source/other_apis/querying_service_specifications.rst diff --git a/api-ref/source/_static/images/en-us_image_0000001287593560.jpg b/api-ref/source/_static/images/en-us_image_0000001287593560.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0e263d9b79bf2d87a08575ce6509555ca60d44c GIT binary patch literal 112824 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 literal 0 HcmV?d00001 diff --git a/api-ref/source/api_usage_guidelines.rst b/api-ref/source/api_usage_guidelines.rst new file mode 100644 index 0000000..d78c358 --- /dev/null +++ b/api-ref/source/api_usage_guidelines.rst @@ -0,0 +1,12 @@ +:original_name: dcs-api-0417001.html + +.. _dcs-api-0417001: + +API Usage Guidelines +==================== + +Distributed Cache Service (DCS) 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. + +DCS APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by **Application/json**. + +For details on how to use APIs, see `API Usage Guidelines `__. diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/backing_up_a_dcs_instance.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/backing_up_a_dcs_instance.rst new file mode 100644 index 0000000..0afdd83 --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/backing_up_a_dcs_instance.rst @@ -0,0 +1,102 @@ +:original_name: dcs-api-0312020.html + +.. _dcs-api-0312020: + +Backing Up a DCS Instance +========================= + +Function +-------- + +This API is used to back up a specified DCS instance. + +.. note:: + + Only master/standby and cluster DCS instances can be backed up and restored, while single-node instances cannot. + +URI +--- + +POST /v1.0/{project_id}/instances/{instance_id}/backups + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312020__table1899262913382: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================ + Parameter Type Mandatory Description + =========== ====== ========= ================ + project_id String Yes Project ID. + instance_id String Yes DCS instance ID. + =========== ====== ========= ================ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312020__table153111335113816: + +.. table:: **Table 2** Parameter description + + ========= ====== ========= =================================== + Parameter Type Mandatory Description + ========= ====== ========= =================================== + remark String No Description of DCS instance backup. + ========= ====== ========= =================================== + +**Example request** + +.. code-block:: text + + POST https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/backups + +.. code-block:: + + { + "remark": "Backup instances" + } + +Response +-------- + +**Response parameters** + +:ref:`Table 3 ` describes the response parameter. + +.. _dcs-api-0312020__table1861319576383: + +.. table:: **Table 3** Parameter description + + ========= ====== ======================= + Parameter Type Description + ========= ====== ======================= + backup_id String ID of the backup record + ========= ====== ======================= + +**Example response** + +.. code-block:: + + { + "backup_id": "548ceeff-2cbb-47ab-9a1c-7b085a8c08d7" + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312020__table486141410130: + +.. table:: **Table 4** Status code + + =========== ============================================== + Status Code Description + =========== ============================================== + 200 Specified DCS instance backed up successfully. + =========== ============================================== diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/changing_the_password_of_a_dcs_instance.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/changing_the_password_of_a_dcs_instance.rst new file mode 100644 index 0000000..eb839ff --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/changing_the_password_of_a_dcs_instance.rst @@ -0,0 +1,138 @@ +:original_name: dcs-api-0312019.html + +.. _dcs-api-0312019: + +Changing the Password of a DCS Instance +======================================= + +Function +-------- + +This API is used to change the password of a DCS instance. + +URI +--- + +PUT /v1.0/{project_id}/instances/{instance_id}/password + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312019__table1899262913382: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================ + Parameter Type Mandatory Description + =========== ====== ========= ================ + project_id String Yes Project ID. + instance_id String Yes DCS instance ID. + =========== ====== ========= ================ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312019__table153111335113816: + +.. table:: **Table 2** Parameter description + + +-----------------+-----------------+-----------------+-------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=================+=================+=================+=========================================================================+ + | old_password | String | Yes | Old password. | + +-----------------+-----------------+-----------------+-------------------------------------------------------------------------+ + | new_password | String | Yes | New password. | + | | | | | + | | | | Password complexity requirements: | + | | | | | + | | | | - Must be a string consisting of 8 to 32 characters. | + | | | | - Must be different from the old password. | + | | | | - Contains at least three of the following character types: | + | | | | | + | | | | - Lowercase letters | + | | | | - Uppercase letters | + | | | | - Digits | + | | | | - Special characters (:literal:`\`~!@#$%^&*()-_=+\\|[{}]:'",<.>/?`) | + +-----------------+-----------------+-----------------+-------------------------------------------------------------------------+ + +**Example request** + +.. code-block:: text + + PUT https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/password + +.. code-block:: + + { + "old_password": "XXXXXX", + "new_password": "XXXXXX" + } + +Response +-------- + +**Response parameters** + +:ref:`Table 3 ` describes the response parameters. + +.. _dcs-api-0312019__table1861319576383: + +.. table:: **Table 3** Parameter description + + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+===================================================================================================================================+ + | result | String | An indicator of whether the password is successfully changed: Options: | + | | | | + | | | - **Success**: Password changed successfully. | + | | | - **passwordFailed**: The old password is incorrect. | + | | | - **Locked**: This account has been locked. | + | | | - **Failed**: Failed to change the password. | + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | message | String | Result of password change. | + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | retry_times_left | String | Number of remaining password attempts. If the old password is incorrect, the value of this parameter is not **null**. | + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | lock_time | String | Account lockout duration. If the old password is incorrect or the account is locked, the value of this parameter is not **null**. | + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | lock_time_left | String | Remaining time before the account is unlocked. If the account is locked, the value of this parameter is not **null**. | + +-----------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + //Change password sucessful. + { + "result" : "success", + "message" : "Modify DCSInstance password success.", + "retry_times_left" : "5", + "lock_time" : "0", + "lock_time_left" : "0" + } + //Change password failed. + { + "result" : "passwordFailed", + "message" : "verify password failed.", + "retry_times_left" : "4", + "lock_time" : "5", + "lock_time_left" : "5" + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312019__table486141410130: + +.. table:: **Table 4** Status code + + =========== ============================== + Status Code Description + =========== ============================== + 200 Password changed successfully. + =========== ============================== diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/deleting_backup_files.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/deleting_backup_files.rst new file mode 100644 index 0000000..61c75ab --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/deleting_backup_files.rst @@ -0,0 +1,87 @@ +:original_name: dcs-api-0312024.html + +.. _dcs-api-0312024: + +Deleting Backup Files +===================== + +Function +-------- + +This API is used to delete the files backed up by a DCS instance. + +URI +--- + +DELETE /v1.0/{project_id}/instances/{instance_id}/backups/{backup_id} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312024__table4154121820350: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ======================= + Parameter Type Mandatory Description + =========== ====== ========= ======================= + project_id String Yes Project ID + instance_id String Yes DCS instance ID + backup_id String Yes ID of the backup record + =========== ====== ========= ======================= + +Example + +.. code-block:: text + + DELETE https://{dcs_endpoint}/v1.0/885cacf2d49d4bb6931ae668e9c07553/instances/e016385d-b9fa-4bf0-9f38-9379f4a5293f/backups/75509c85-50a6-4525-ad56-a1bb62e84570 + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312024__table5929344419: + +.. table:: **Table 2** Parameter description + + ========= ====== ================================== + Parameter Type Description + ========= ====== ================================== + message String Result of deleting the backup file + ========= ====== ================================== + +**Example response** + +.. code-block:: + + { + "message": "" + } + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312024__table8301101911215: + +.. table:: **Table 3** Status code + + =========== ================================= + Status Code Description + =========== ================================= + 200 Backup file deleted successfully. + =========== ================================= diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/index.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/index.rst new file mode 100644 index 0000000..040d8ab --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/index.rst @@ -0,0 +1,34 @@ +:original_name: dcs-api-0312013.html + +.. _dcs-api-0312013: + +APIs Used for Maintaining DCS Instances +======================================= + +- :ref:`Querying Statistics of All Running Instances ` +- :ref:`Querying DCS Instance Configuration Parameters ` +- :ref:`Querying DCS Instance Status ` +- :ref:`Modifying DCS Instance Configuration Parameters ` +- :ref:`Restarting DCS Instances ` +- :ref:`Changing the Password of a DCS Instance ` +- :ref:`Backing Up a DCS Instance ` +- :ref:`Restoring a DCS Instance ` +- :ref:`Querying DCS Instance Backup Records ` +- :ref:`Querying DCS Instance Restoration Records ` +- :ref:`Deleting Backup Files ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_statistics_of_all_running_instances + querying_dcs_instance_configuration_parameters + querying_dcs_instance_status + modifying_dcs_instance_configuration_parameters + restarting_dcs_instances + changing_the_password_of_a_dcs_instance + backing_up_a_dcs_instance + restoring_a_dcs_instance + querying_dcs_instance_backup_records + querying_dcs_instance_restoration_records + deleting_backup_files diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/modifying_dcs_instance_configuration_parameters.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/modifying_dcs_instance_configuration_parameters.rst new file mode 100644 index 0000000..8a0d426 --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/modifying_dcs_instance_configuration_parameters.rst @@ -0,0 +1,106 @@ +:original_name: dcs-api-0312017.html + +.. _dcs-api-0312017: + +Modifying DCS Instance Configuration Parameters +=============================================== + +Function +-------- + +You can modify the configuration parameters of your DCS instance to optimize DCS performance based on your requirements. + +Currently, you can only modify configuration parameters for single-node and master/standby instances in the **Running** state. + +URI +--- + +PUT /v1.0/{project_id}/instances/{instance_id}/configs + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312017__table139152015133712: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================================== + Parameter Type Mandatory Description + =========== ====== ========= ================================== + project_id String Yes Project ID. + instance_id String Yes ID of the instance to be modified. + =========== ====== ========= ================================== + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312017__table16620132063713: + +.. table:: **Table 2** Parameter description + + +--------------+-------+-----------+---------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +==============+=======+===========+===================================================+ + | redis_config | Array | Yes | Array of configuration items of the DCS instance. | + +--------------+-------+-----------+---------------------------------------------------+ + +.. _dcs-api-0312017__table35215230340: + +.. table:: **Table 3** redis_config parameter description + + =========== ====== ========= ================================ + Parameter Type Mandatory Description + =========== ====== ========= ================================ + param_id String Yes Configuration item ID. + param_name String Yes Configuration item name. + param_value String Yes Value of the configuration item. + =========== ====== ========= ================================ + +For possible values of parameters in :ref:`Table 3 `, see :ref:`Table 4 `. + +**Example request** + +.. code-block:: text + + PUT https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/configs + +.. code-block:: + + { + "redis_config": [ + { + "param_id": "1", + "param_name": "timeout", + "param_value": "100" + } + ] + } + +Response +-------- + +**Response parameters** + +None. + +**Example response** + +None. + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312017__table17459195018122: + +.. table:: **Table 4** Status code + + =========== ================================================== + Status Code Description + =========== ================================================== + 204 DCS instance configurations modified successfully. + =========== ================================================== diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_backup_records.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_backup_records.rst new file mode 100644 index 0000000..a6250b1 --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_backup_records.rst @@ -0,0 +1,181 @@ +:original_name: dcs-api-0312022.html + +.. _dcs-api-0312022: + +Querying DCS Instance Backup Records +==================================== + +Function +-------- + +This API is used to query the backup records of a specified DCS instance. + +URI +--- + +GET /v1.0/{project_id}/instances/{instance_id}/backups?start={start}&limit={limit}&beginTime={beginTime}&endTime={endTime} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312022__table1899262913382: + +.. table:: **Table 1** Parameter description + + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=============+=========+===========+=======================================================================================================================================================================================+ + | project_id | String | Yes | Project ID. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | Yes | DCS instance ID. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | start | Integer | No | Start sequence number of the backup record that is to be queried. By default, this parameter is set to **1**. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | limit | Integer | No | Number of backup records displayed on each page. The minimum value of this parameter is **1**. If this parameter is not set, 10 backup records are displayed on each page by default. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | beginTime | String | No | Start time of the period to be queried. Format: yyyyMMddHHmmss, for example, 20170718235959. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | endTime | String | No | End time of the period to be queried. Format: yyyyMMddHHmmss, for example, 20170718235959. | + +-------------+---------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +None. + +**Example request** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/backups?start={start}&limit={limit}&beginTime={beginTime}&endTime={endTime} + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312022__table1861319576383: + +.. table:: **Table 2** Parameter description + + +------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +========================+=========+================================================================================================================================+ + | backup_record_response | Array | Array of the backup records. For details about backup_record_response, see :ref:`Table 3 `. | + +------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------+ + | total_num | Integer | Number of obtained backup records. | + +------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312022__table82951233189: + +.. table:: **Table 3** backup_record_response parameter description + + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+============================================================================================================================================+ + | status | String | Backup status. Options: | + | | | | + | | | - **waiting**: DCS instance restoration is waiting to begin. | + | | | - **backuping**: DCS instance backup is in progress. | + | | | - **succeed**: DCS instance backup succeeded. | + | | | - **failed**: DCS instance backup failed. | + | | | - **expired**: The backup file expires. | + | | | - **deleted**: The backup file has been deleted manually. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | remark | String | Description of DCS instance backup | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | period | String | Time segment in which DCS instance backup was performed | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | progress | String | Backup progress | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | size | Long | Size of the backup file. Unit: byte. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | DCS instance ID | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_id | String | ID of the backup record | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Time at which the backup task is created | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Time at which DCS instance backup is completed | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | execution_at | String | Time at which the backup starts. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_type | String | Backup type. Options: | + | | | | + | | | - **manual**: manual backup | + | | | - **auto**: automatic backup | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_name | String | Name of the backup record | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | error_code | String | Error code returned if DCS instance backup fails. For details about error codes, see :ref:`Table 4 `. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | is_support_restore | String | An indicator of whether restoration is supported. Options: **TRUE** or **FALSE**. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312022__table1255361919491: + +.. table:: **Table 4** Error codes returned in case of a backup or restoration failure + + +-------------+-------------------------------------------------------------------------------------------+ + | Error Code | Description | + +=============+===========================================================================================+ + | dcs.08.0001 | Failed to start the backup and restore tool. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0002 | Operation timed out. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0003 | Failed to delete bucket. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0004 | Failed to obtain AK/SK. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0005 | Failed to create bucket. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0006 | Failed to obtain backup file size. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0007 | Data synchronization failed during instance restoration. | + +-------------+-------------------------------------------------------------------------------------------+ + | dcs.08.0008 | Automatic backup of the instance cannot start because the instance is running other jobs. | + +-------------+-------------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "backup_record_response": [ + { + "status": "succeed", + "remark": "001", + "period": null, + "progress": "100.00", + "size": 880232, + "instance_id": "5560df16-cebf-4473-95c4-d1b573c16e79", + "backup_id": "4631832a-14c6-45b0-a0b3-3abd8f591ad1", + "created_at": "2019-05-10T08:31:16.166Z", + "updated_at": "2019-05-10T08:32:30.546Z", + "execution_at": "2019-05-10T08:31:21.461Z", + "backup_type": "manual", + "backup_name": "backup_20190510163116", + "error_code": null, + "is_support_restore": "TRUE" + } + ], + "total_num": 1 + } + +Status Code +----------- + +:ref:`Table 5 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312022__table486141410130: + +.. table:: **Table 5** Status code + + =========== ================================================= + Status Code Description + =========== ================================================= + 200 DCS instance backup records queried successfully. + =========== ================================================= diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_configuration_parameters.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_configuration_parameters.rst new file mode 100644 index 0000000..2a65cfc --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_configuration_parameters.rst @@ -0,0 +1,311 @@ +:original_name: dcs-api-0312015.html + +.. _dcs-api-0312015: + +Querying DCS Instance Configuration Parameters +============================================== + +Function +-------- + +This API is used to query the configuration parameters of a DCS instance. + +URI +--- + +GET /v1.0/{project_id}/instances/{instance_id}/configs + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312015__table133085233516: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================================ + Parameter Type Mandatory Description + =========== ====== ========= ================================ + project_id String Yes Project ID + instance_id String Yes ID of the instance to be queried + =========== ====== ========= ================================ + +Request +------- + +**Request parameters** + +None. + +**Example request** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/configs + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312015__table1831432163611: + +.. table:: **Table 2** Parameter description + + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+==========================================================================================================================+ + | status | String | Current status of a DCS instance. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | DCS instance ID. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + | redis_config | Array | Array of configuration items of the DCS instance. For details, see :ref:`Table 3 `. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + | config_status | String | DCS instance status that is being modified or has been modified. Options: | + | | | | + | | | - **UPDATING** | + | | | - **FAILURE** | + | | | - **SUCCESS** | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + | config_time | String | Time at which the DCS instance is operated on. For example, 2017-03-31\ **T**\ 12:24:46.297\ **Z**. | + +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312015__table4967184515317: + +.. table:: **Table 3** redis_config parameter description + + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===============+=========+==================================================================================================================================================================+ + | description | String | Configuration item description. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | param_id | Integer | Configuration parameter ID. For the possible values, see the **Parameter ID** column in :ref:`Table 4 `. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | param_name | String | Configuration parameter name. For the possible values, see the **Parameter Name** column in :ref:`Table 4 `. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | param_value | String | Configuration parameter value. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | default_value | String | Default value of the configuration parameter. For the possible values, see the **Default Value** column in :ref:`Table 4 `. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | value_type | String | Type of the configuration parameter value. For the possible values, see the **Value Type** column in :ref:`Table 4 `. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | value_range | String | Range of the configuration parameter value. For the possible values, see the **Value Range** column in :ref:`Table 4 `. | + +---------------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +:ref:`Table 4 ` describes the configuration parameters of a DCS instance. + +.. _dcs-api-0312015__table1439111281351: + +.. table:: **Table 4** Configuration parameters of a DCS instance + + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | Parameter ID | Parameter Name | Value Type | Description | Value Range | Default Value | + +==============+===========================+============+===============================================================================================================================================================================================================================================================================================================+==========================================================================================================================+===============+ + | 1 | timeout | Interger | Connection between the client and server (DCS instance) will be closed if the client is idle for the timeout period (measured in seconds). A timeout period of 0 seconds indicates that the timeout function is disabled. | 0 to 7200. Unit: second. | 0 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 2 | maxmemory-policy | Enum | How Redis will select what to remove when maxmemory is reached. | volatile-lru | noeviction | + | | | | | | | + | | | | For more information about this parameter, see https://redis.io/topics/lru-cache. | allkeys-lru | | + | | | | | | | + | | | | | volatile-random | | + | | | | | | | + | | | | | allkeys-random | | + | | | | | | | + | | | | | volatile-ttl | | + | | | | | | | + | | | | | noeviction | | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 3 | hash-max-ziplist-entries | Interger | When the number of entries in hashes is less than the value of this parameter, hashes are encoded using ziplist to save memory. | 1 to 10000 | 512 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 4 | hash-max-ziplist-value | Interger | When the biggest entry in hashes does not exceed the length threshold indicated by this parameter, hashes are encoded using ziplist to save memory. | 1 to 10000 | 64 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 5 | list-max-ziplist-entries | Interger | When the number of entries in lists is less than the value of this parameter, lists are encoded using ziplist to save memory. | 1 to 10000 | 512 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 6 | list-max-ziplist-value | Interger | When the biggest entry in lists does not exceed the length threshold indicated by this parameter, lists are encoded using ziplist to save memory. | 1 to 10000 | 64 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 7 | set-max-intset-entries | Interger | When a set is composed entirely of strings and the number of integers does not exceed the length threshold indicated by this parameter, the set is encoded using intset to save memory. | 1 to 10000 | 512 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 8 | zset-max-ziplist-entries | Interger | When the number of entries in sorted sets is less than the value of this parameter, sorted sets are encoded using a memory efficient data structure. | 1~10000 | 128 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 9 | zset-max-ziplist-value | Interger | When the biggest entry in sorted sets does not exceed the length threshold indicated by this parameter, sorted sets are encoded using ziplist to save memory. | 1 to 10000 | 64 | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 10 | latency-monitor-threshold | Interger | Threshold time in latency monitoring. | 0 to 86400000 Unit: ms | 0 | + | | | | | | | + | | | | If this parameter is set to **0**, latency monitoring is disabled. If this parameter is set to a value greater than 0, all events blocking the server for a time greater than the configured value will be logged. | | | + | | | | | | | + | | | | By running the LATENCY command, you can perform operations related to latency monitoring, such as obtaining statistical data, and configuring and enabling latency monitoring. For more information about the latency-monitor-threshold, visit https://redis.io/docs/reference/optimization/latency-monitor/. | | | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 12 | reserved-memory | Interger | Reserved memory, which is the number of megabytes reserved for the backend to perform internal processing such as persistence and master/standby replication. | 0% to 50% of maximum memory space initially available to the instance and below the current free memory space. Unit: MB. | 0 | + | | | | | | | + | | | | This parameter is available only for master/standby instances. | | | + | | | | | | | + | | | | The size of the reserved memory can be adjusted, but must be in the value range described in the next column. For more information about maximum available memory of each instance type, see *Distributed Cache Service User Guide*. | | | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + | 13 | notify-keyspace-events | String | Keyspace event notification. If this parameter is configured, the Redis Sub/Pub feature will allow clients to receive an event when a Redis data set is modified. | A combination of different values can be used to enable notifications for multiple event types. Possible values include: | Ex | + | | | | | | | + | | | | | K: Keyspace events, published with the \__keyspace@_\_ prefix | | + | | | | | | | + | | | | | E: Keyevent events, published with the \__keyevent@_\_ prefix | | + | | | | | | | + | | | | | g: Generic commands (non-type specific) such as DEL, EXPIRE, and RENAME | | + | | | | | | | + | | | | | $: String commands | | + | | | | | | | + | | | | | l: List commands | | + | | | | | | | + | | | | | s: Set commands | | + | | | | | | | + | | | | | h: Hash commands | | + | | | | | | | + | | | | | z: Sorted set commands | | + | | | | | | | + | | | | | x: Expired events (events generated every time a key expires) | | + | | | | | | | + | | | | | e: Evicted events (events generated when a key is evicted for maxmemory) | | + | | | | | | | + | | | | | For more information, see the following note. | | + +--------------+---------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+---------------+ + +.. note:: + + More about the **notify-keyspace-events** parameter: + + - Allowed characters are K, E, KE, A, g, l, s, h, z, x, e, and $. The parameter value must contain either **K** or **E**. + - **A** is an alias for **g$lshzxe** and cannot be used together with any of the characters in g$lshzxe. + - For example, the value **Kl** means that Redis will notify Pub/Sub clients about keyspace events and list commands. The value **AKE** means Redis will notify Pub/Sub clients about all events. + +**Example response** + +.. code-block:: + + { + "status": "RUNNING", + "instance_id": "c08fdc6e-5c25-4185-ab57-c0a5529b727f", + "redis_config": [ + { + "description": "How Redis will select what to remove when maxmemory is reached, You can select among five behaviors: volatile-lru : remove the key with an expire set using an LRU algorithm allkeys-lru : remove any key according to the LRU algorithm volatile-random: remove a random key with an expire set allkeys-random: remove a random key, any key volatile-ttl : remove the key with the nearest expire time (minor TTL) noeviction : don't expire at all, just return an error on write operations", + "param_id": 2, + "param_name": "maxmemory-policy", + "param_value": "noeviction", + "default_value": "noeviction", + "value_type": "Enum", + "value_range": "volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction" + }, + { + "description": "Hashes are encoded using a memory efficient data structure when they have a small number of entries", + "param_id": 3, + "param_name": "hash-max-ziplist-entries", + "param_value": "512", + "default_value": "512", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Hashes are encoded using a memory efficient data structure when the biggest entry does not exceed a given threshold", + "param_id": 4, + "param_name": "hash-max-ziplist-value", + "param_value": "64", + "default_value": "64", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Lists are encoded using a memory efficient data structure when they have a small number of entries", + "param_id": 5, + "param_name": "list-max-ziplist-entries", + "param_value": "512", + "default_value": "512", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Lists are encoded using a memory efficient data structure when the biggest entry does not exceed a given threshold", + "param_id": 6, + "param_name": "list-max-ziplist-value", + "param_value": "64", + "default_value": "64", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "When a set is composed of just strings that happen to be integers in radix 10 in the range of 64 bit signed integers.", + "param_id": 7, + "param_name": "set-max-intset-entries", + "param_value": "512", + "default_value": "512", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Sorted sets are encoded using a memory efficient data structure when they have a small number of entries", + "param_id": 8, + "param_name": "zset-max-ziplist-entries", + "param_value": "128", + "default_value": "128", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Sorted sets are encoded using a memory efficient data structure when the biggest entry does not exceed a given threshold", + "param_id": 9, + "param_name": "zset-max-ziplist-value", + "param_value": "64", + "default_value": "64", + "value_type": "Interger", + "value_range": "1-10000" + }, + { + "description": "Close the connection after a client is idle for N seconds (0 to disable)", + "param_id": 1, + "param_name": "timeout", + "param_value": "0", + "default_value": "0", + "value_type": "Interger", + "value_range": "0-7200" + }, + { + "description": "Only events that run in more time than the configured latency-monitor-threshold will be logged as latency spikes. If latency-monitor-threshold is set to 0, latency monitoring is disabled. If latency-monitor-threshold is set to a value greater than 0, all events blocking the server for a time equal to or greater than the configured latency-monitor-threshold will be logged.", + "param_id": 10, + "param_name": "latency-monitor-threshold", + "param_value": "0", + "default_value": "0", + "value_type": "Interger", + "value_range": "0-86400000" + }, + { + "description": "The total memory, in bytes, reserved for non-data usage.", + "param_id": 12, + "param_name": "reserved-memory", + "param_value": "0", + "default_value": "0", + "value_type": "Interger", + "value_range": "0-6553" + }, + { + "description": "Redis can notify Pub or Sub clients about events happening in the key space", + "param_id": 13, + "param_name": "notify-keyspace-events", + "param_value": null, + "default_value": null, + "value_type": "regular", + "value_range": "([KE]+([A]|[g$lshzxe]+)){0,11}" + } + ], + "config_status": "SUCCESS", + "config_time": "" + } + +Status Code +----------- + +:ref:`Table 5 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312015__table1644239141218: + +.. table:: **Table 5** Status code + + =========== ============================================= + Status Code Description + =========== ============================================= + 200 Instance configurations queried successfully. + =========== ============================================= diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_restoration_records.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_restoration_records.rst new file mode 100644 index 0000000..dafa23f --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_restoration_records.rst @@ -0,0 +1,140 @@ +:original_name: dcs-api-0312023.html + +.. _dcs-api-0312023: + +Querying DCS Instance Restoration Records +========================================= + +Function +-------- + +This API is used to query the restoration records of a specified DCS instance. + +URI +--- + +GET /v1.0/{project_id}/instances/{instance_id}/restores?start={start}&limit={limit}&beginTime={beginTime}&endTime={endTime} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312023__table1899262913382: + +.. table:: **Table 1** Parameter description + + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=============+=========+===========+=======================================================================================================================================================================================================+ + | project_id | String | Yes | Project ID. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | Yes | DCS instance ID. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | start | Integer | No | Start sequence number of the restoration record to be queried. By default, this parameter is set to **1**. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | limit | Integer | No | Number of restoration records displayed on each page. The minimum value of this parameter is **1**. If this parameter is not specified, 10 restoration records are displayed on each page by default. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | beginTime | String | No | Start time of the period to be queried. Format: yyyyMMddHHmmss, for example, 20170718235959. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | endTime | String | No | End time of the period to be queried. Format: yyyyMMddHHmmss, for example, 20170718235959. | + +-------------+---------+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +None. + +**Example request** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/restores?start={start}&limit={limit}&beginTime={beginTime}&endTime={endTime} + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312023__table1861319576383: + +.. table:: **Table 2** Parameter description + + ======================= ======= ================================== + Parameter Type Description + ======================= ======= ================================== + restore_record_response Array Array of the restoration records. + total_num Integer Number of obtained backup records. + ======================= ======= ================================== + +.. table:: **Table 3** restore_record_response parameter description + + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+=================================================================================================================================================+ + | status | String | Restoration status | + | | | | + | | | - **waiting**: DCS instance restoration is waiting to begin. | + | | | - **restoring**: DCS instance restoration is in progress. | + | | | - **succeed**: DCS instance restoration succeeded. | + | | | - **failed**: DCS instance restoration failed. | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | progress | String | Restoration progress | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | restore_id | String | ID of the restoration record | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_id | String | ID of the backup record | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | restore_remark | String | Description of DCS instance restoration | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_remark | String | Description of DCS instance backup | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Time at which the restoration task is created | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | updated_at | String | Time at which DCS instance restoration completed | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | restore_name | String | Name of the restoration record | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | backup_name | String | Name of the backup record | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + | error_code | String | Error code returned if DCS instance restoration fails. For details about error codes, see :ref:`Table 4 `. | + +-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "restore_record_response": [ + { + "status": "succeed", + "progress": "100.00", + "restore_id": "a6155972-800c-4170-a479-3231e907d2f6", + "backup_id": "f4823e9e-fe9b-4ffd-be79-4e5d6de272bb", + "restore_remark": "doctest", + "backup_remark": null, + "created_at": "2017-07-18T21:41:20.721Z", + "updated_at": "2017-07-18T21:41:35.182Z", + "restore_name": "restore_20170718214120", + "backup_name": "backup_20170718000002", + "error_code": null + } + ], + "total_num": 1 + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312023__table486141410130: + +.. table:: **Table 4** Status code + + =========== ===================================================== + Status Code Description + =========== ===================================================== + 200 DCS instance restoration record queried successfully. + =========== ===================================================== diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_status.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_status.rst new file mode 100644 index 0000000..0e6065d --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_dcs_instance_status.rst @@ -0,0 +1,98 @@ +:original_name: dcs-api-0312016.html + +.. _dcs-api-0312016: + +Querying DCS Instance Status +============================ + +Function +-------- + +This API is used to query the number of instances in different states. + +URI +--- + +GET /v1.0/{project_id}/instances/status?includeFailure={includeFailure} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312016__table1624017336377: + +.. table:: **Table 1** Parameter description + + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=================+=================+=================+============================================================================================================================+ + | project_id | String | Yes | Project ID. | + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------+ + | includeFailure | String | No | An indicator of whether the number of DCS instances that failed to be created will be returned to the API caller. Options: | + | | | | | + | | | | - **true**: The number of DCS instances that failed to be created will be returned to the API caller. | + | | | | - **false** or others: The number of DCS instances that failed to be created will not be returned to the API caller. | + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +None. + +**Example request** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/status?includeFailure=true + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312016__table595111370375: + +.. table:: **Table 2** Parameter description + + ================== ======= ============================================= + Parameter Type Description + ================== ======= ============================================= + creating_count Integer Number of instances that are being created. + deleting_count Integer Number of instances that are being deleted. + running_count Integer Number of running instances. + error_count Integer Number of abnormal instances. + restarting_count Integer Number of instances that are being restarted. + createfailed_count Integer Number of instances that fail to be created. + extending_count Integer Number of instances that are being scaled up. + ================== ======= ============================================= + +**Example response** + +.. code-block:: + + { + "extending_count": 0, + "creating_count": 0, + "deleting_count": 0, + "running_count": 16, + "error_count": 0, + "restarting_count": 0, + "createfailed_count": 44 + } + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312016__table36591653133: + +.. table:: **Table 3** Status code + + +-------------+-------------------------------------------------------------------------+ + | Status Code | Description | + +=============+=========================================================================+ + | 200 | Quantities of DCS instances in different statuses queried successfully. | + +-------------+-------------------------------------------------------------------------+ diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_statistics_of_all_running_instances.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_statistics_of_all_running_instances.rst new file mode 100644 index 0000000..91310c0 --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/querying_statistics_of_all_running_instances.rst @@ -0,0 +1,140 @@ +:original_name: dcs-api-0312014.html + +.. _dcs-api-0312014: + +Querying Statistics of All Running Instances +============================================ + +Function +-------- + +This API is used to query the statistics of all DCS instances that are in the **Running** state. + +URI +--- + +GET /v1.0/{project_id}/instances/statistic + +:ref:`Table 1 ` describes the parameter. + +.. _dcs-api-0312014__table8593726183514: + +.. table:: **Table 1** Parameter description + + ========== ====== ========= =========== + Parameter Type Mandatory Description + ========== ====== ========= =========== + project_id String Yes Project ID + ========== ====== ========= =========== + +Request +------- + +**Request parameters** + +None. + +**Example request** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/statistic + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameter. + +.. _dcs-api-0312014__table254823012351: + +.. table:: **Table 2** Parameter description + + +------------+-------+---------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +============+=======+===========================================================================================================================+ + | statistics | Array | Statistics of all instances in the **Running** state. For details, see :ref:`Table 3 `. | + +------------+-------+---------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312014__table7914256164: + +.. table:: **Table 3** statistics parameter description + + ============= ======= ============================================= + Parameter Type Description + ============= ======= ============================================= + keys Integer Number of cached data records + instance_id String DCS instance ID + used_memory Integer Size of the used memory in MB + max_memory Integer Overall memory size in MB. + cmd_get_count Integer Number of times the GET command is run + cmd_set_count Integer Number of times the SET command is run + used_cpu String Percentage of CPU usage + input_kbps String Incoming traffic (kbit/s) of the DCS instance + output_kbps String Outgoing traffic (kbit/s) of the DCS instance + ============= ======= ============================================= + +**Example response** + +.. code-block:: + + { + "statistics" : [{ + "keys" : 0, + "instance_id" : "e008652d-18e0-43ff-924e-072261e0372a", + "used_memory" : 0, + "max_memory" : 460, + "cmd_get_count" : 0, + "cmd_set_count" : 0, + "used_cpu" : "0.0", + "input_kbps" : "0.0", + "output_kbps" : "0.0" + }, { + "keys" : 0, + "instance_id" : "c577a1eb-33b7-42c7-8231-ad32358599ac", + "used_memory" : 0, + "max_memory" : 460, + "cmd_get_count" : 0, + "cmd_set_count" : 0, + "used_cpu" : "0.0", + "input_kbps" : "0.0", + "output_kbps" : "0.0" + }, { + "keys" : 0, + "instance_id" : "e8b98471-55d5-4695-b0bb-8f336a98e207", + "used_memory" : 0, + "max_memory" : 460, + "cmd_get_count" : 0, + "cmd_set_count" : 0, + "used_cpu" : "0.0", + "input_kbps" : "0.03", + "output_kbps" : "1.19" + }, { + "keys" : 0, + "instance_id" : "bc61c690-4b34-4cbe-9ce3-11246aea7aba", + "used_memory" : 0, + "max_memory" : 6963, + "cmd_get_count" : 0, + "cmd_set_count" : 0, + "used_cpu" : "0.0", + "input_kbps" : "0.0", + "output_kbps" : "0.0" + } + ] + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312014__table63992308123: + +.. table:: **Table 4** Status code + + =========== ================================================= + Status Code Description + =========== ================================================= + 200 Statistics of all instances queried successfully. + =========== ================================================= diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/restarting_dcs_instances.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/restarting_dcs_instances.rst new file mode 100644 index 0000000..a26fd64 --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/restarting_dcs_instances.rst @@ -0,0 +1,117 @@ +:original_name: dcs-api-0312018.html + +.. _dcs-api-0312018: + +Restarting DCS Instances +======================== + +Function +-------- + +This API is used to restart a running DCS instance. + +URI +--- + +PUT /v1.0/{project_id}/instances/status + +:ref:`Table 1 ` describes the parameter. + +.. _dcs-api-0312018__table344154216371: + +.. table:: **Table 1** Parameter description + + ========== ====== ========= =========== + Parameter Type Mandatory Description + ========== ====== ========= =========== + project_id String Yes Project ID. + ========== ====== ========= =========== + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312018__table103786452372: + +.. table:: **Table 2** Parameter description + + +-----------+--------+-----------+--------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +===========+========+===========+========================================================+ + | action | String | Yes | Action performed on DCS instances. Value: **restart**. | + +-----------+--------+-----------+--------------------------------------------------------+ + | instances | Array | Yes | List of DCS instance IDs. | + +-----------+--------+-----------+--------------------------------------------------------+ + +**Example request** + +.. code-block:: text + + PUT https://{dcs_endpoint}/v1.0/{project_id}/instances/status + +.. code-block:: + + { + "action": "restart", + "instances": [ + "2e803f66-fbb0-47ad-b6cb-fb87f5bed4ef" + ] + } + +Response +-------- + +**Response parameters** + +:ref:`Table 3 ` describes the response parameter. + +.. _dcs-api-0312018__table52851943388: + +.. table:: **Table 3** Parameter description + + ========= ===== ============================================== + Parameter Type Description + ========= ===== ============================================== + results Array Indicates the result of instance modification. + ========= ===== ============================================== + +.. table:: **Table 4** results parameter description + + +-----------+--------+------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+========+==================================================================+ + | instance | String | DCS instance ID. | + +-----------+--------+------------------------------------------------------------------+ + | result | String | Instance modification result. Options: **success** or **failed** | + +-----------+--------+------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "results": [ + { + "result": "success", + "instance": "2e803f66-fbb0-47ad-b6cb-fb87f5bed4ef" + } + ] + } + +Status Code +----------- + +:ref:`Table 5 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312018__table1357115714126: + +.. table:: **Table 5** Status code + + =========== ======================================== + Status Code Description + =========== ======================================== + 200 Successfully restarted the DCS instance. + =========== ======================================== diff --git a/api-ref/source/apis_used_for_maintaining_dcs_instances/restoring_a_dcs_instance.rst b/api-ref/source/apis_used_for_maintaining_dcs_instances/restoring_a_dcs_instance.rst new file mode 100644 index 0000000..2e3520d --- /dev/null +++ b/api-ref/source/apis_used_for_maintaining_dcs_instances/restoring_a_dcs_instance.rst @@ -0,0 +1,104 @@ +:original_name: dcs-api-0312021.html + +.. _dcs-api-0312021: + +Restoring a DCS Instance +======================== + +Function +-------- + +This API is used to restore a specified DCS instance. + +.. note:: + + Only master/standby and cluster DCS instances can be backed up and restored, while single-node instances cannot. + +URI +--- + +POST /v1.0/{project_id}/instances/{instance_id}/restores + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312021__table1899262913382: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================ + Parameter Type Mandatory Description + =========== ====== ========= ================ + project_id String Yes Project ID. + instance_id String Yes DCS instance ID. + =========== ====== ========= ================ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312021__table153111335113816: + +.. table:: **Table 2** Parameter description + + ========= ====== ========= ======================================= + Parameter Type Mandatory Description + ========= ====== ========= ======================================= + remark String No Description of DCS instance restoration + backup_id String Yes ID of the backup record + ========= ====== ========= ======================================= + +**Example request** + +.. code-block:: text + + POST https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/restores + +.. code-block:: + + { + "remark":"restore instance", + "backup_id":"8ba256cb-e5ac-44f6-a3da-c03d8f0e5029" + } + +Response +-------- + +**Response parameters** + +:ref:`Table 3 ` describes the response parameter. + +.. _dcs-api-0312021__table1861319576383: + +.. table:: **Table 3** Parameter description + + ========== ====== ============================ + Parameter Type Description + ========== ====== ============================ + restore_id String ID of the restoration record + ========== ====== ============================ + +**Example response** + +.. code-block:: + + { + "restore_id": "a6155972-800c-4170-a479-3231e907d2f6" + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312021__table486141410130: + +.. table:: **Table 4** Status code + + =========== =================================== + Status Code Description + =========== =================================== + 200 DCS instance restored successfully. + =========== =================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/batch_deleting_dcs_instances.rst b/api-ref/source/apis_used_for_managing_dcs_instances/batch_deleting_dcs_instances.rst new file mode 100644 index 0000000..72fdc26 --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/batch_deleting_dcs_instances.rst @@ -0,0 +1,136 @@ +:original_name: dcs-api-0312009.html + +.. _dcs-api-0312009: + +Batch Deleting DCS Instances +============================ + +Function +-------- + +This API is used to delete multiple DCS instances at a time. + +URI +--- + +DELETE /v1.0/{project_id}/instances?allFailure={allFailure} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312009__table4154121820350: + +.. table:: **Table 1** Parameter description + + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=================+=================+=================+========================================================================================================================================+ + | project_id | String | Yes | Project ID. | + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------+ + | allFailure | String | No | An indicator of whether all DCS instances failed to be created will be deleted. Options: | + | | | | | + | | | | Options: | + | | | | | + | | | | - **true**: all instances that fail to be created are deleted. In this case, the **instances** parameter in the request can be empty. | + | | | | - **false** or other values: The DCS instances specified by the instances parameter in the API request will be deleted. | + +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312009__table166993107405: + +.. table:: **Table 2** Parameter description + + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=================+=================+=================+===============================================================================================================+ + | instances | Array | No | IDs of DCS instances to be deleted. | + | | | | | + | | | | This parameter is set only when the **allFailure** parameter in the URI is set to **false** or another value. | + | | | | | + | | | | A maximum of 50 instances can be deleted at a time. | + +-----------------+-----------------+-----------------+---------------------------------------------------------------------------------------------------------------+ + +**Request URL:** + +.. code-block:: text + + DELETE https://{dcs_endpoint}/v1.0/{project_id}/instances?allFailure={allFailure} + +Example request with **allFailure** set to **false**: + +.. code-block:: + + { + "instances": [ + "54602a9d-5e22-4239-9123-77e350df4a34", + "7166cdea-dbad-4d79-9610-7163e6f8b640" + ] + } + +Response +-------- + +**Response parameters** + +If the value of the **allFailure** parameter in the URI is **true**, all DCS instances that the tenant specified by **project_id** that failed to create are deleted and an empty response is then returned. If the value of the **allFailure** parameter in the URI is **false**, the DCS instances specified by the **instances** parameter in the API request are deleted and a response containing the parameter in :ref:`Table 3 ` is then returned. + +.. _dcs-api-0312009__table18935105020414: + +.. table:: **Table 3** Parameter description + + +-----------+-------+---------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+=======+=========================================================================================================+ + | results | Array | For details about how to delete an instance, see :ref:`Table 4 `. | + +-----------+-------+---------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312009__table69371750154117: + +.. table:: **Table 4** results parameter description + + +-----------+--------+---------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+========+===============================================================+ + | instance | String | DCS instance ID. | + +-----------+--------+---------------------------------------------------------------+ + | result | String | Instance deletion result. Options: **success** and **failed** | + +-----------+--------+---------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "results": [ + { + "instance": "54602a9d-5e22-4239-9123-77e350df4a34", + "result": "success" + }, + { + "instance": "7166cdea-dbad-4d79-9610-7163e6f8b640", + "result": "success" + } + ] + } + +Status Code +----------- + +:ref:`Table 5 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312009__table8301101911215: + +.. table:: **Table 5** Status codes + + +-------------+-------------------------------------------------------------------+ + | Status Code | Description | + +=============+===================================================================+ + | 200 | DCS instances deleted successfully. | + +-------------+-------------------------------------------------------------------+ + | 204 | DCS instances that failed to be created are cleared successfully. | + +-------------+-------------------------------------------------------------------+ diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/creating_a_dcs_instance.rst b/api-ref/source/apis_used_for_managing_dcs_instances/creating_a_dcs_instance.rst new file mode 100644 index 0000000..5af7f07 --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/creating_a_dcs_instance.rst @@ -0,0 +1,283 @@ +:original_name: dcs-api-0312004.html + +.. _dcs-api-0312004: + +Creating a DCS Instance +======================= + +Function +-------- + +This API is used to create a DCS instance. + +URI +--- + +POST /v1.0/{project_id}/instances + +:ref:`Table 1 ` describes the parameter. + +.. _dcs-api-0312004__table9695164612327: + +.. table:: **Table 1** Parameter description + + +------------+--------+-----------+----------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +============+========+===========+============================================================================================================================+ + | project_id | String | Yes | Project ID. For details on how to obtain the value of this parameter, see :ref:`Obtaining a Project ID `. | + +------------+--------+-----------+----------------------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312004__table56761820495: + +.. table:: **Table 2** Parameter description + + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +========================+=================+=================+==========================================================================================================================================================================================================================================================================================+ + | name | String | Yes | DCS instance name. | + | | | | | + | | | | An instance name can contain 4 to 64 characters, including letters, digits, underscores (_), and hyphens (-), and must start with a letter. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | No | Brief description of the DCS instance. | + | | | | | + | | | | The description supports up to 1,024 characters. | + | | | | | + | | | | .. note:: | + | | | | | + | | | | The backslash (\\) and quotation mark (") are special characters for JSON messages. When using these characters in a parameter value, add the escape character (\\) before the characters, for example, **\\\\** and **\\"**. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine | String | Yes | Cache engine. Value: **Redis**. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine_version | String | Yes | Cache engine version. Value: **3.0**. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | capacity | Integer | Yes | Cache capacity. Unit: GB. | + | | | | | + | | | | For a single-node or master/standby DCS instance, the value can be **2**, **4**, **8**, **16**, **32**, or **64**. For a cluster DCS instance, the value can be **64**, **128**, **256**, or **512**. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | password | String | Yes | Password of a DCS instance. | + | | | | | + | | | | The password of a DCS Redis instance must meet the following complexity requirements: | + | | | | | + | | | | - Must be a string consisting of 8 to 32 characters. | + | | | | - Must be different from the old password. | + | | | | - Contains at least three of the following character types: | + | | | | | + | | | | - Lowercase letters | + | | | | - Uppercase letters | + | | | | - Digits | + | | | | - Special characters (:literal:`\`~!@#$%^&*()-_=+\\|[{}]:'",<.>/?`) | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_id | String | Yes | VPC ID. | + | | | | | + | | | | Obtain the value by using either of the following methods: | + | | | | | + | | | | - Method 1: Log in to VPC console and view the VPC ID in the VPC details. | + | | | | - Method 2: Call the API for querying VPCs. For details, see the "Querying VPCs" section in the *Virtual Private Cloud API Reference*. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | security_group_id | String | Yes | ID of the security group which the instance belongs to. | + | | | | | + | | | | Obtain the value by using either of the following methods: | + | | | | | + | | | | - Method 1: Log in to VPC console. Choose **Access Control** > **Security Groups** in the navigation pane on the left. On the displayed page, click the target security group. You can view the security group ID on the displayed page. | + | | | | - Method 2: Call the API for querying security groups. For details, see the "Querying Security Groups" section in the *Virtual Private Cloud API Reference*. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | subnet_id | String | Yes | Network ID of the subnet. | + | | | | | + | | | | Obtain the value by using either of the following methods: | + | | | | | + | | | | - Method 1: Log in to VPC console and click the target subnet on the **Subnets** tab page. You can view the network ID on the displayed page. | + | | | | - Method 2: Call the API for querying subnets. For details, see the "Querying Subnets" section in the *Virtual Private Cloud API Reference*. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | available_zones | Array | Yes | ID of the AZ where the cache node resides and which has available resources. For details on how to obtain the value, see :ref:`Querying AZ Information `. Check whether the AZ has available resources. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | product_id | String | Yes | ID of the product that can be created. For details, see :ref:`Querying Service Specifications `. | + | | | | | + | | | | Options: | + | | | | | + | | | | - **OTC_DCS_SINGLE**: indicates a single-node DCS instance. | + | | | | - **OTC_DCS_MS**: indicates a master/standby-node DCS instance. | + | | | | - **OTC_DCS_CL**: indicates a cluster DCS instance. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_backup_policy | JSON | No | Backup policy. | + | | | | | + | | | | This parameter is available for master/standby DCS instances. For details, see :ref:`Table 3 ` and :ref:`Table 4 `. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_begin | String | No | Time at which the maintenance time window starts. | + | | | | | + | | | | Format: HH:mm:ss. | + | | | | | + | | | | - The start time and end time of the maintenance time window must indicate the time segment of a supported maintenance time window. For details on how to query the time segments of supported maintenance time windows, see :ref:`Querying Maintenance Time Window `. | + | | | | - The start time must be set to 22:00:00, 02:00:00, 06:00:00, 10:00:00, 14:00:00, or 18:00: 00. | + | | | | - Parameters **maintain_begin** and **maintain_end** must be set in pairs. If parameter **maintain_start** is left blank, parameter **maintain_end** is also blank. In this case, the system automatically set the start time to 02:00:00. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_end | String | No | Time at which the maintenance time window ends. | + | | | | | + | | | | Format: HH:mm:ss. | + | | | | | + | | | | - The start time and end time of the maintenance time window must indicate the time segment of a supported maintenance time window. For details on how to query the time segments of supported maintenance time windows, see :ref:`Querying Maintenance Time Window `. | + | | | | | + | | | | - The end time is four hours later than the start time. For example, if the start time is 22:00:00, the end time is 02:00:00. | + | | | | - Parameters **maintain_begin** and **maintain_end** must be set in pairs. If parameter **maintain_end** is left blank, parameter **maintain_start** is also blank. In this case, the system automatically set the end time to 06:00:00. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312004__table12803218151513: + +.. table:: **Table 3** instance_backup_policy parameter description + + +------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +========================+=================+=================+=======================================================================================+ + | save_days | Integer | No | This parameter is mandatory when **backup_type** is set to **manual**. | + | | | | | + | | | | Retention period. | + | | | | | + | | | | Unit: day. | + | | | | | + | | | | Value range: 1-7. | + +------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------+ + | backup_type | String | No | Backup type. | + | | | | | + | | | | Options: | + | | | | | + | | | | - **auto**: automatic backup. | + | | | | - **manual**: manual backup. | + | | | | | + | | | | The default value is **manual**. | + +------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------+ + | periodical_backup_plan | JSON | Yes | Backup plan. For details, see :ref:`Table 4 `. | + +------------------------+-----------------+-----------------+---------------------------------------------------------------------------------------+ + +.. _dcs-api-0312004__table187492037201518: + +.. table:: **Table 4** periodical_backup_plan parameter description + + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=================+=================+=================+======================================================================================================================================+ + | begin_at | String | Yes | Time at which backup starts. | + | | | | | + | | | | "00:00-01:00" indicates that backup starts at 00:00:00. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | period_type | String | Yes | Interval at which backup is performed. | + | | | | | + | | | | Currently, only weekly backup is supported. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | backup_at | Array | Yes | Day in a week on which backup starts. | + | | | | | + | | | | Value range: 1-7, where **1** indicates Monday and **7** indicates Sunday. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | timezone_offset | String | No | Time zone in which backup is performed. | + | | | | | + | | | | Value range: GMT-12:00 to GMT+12:00. If this parameter is left blank, the current time zone of the DCS-Server VM is used by default. | + +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------+ + +Example request + +Request URL: + +.. code-block:: text + + POST https://{dcs_endpoint}/v1.0/{project_id}/instances + +- Example: + + .. code-block:: + + { + "name": "dcs-a11e", + "description": "Create a instance", + "engine": "Redis", + "engine_version": "3.0", + "capacity": 2, + "password": "XXXXXX", + "vpc_id": "27d99e17-42f2-4751-818f-5c8c6c03ff15", + "security_group_id": "1477393a-29c9-4de5-843f-18ef51257c7e", + "subnet_id": "ec2f34b9-20eb-4872-85bd-bea9fc943128", + "available_zones": ["ae04cf9d61544df3806a3feeb401b204","d573142f24894ef3bd3664de068b44b0"], + "product_id": "XXXXXX", + "instance_backup_policy": { + "save_days": 1, + "backup_type": "auto", + "periodical_backup_plan": { + "begin_at": "00:00-01:00", + "period_type": "weekly", + "backup_at": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + } + }, + "maintain_begin": "22:00:00", + "maintain_end": "02:00:00" + } + +Response +-------- + +**Response parameters** + +:ref:`Table 5 ` describes the response parameters. + +.. _dcs-api-0312004__table079510368334: + +.. table:: **Table 5** Parameter description + + +-------------+--------+------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=============+========+==========================================================================================+ + | instance_id | String | DCS instance ID. | + +-------------+--------+------------------------------------------------------------------------------------------+ + | instances | JSON | DCS instance list. For details, see :ref:`Table 6 `. | + +-------------+--------+------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312004__table128250386224: + +.. table:: **Table 6** Parameter description of the instances array + + ============= ====== ================== + Parameter Type Description + ============= ====== ================== + instance_id String DCS instance ID. + instance_name String DCS instance name. + ============= ====== ================== + +**Example response** + +.. code-block:: + + { + "instances": [ + { + "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f", + "instance_name": "dcs-test005" + } + ], + "instance_id": "3c49fd6b-fc7c-419e-9644-b6cce008653f" + } + +Status Code +----------- + +:ref:`Table 7 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312004__table217814394526: + +.. table:: **Table 7** Status code + + =========== ================================== + Status Code Description + =========== ================================== + 200 DCS instance created successfully. + =========== ================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/deleting_a_single_dcs_instance.rst b/api-ref/source/apis_used_for_managing_dcs_instances/deleting_a_single_dcs_instance.rst new file mode 100644 index 0000000..cf11bfc --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/deleting_a_single_dcs_instance.rst @@ -0,0 +1,70 @@ +:original_name: dcs-api-0312008.html + +.. _dcs-api-0312008: + +Deleting a Single DCS Instance +============================== + +Function +-------- + +This API is used to delete a specified DCS instance to free up all resources occupied by the DCS instance. + +URI +--- + +DELETE /v1.0/{project_id}/instances/{instance_id} + +:ref:`Table 1 ` describes the parameter. + +.. _dcs-api-0312008__table4154121820350: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= =============== + Parameter Type Mandatory Description + =========== ====== ========= =============== + project_id String Yes Project ID + instance_id String Yes DCS instance ID + =========== ====== ========= =============== + +Request +------- + +**Request parameters** + +None. + +**Example request** + +Request URL: + +.. code-block:: text + + DELETE https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id} + +Response +-------- + +**Response parameters** + +None. + +**Example response** + +None. + +Status Code +----------- + +:ref:`Table 2 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312008__table8301101911215: + +.. table:: **Table 2** Status code + + =========== =================================== + Status Code Description + =========== =================================== + 204 DCS instances deleted successfully. + =========== =================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/index.rst b/api-ref/source/apis_used_for_managing_dcs_instances/index.rst new file mode 100644 index 0000000..d59327c --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/index.rst @@ -0,0 +1,26 @@ +:original_name: dcs-api-0312003.html + +.. _dcs-api-0312003: + +APIs Used for Managing DCS Instances +==================================== + +- :ref:`Creating a DCS Instance ` +- :ref:`Querying a DCS Instance ` +- :ref:`Querying All DCS Instances of a Tenant ` +- :ref:`Modifying Information About a DCS Instance ` +- :ref:`Deleting a Single DCS Instance ` +- :ref:`Batch Deleting DCS Instances ` +- :ref:`Scaling Up a DCS Instance ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + creating_a_dcs_instance + querying_a_dcs_instance + querying_all_dcs_instances_of_a_tenant + modifying_information_about_a_dcs_instance + deleting_a_single_dcs_instance + batch_deleting_dcs_instances + scaling_up_a_dcs_instance diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/modifying_information_about_a_dcs_instance.rst b/api-ref/source/apis_used_for_managing_dcs_instances/modifying_information_about_a_dcs_instance.rst new file mode 100644 index 0000000..9be6189 --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/modifying_information_about_a_dcs_instance.rst @@ -0,0 +1,151 @@ +:original_name: dcs-api-0312007.html + +.. _dcs-api-0312007: + +Modifying Information About a DCS Instance +========================================== + +Function +-------- + +This API is used to modify the information about a DCS instance, including the instance name, description, backup policy, start and end time of the maintenance window, and security group. + +**URI** +------- + +PUT /v1.0/{project_id}/instances/{instance_id} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312007__table938420556341: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ================ + Parameter Type Mandatory Description + =========== ====== ========= ================ + project_id String Yes Project ID. + instance_id String Yes DCS instance ID. + =========== ====== ========= ================ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312007__table785213273513: + +.. table:: **Table 2** Parameter description + + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +========================+=================+=================+==========================================================================================================================================================================================================================================================================================+ + | name | String | No | DCS instance name. | + | | | | | + | | | | An instance name can contain 4 to 64 characters, including letters, digits, underscores (_), and hyphens (-), and must start with a letter. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | No | Brief description of the DCS instance. | + | | | | | + | | | | A brief description supports up to 1024 characters. | + | | | | | + | | | | .. note:: | + | | | | | + | | | | "\\" is defined as an escape character in the queue description. If you need to enter a backward slash (\\) or a double quotation mark (") in the queue description, enter **\\\\** or **\\"**. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_backup_policy | JSON | No | Backup policy. | + | | | | | + | | | | This parameter is available for master/standby and cluster DCS instances. For details, see :ref:`Table 3 ` and :ref:`Table 4 `. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_begin | String | No | Time at which the maintenance time window starts. | + | | | | | + | | | | Format: HH:mm:ss. | + | | | | | + | | | | - The start time and end time of the maintenance time window must indicate the time segment of a supported maintenance time window. For details on how to query the time segments of supported maintenance time windows, see :ref:`Querying Maintenance Time Window `. | + | | | | - The start time must be set to 22:00:00, 02:00:00, 06:00:00, 10:00:00, 14:00:00, or 18:00: 00. | + | | | | - Parameters **maintain_begin** and **maintain_end** must be set in pairs. If parameter **maintain_begin** is left blank, parameter **maintain_end** is also blank. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_end | String | No | Time at which the maintenance time window ends. | + | | | | | + | | | | Format: HH:mm:ss. | + | | | | | + | | | | - The start time and end time of the maintenance time window must indicate the time segment of a supported maintenance time window. For details on how to query the time segments of supported maintenance time windows, see :ref:`Querying Maintenance Time Window `. | + | | | | | + | | | | - The end time is four hours later than the start time. For example, if the start time is 22:00:00, the end time is 02:00:00. | + | | | | - Parameters **maintain_begin** and **maintain_end** must be set in pairs. If parameter **maintain_end** is left blank, parameter **maintain_start** is also blank. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | security_group_id | String | No | Security group ID. | + | | | | | + | | | | The value can be obtained from the VPC console or the API. | + +------------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**Example request** + +Request URL: + +.. code-block:: text + + PUT https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id} + +- Example 1 + + .. code-block:: + + { + "description": "instance description" + } + +- Example 2 + + .. code-block:: + + { + "name": "dcs002", + "description": "instance description", + "instance_backup_policy": { + "backup_type": "auto", + "save_days": 1, + "periodical_backup_plan": { + "begin_at": "00:00-01:00", + "period_type": "weekly", + "backup_at": [ + "1", + "2", + "3", + "4", + "6", + "7" + ] + } + }, + "security_group_id": "18e9309f-f81a-4749-bb21-f74576292162", + "maintain_begin": "02:00:00", + "maintain_end": "06:00:00" + } + +Response +-------- + +**Response parameters** + +None. + +**Example response** + +None. + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312007__table1475915181216: + +.. table:: **Table 3** Status code + + =========== =================================== + Status Code Description + =========== =================================== + 204 DCS instance modified successfully. + =========== =================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/querying_a_dcs_instance.rst b/api-ref/source/apis_used_for_managing_dcs_instances/querying_a_dcs_instance.rst new file mode 100644 index 0000000..5107615 --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/querying_a_dcs_instance.rst @@ -0,0 +1,243 @@ +:original_name: dcs-api-0312005.html + +.. _dcs-api-0312005: + +Querying a DCS Instance +======================= + +Function +-------- + +This API is used to query the details about a specified DCS instance. + +URI +--- + +GET /v1.0/{project_id}/instances/{instance_id} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312005__table374812348341: + +.. table:: **Table 1** Parameter description + + +-------------+--------+-----------+----------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +=============+========+===========+================================================================================================================+ + | project_id | String | Yes | For details on how to obtain the value of this parameter, see :ref:`Obtaining a Project ID `. | + +-------------+--------+-----------+----------------------------------------------------------------------------------------------------------------+ + | instance_id | String | Yes | ID of the instance to be queried | + +-------------+--------+-----------+----------------------------------------------------------------------------------------------------------------+ + +Request +------- + +**Request parameters** + +None. + +**Example request** + +Request URL: + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id} + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312005__table1257921310816: + +.. table:: **Table 2** Parameter description + + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +========================+=======================+==============================================================================================================================================================================================================+ + | name | String | DCS instance name. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine | String | DCS instance engine. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | capacity | Integer | DCS instance cache capacity. Unit: GB. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | ip | String | IP address for connecting to the DCS instance. For a cluster instance, multiple IP addresses are returned and separated by commas (,). For example, **192.168.0.1,192.168.0.2**. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | port | Integer | Port number of the cache node. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | status | String | Cache instance status. For details about status, see :ref:`DCS Instance Statuses `. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | description | String | Brief description of the DCS instance. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_memory | Integer | Total memory size. | + | | | | + | | | Unit: MB. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | used_memory | Integer | Size of the used memory. | + | | | | + | | | Unit: MB. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | DCS instance ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_spec_code | String | Resource specifications. | + | | | | + | | | - **dcs.single_node**: indicates a DCS instance in single-node mode. | + | | | - **dcs.master_standby**: indicates a DCS instance in master/standby mode. | + | | | - **dcs.cluster**: indicates a DCS instance in cluster mode. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine_version | String | Cache engine version. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | internal_version | String | Internal DCS version. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | charging_mode | Integer | Billing mode. **0**: pay-per-use. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_id | String | VPC ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_name | String | VPC name. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Time at which the DCS instance is created. | + | | | | + | | | For example, 2017-03-31\ **T**\ 12:24:46.297\ **Z**. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | error_code | String | Error code returned when the DCS instance fails to be created or is in abnormal status. | + | | | | + | | | For details about error codes, see :ref:`Table 3 `. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | user_id | String | User ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | user_name | String | Username. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_begin | String | Time at which the maintenance time window starts. | + | | | | + | | | Format: HH:mm:ss. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_end | String | Time at which the maintenance time window ends. | + | | | | + | | | Format: HH:mm:ss. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | available_zones | Array | AZ where a cache node resides. The value of this parameter in the response contains an AZ ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | subnet_id | String | Subnet ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | security_group_id | String | Security group ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | backend_addrs | String | Backend address of a cluster instance. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | product_id | String | Product ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | security_group_name | String | Security group name. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | subnet_name | String | Subnet name. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | subnet_cidr | String | Subnet segment. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | order_id | String | Order ID. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_backup_policy | JSON | Backup policy. | + | | | | + | | | This parameter is available for master/standby and cluster DCS instances. For details, see :ref:`Table 3 ` and :ref:`Table 4 `. | + +------------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312005__table691509456: + +.. table:: **Table 3** Error codes + + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | Error Code | Description | + +=============+======================================================================================================================+ + | dcs.00.0007 | System error. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.01.0001 | Internal service error. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.01.0002 | Internal service error. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.01.0003 | Internal service error. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.02.0001 | Failed to create VPC. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.02.0002 | Failed to create VPC. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.02.0003 | Failed to create security group. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.02.0004 | Failed to create subnet. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.02.0005 | Subnet status abnormal. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0001 | Failed to create ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0002 | Failed to create ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0003 | Failed to create ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0004 | Failed to create ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0005 | Failed to bind NIC to the ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0007 | Failed to start ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0008 | Failed to start ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0009 | Failed to stop ECS. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.03.0017 | Some nodes of the instance are faulty. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.04.0002 | Failed to deploy the instance. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.04.0003 | Failed to connect to the instance. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + | dcs.04.0004 | Both cache nodes are in the master state. A network connection error may occur between the master and standby nodes. | + +-------------+----------------------------------------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "name" : "dcs-a11e", + "engine" : "Redis", + "capacity" : 2, + "ip" : "192.168.3.100", + "port" : 6379, + "status" : "RUNNING", + "description" : "Create a instance", + "instance_id" : "68d5745e-6af2-40e4-945d-fe449be00148", + "resource_spec_code" : "dcs.single_node", + "engine_version" : "3.0", + "internal_version" : null, + "charging_mode" : 0, + "vpc_id" : "27d99e17-42f2-4751-818f-5c8c6c03ff15", + "vpc_name" : "vpc_4944a40e-ac57-4f08-9d38-9786e2759458_192", + "created_at" : "2017-03-31T12:24:46.297Z", + "error_code" : null, + "product_id" : "XXXXXX", + "security_group_id" : "60ea2db8-1a51-4ab6-9e11-65b418c24583", + "security_group_name" : "sg_6379_4944a40e-ac57-4f08-9d38-9786e2759458", + "subnet_id" : "ec2f34b9-20eb-4872-85bd-bea9fc943128", + "subnet_name" : "subnet_az_7f336767-10ec-48a5-9ae8-9cacde119318", + "available_zones" : "XXXXXX", + "max_memory" : 460, + "used_memory" : 56, + "user_id": "6d0977e4c9b74ae7b5a083a8d0d8fafa", + "user_name": "liutao02", + "order_id": "XXXXXXXXX", + "maintain_begin" : "22:00:00", + "maintain_end" : "02:00:00" + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312005__table183731131183: + +.. table:: **Table 4** Status code + + =========== ======================================== + Status Code Description + =========== ======================================== + 200 Specified instance queried successfully. + =========== ======================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/querying_all_dcs_instances_of_a_tenant.rst b/api-ref/source/apis_used_for_managing_dcs_instances/querying_all_dcs_instances_of_a_tenant.rst new file mode 100644 index 0000000..c701aee --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/querying_all_dcs_instances_of_a_tenant.rst @@ -0,0 +1,209 @@ +:original_name: dcs-api-0312006.html + +.. _dcs-api-0312006: + +Querying All DCS Instances of a Tenant +====================================== + +Function +-------- + +This API is used to query DCS instances of a tenant, and allows you to specify query criteria. + +URI +--- + +GET /v1.0/{project_id}/instances?start={start}&limit={limit}&name={name}&status={status}&id={id}&includeFailure={includeFailure}&isExactMatchName={isExactMatchName} + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312006__table1971216413394: + +.. table:: **Table 1** Parameter description + + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +==================+=================+=================+=======================================================================================================================+ + | project_id | String | Yes | Project ID. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | start | Integer | No | Start number for querying DCS instances. It cannot be lower than 1. | + | | | | | + | | | | By default, the start number is 1. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | limit | Integer | No | Number of DCS instances displayed on each page. | + | | | | | + | | | | Minimum value: **1** | + | | | | | + | | | | Maximum value: **2000** | + | | | | | + | | | | If this parameter is left unspecified, a maximum of 1,000 DCS instances are displayed on each page. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | name | String | No | DCS instance name. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | id | String | No | Instance ID. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | status | String | No | DCS instance status. For details about status, see :ref:`DCS Instance Statuses `. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | includeFailure | String | No | An indicator of whether the number of DCS instances that failed to be created will be returned to the API caller. | + | | | | | + | | | | Options: | + | | | | | + | | | | - **true**: The number of DCS instances that failed to be created will be returned to the API caller. | + | | | | - **false** or others: The number of DCS instances that failed to be created will not be returned to the API caller. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + | isExactMatchName | String | No | An indicator of whether to perform an exact or fuzzy match based on instance name. | + | | | | | + | | | | Options: | + | | | | | + | | | | - **true**: exact match | + | | | | - **false**: fuzzy match | + | | | | | + | | | | Default value: **false**. | + +------------------+-----------------+-----------------+-----------------------------------------------------------------------------------------------------------------------+ + +**Example** + +.. code-block:: text + + GET https://{dcs_endpoint}/v1.0/bd6b78e2ff9e4e47bc260803ddcc7a21/instances?start=1&limit=10&name=&status=&id=&includeFailure=true&isExactMatchName=false + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312006__table189371511113913: + +.. table:: **Table 2** Parameter description + + ============ ======= ============================== + Parameter Type Description + ============ ======= ============================== + instances Array Array of DCS instance details. + instance_num Integer Number of DCS instances. + ============ ======= ============================== + +.. table:: **Table 3** Parameter description of the instance array + + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+==================================================================================================================================================================================+ + | name | String | DCS instance name. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine | String | Cache engine. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | capacity | Integer | Cache capacity. | + | | | | + | | | Unit: GB. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | ip | String | IP address for connecting to the DCS instance. For a cluster instance, multiple IP addresses are returned and separated by commas (,). For example, **192.168.0.1,192.168.0.2**. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | port | Integer | Port number of the cache node. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | status | String | Cache instance status. For details about status, see :ref:`DCS Instance Statuses `. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_memory | Integer | Overall memory size. | + | | | | + | | | Unit: MB. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | used_memory | Integer | Size of the used memory. | + | | | | + | | | Unit: MB. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | instance_id | String | DCS instance ID. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | resource_spec_code | String | Resource specifications. | + | | | | + | | | - **dcs.single_node**: indicates a DCS instance in single-node mode. | + | | | - **dcs.master_standby**: indicates a DCS instance in master/standby mode. | + | | | - **dcs.cluster**: indicates a DCS instance in cluster mode. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | engine_version | String | Cache engine version. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | internal_version | String | Internal DCS version. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | charging_mode | Integer | Billing mode. **0**: pay-per-use. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | capacity_minor | String | Small-scale cache capacity. Unit: GB. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_id | String | VPC ID. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | vpc_name | String | VPC name. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | created_at | String | Time at which the DCS instance is created. For example, 2017-03-31\ **T**\ 12:24:46.297\ **Z**. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | error_code | String | Error code returned when the DCS instance fails to be created or is in abnormal status. For details about error codes, see :ref:`Table 3 `. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | user_id | String | User ID. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | user_name | String | Username. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_begin | String | Time at which the maintenance time window starts. Format: HH:mm:ss. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | maintain_end | String | Time at which the maintenance time window ends. Format: HH:mm:ss. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | security_group_id | String | Security group name. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "instances": [ + { + "name": "dcs-lxy", + "engine": "Redis", + "capacity": 4, + "ip": "192.168.7.146", + + "port": 6379, + "status": "CREATING", + "max_memory": 3277, + "used_memory": 0, + "instance_id": "a4d31cb6-3d72-4fdc-8ec9-6e3a41e47f71", + "resource_spec_code": "dcs.master_standby", + "engine_version": "3.0", + "internal_version": null, + "charging_mode": 0, + "capacity_minor": null, + "vpc_id": "c71d9731-9b0c-43e9-ab2a-716af9d9fd55", + "vpc_name": "CCE-AutoCreate-VPC-7qvs1", + "created_at": "2019-09-23T02:40:06.123Z", + "error_code": null, + "user_id": "50a4156d334a4a82b8745dc730dc1e00", + "user_name": "hwstaff_f00443635", + "maintain_begin": "02:00:00", + "maintain_end": "06:00:00", + "security_group_id": "0cc8fdb7-872a-49da-a062-88ccc39463b5" + }], + "instance_num": 1 + } + +Status Code +----------- + +:ref:`Table 4 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312006__table3445625171318: + +.. table:: **Table 4** Status code + + =========== ===================================================== + Status Code Description + =========== ===================================================== + 200 All DCS instances of the tenant queried successfully. + =========== ===================================================== diff --git a/api-ref/source/apis_used_for_managing_dcs_instances/scaling_up_a_dcs_instance.rst b/api-ref/source/apis_used_for_managing_dcs_instances/scaling_up_a_dcs_instance.rst new file mode 100644 index 0000000..c2be982 --- /dev/null +++ b/api-ref/source/apis_used_for_managing_dcs_instances/scaling_up_a_dcs_instance.rst @@ -0,0 +1,84 @@ +:original_name: dcs-api-0312010.html + +.. _dcs-api-0312010: + +Scaling Up a DCS Instance +========================= + +Function +-------- + +This API is used to scale up a DCS Redis instance in the **Running** state. + +URI +--- + +POST /v1.0/{project_id}/instances/{instance_id}/extend + +:ref:`Table 1 ` describes the parameters. + +.. _dcs-api-0312010__table4154121820350: + +.. table:: **Table 1** Parameter description + + =========== ====== ========= ============ + Parameter Type Mandatory Description + =========== ====== ========= ============ + project_id String Yes Project ID. + instance_id String Yes Instance ID. + =========== ====== ========= ============ + +Request +------- + +**Request parameters** + +:ref:`Table 2 ` describes the request parameters. + +.. _dcs-api-0312010__table166993107405: + +.. table:: **Table 2** Parameter description + + +--------------+---------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +==============+=========+===========+===================================================================================================================================================================================+ + | new_capacity | Integer | Yes | New specification (memory space) of the DCS instance. The new specification to which the DCS instance will be scaled up must be greater than the current specification. Unit: GB. | + +--------------+---------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**Example request** + +.. code-block:: text + + POST https://{dcs_endpoint}/v1.0/{project_id}/instances/{instance_id}/extend + +.. code-block:: + + { + "new_capacity": 4 + } + +Response +-------- + +**Response parameters** + +None. + +**Example response** + +None. + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312010__table8301101911215: + +.. table:: **Table 3** Status code + + =========== ==================================== + Status Code Description + =========== ==================================== + 204 DCS instance scaled up successfully. + =========== ==================================== diff --git a/api-ref/source/apis_used_for_tenant_management/index.rst b/api-ref/source/apis_used_for_tenant_management/index.rst new file mode 100644 index 0000000..875ff83 --- /dev/null +++ b/api-ref/source/apis_used_for_tenant_management/index.rst @@ -0,0 +1,14 @@ +:original_name: dcs-api-0312035.html + +.. _dcs-api-0312035: + +APIs Used for Tenant Management +=============================== + +- :ref:`Querying the Quota of a Tenant ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_the_quota_of_a_tenant diff --git a/api-ref/source/apis_used_for_tenant_management/querying_the_quota_of_a_tenant.rst b/api-ref/source/apis_used_for_tenant_management/querying_the_quota_of_a_tenant.rst new file mode 100644 index 0000000..d51d45c --- /dev/null +++ b/api-ref/source/apis_used_for_tenant_management/querying_the_quota_of_a_tenant.rst @@ -0,0 +1,153 @@ +:original_name: dcs-api-0312036.html + +.. _dcs-api-0312036: + +Querying the Quota of a Tenant +============================== + +Function +-------- + +This API is used to query the default instance quota and total memory quota of a tenant and the maximum and minimum quotas a tenant can apply for. Different tenants have different quotas in different regions. + +URI +--- + +GET /v1.0/{project_id}/quota + +:ref:`Table 1 ` describes the parameter. + +.. _dcs-api-0312036__table13653920143919: + +.. table:: **Table 1** Parameter description + + ========== ====== ========= =========== + Parameter Type Mandatory Description + ========== ====== ========= =========== + project_id String Yes Project ID + ========== ====== ========= =========== + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 2 ` describes the response parameters. + +.. _dcs-api-0312036__table114165246391: + +.. table:: **Table 2** Parameter description + + +-----------+------+-----------+-------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +===========+======+===========+===========================================================================================+ + | quotas | JSON | Yes | Quota information. For details, see :ref:`Table 3 `. | + +-----------+------+-----------+-------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312036__table1341618240392: + +.. table:: **Table 3** quotas parameter description + + +---------------+-------+-----------+------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +===============+=======+===========+============================================================================================================+ + | resources | Array | Yes | List of quotas For details, see :ref:`Table 4 `. | + +---------------+-------+-----------+------------------------------------------------------------------------------------------------------------+ + | resource_user | JSON | Yes | Information about a resource tenant For details, see :ref:`Table 5 `. | + +---------------+-------+-----------+------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312036__table164180248392: + +.. table:: **Table 4** resources parameter description + + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+========================================================================================+ + | quota | Integer | Maximum number of instances that can be created and maximum allowed total memory. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | used | Integer | Number of created instances and used memory. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | type | String | Values: | + | | | | + | | | - **instances**: indicates the instance quota. | + | | | - **ram**: indicates the memory quota. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | unit | String | Resource unit. | + | | | | + | | | - When **type** is set to **instance**, no value is returned. | + | | | - When **type** is set to **ram**, **GB** is returned. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | max | Integer | - Indicates the maximum limit of instance quota when **type** is set to **instance**. | + | | | - Indicates the maximum limit of memory quota when **type** is set to **ram**. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + | min | Integer | - Indicates the minimum limit of instance quota when **type** is set to **instance**. | + | | | - Indicates the minimum limit of memory quota when **type** is set to **ram**. | + +-----------------------+-----------------------+----------------------------------------------------------------------------------------+ + +.. _dcs-api-0312036__table1641811248397: + +.. table:: **Table 5** resource_user parameter description + + =========== ======= ==================== + Parameter Type Description + =========== ======= ==================== + tenant_id String Resource tenant ID + tenant_name Integer Resource tenant name + =========== ======= ==================== + +**Example response** + +.. code-block:: + + { + "quotas": { + "resources": [ + { + "quota": 10, + "used": 3, + "type": "instance", + "min": 1, + "max": 10, + "unit": null + }, + { + "quota": 800, + "used": 22, + "type": "ram", + "min": 1, + "max": 800, + "unit": "GB" + } + ], + "resource_user": { + "tenant_id": "836152f9838a44089f40f3cf6fd432bf", + "tenant_name": "op_svc_dcs_003" + } + } + } + +Status Code +----------- + +:ref:`Table 6 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312036__table597043515135: + +.. table:: **Table 6** Status code + + =========== ================================== + Status Code Description + =========== ================================== + 200 Tenant quota queried successfully. + =========== ================================== diff --git a/api-ref/source/appendix/dcs_instance_statuses.rst b/api-ref/source/appendix/dcs_instance_statuses.rst new file mode 100644 index 0000000..8f9f99f --- /dev/null +++ b/api-ref/source/appendix/dcs_instance_statuses.rst @@ -0,0 +1,28 @@ +:original_name: dcs-api-0312047.html + +.. _dcs-api-0312047: + +DCS Instance Statuses +===================== + +.. table:: **Table 1** DCS instance statuses + + +-----------------------------------+--------------------------------------------------------------------------+ + | State | Description | + +===================================+==========================================================================+ + | CREATING | Creating is the status before the Running state. | + +-----------------------------------+--------------------------------------------------------------------------+ + | CREATEFAILED | The DCS instance failed to be created. | + +-----------------------------------+--------------------------------------------------------------------------+ + | RUNNING | The instance is running properly. | + | | | + | | Only instances in the Running state can provide in-memory cache service. | + +-----------------------------------+--------------------------------------------------------------------------+ + | ERROR | The instance is not running properly. | + +-----------------------------------+--------------------------------------------------------------------------+ + | RESTARTING | The instance is being restarted. | + +-----------------------------------+--------------------------------------------------------------------------+ + | EXTENDING | The instance is being scaled up. | + +-----------------------------------+--------------------------------------------------------------------------+ + | RESTORING | The instance data is being restored. | + +-----------------------------------+--------------------------------------------------------------------------+ diff --git a/api-ref/source/appendix/error_codes.rst b/api-ref/source/appendix/error_codes.rst new file mode 100644 index 0000000..8e782e2 --- /dev/null +++ b/api-ref/source/appendix/error_codes.rst @@ -0,0 +1,332 @@ +:original_name: dcs-api-0312044.html + +.. _dcs-api-0312044: + +Error Codes +=========== + +Failure Responses +----------------- + +If an error occurs in API calling, HTTP status code 4xx or 5xx is returned. **FailMessage** is used as the response body to describe the cause of an error. + +Response Message (v1.0) +----------------------- + +.. table:: **Table 1** FailMessage parameter description + + +-----------+--------+-----------+-------------------------------------------------------------------------------------------+ + | Parameter | Type | Mandatory | Description | + +===========+========+===========+===========================================================================================+ + | error | Object | Yes | Error description. For details, see :ref:`Table 2 `. | + +-----------+--------+-----------+-------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312044__table9232115644314: + +.. table:: **Table 2** Failure response parameter description + + +-----------+--------+------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+========+==============================================================================+ + | code | String | Error code. For details, see :ref:`Table 4 `. | + +-----------+--------+------------------------------------------------------------------------------+ + | message | String | Error information. | + +-----------+--------+------------------------------------------------------------------------------+ + +Example Response (v1.0) +----------------------- + +.. code-block:: text + + { + "error": { + "code": "111404022", + "message": "This DCS instance does not exist." + } + } + +Response (v2) +------------- + +.. table:: **Table 3** Failure response parameter description + + +------------+--------+------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +============+========+==============================================================================+ + | error_code | String | Error code. For details, see :ref:`Table 4 `. | + +------------+--------+------------------------------------------------------------------------------+ + | error_msg | String | Detailed error information. | + +------------+--------+------------------------------------------------------------------------------+ + +Example Response (v2) +--------------------- + +.. code-block:: text + + { + "error_code": "DCS.8001", + "error_msg": "fail to get order id." + } + +Error Code +---------- + +:ref:`Table 4 ` lists common DCS error codes. + +.. _dcs-api-0312044__table4581796: + +.. table:: **Table 4** Error codes + + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | Status Code | Error Code | Error Message | + +=============+============+==========================================================================================================================================+ + | 400 | 111400002 | Invalid project ID format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400004 | Empty request body. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400005 | The message body contains invalid characters or is not in JSON format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400007 | The selected cache engine edition is not supported. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400008 | The selected cache engine version is not supported. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400009 | Invalid product ID in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400010 | Invalid DCS instance name. The name must be 4 to 64 characters long. Only letters, digits, underscores (_), and hyphens (-) are allowed. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400011 | DCS instance description cannot exceed 1024 characters. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400012 | Invalid capacity parameter in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400013 | Invalid **vpc_id** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400014 | Invalid **security_group_id** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400016 | Invalid **subnet_id** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400017 | A background task associated with this instance is running. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400018 | This subnet must exist in the VPC. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400019 | The password does not meet complexity requirements. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400020 | DHCP must be enabled for this subnet. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400021 | Invalid **isAutoRenew** in the request. It must be either **0** or **1**. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400022 | The cache engine does not match the product ID. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400026 | This operation is not allowed when the DCS instance is in the current state. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400027 | The current node does not support this operation. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400035 | DCS instance quota of the tenant is insufficient. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400036 | Memory quota of the tenant is insufficient. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400037 | The **instanceParams** parameter in the request contains invalid characters or is not in JSON format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400038 | The **periodNum** parameter in the request must be an integer. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400039 | Your quota has been reached. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400042 | This AZ does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400046 | This security group does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400047 | The **periodType** parameter in the request must be either **2** or **3**. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400048 | The security group must have both outbound and inbound rules with protocols set to **ANY**. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400051 | The package for upgrading the DCS instance to the target version was not found. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400052 | The DCS instance to be upgraded must be in the **Running** state. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400053 | The **targetVersion** parameter in the request cannot be the same as the source version. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400054 | The DCS quota in the selected AZ has been reached. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400060 | This instance name already exists. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400061 | Invalid instance ID format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400062 | Invalid parameter **{0}** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400063 | Invalid parameter **{0}** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400064 | The **action** parameter in the request must be **start**, **stop**, or **restart**. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400065 | The **instances** parameter in the request cannot be a null value or left unspecified. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400066 | Invalid configuration parameter **{0}**. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400067 | The **available_zones** parameter in the request must be an array that contains only one AZ ID. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400068 | This VPC does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400070 | Invalid task ID format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400072 | The value of the instance backup parameter **saveDays** in the request must be between 1 and 7. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400073 | The value of the instance backup parameter **backupType** in the request must be either auto or manual. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400074 | The value of the instance backup parameter **periodType** in the request must be weekly. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400075 | The value of the instance backup parameter **backupAt** in the request cannot be null or undefined. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400076 | The value of the instance backup parameter **beginAt** in the request must be in the 00:00-00:00 format. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400080 | Invalid password for accessing the selected DCS instance. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400086 | This operation is allowed only for master/standby DCS instances. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400087 | The restore operation is allowed only when the backup task is in the **Succeeded** state. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400094 | The system does not support the background task function. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400095 | Backup and restoration are not supported. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400096 | Backing up the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400097 | Restoring the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400098 | The value of the **remark** parameter cannot exceed 128 characters long. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400099 | DCS instances in the **Creating**, **Restarting**, or **Deleting** state cannot be deleted. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400100 | The number of instance IDs in an instances array cannot exceed 50. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400102 | Scale-up is not supported. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400103 | The capacity to which the DCS instance is scaled up must be greater than the original capacity. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400105 | The value of **reserved-memory** cannot be greater than the free memory size of this DCS instance. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400106 | Invalid maintenance time window. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400111 | Restarting the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400113 | Scaling up the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400114 | Modifying instance configuration... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400115 | Changing instance password... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400116 | Upgrading the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400117 | Rolling back the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400118 | Creating the DCS instance... Please try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400119 | This DCS instance does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | 111400800 | Invalid parameter **{0}** in the request. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 401 | 111401001 | Invalid token. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 401 | 111401002 | Expired token. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 401 | 111401003 | Missing token. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 401 | 111401004 | Project ID does not match the token. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 403 | 111403002 | This tenant has read permissions only and cannot perform this operation. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 403 | 111403003 | This role does not have the permissions to perform this operation. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 404 | 111404001 | The requested URL does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 404 | 111404022 | This DCS instance does not exist. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 405 | 111405001 | This request method is not allowed. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111400069 | Another user is modifying configuration parameters of the DCS instance. Try again later. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111400101 | Failed to delete the instance backup files. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111400842 | Job execution failed. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500000 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500006 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500017 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500020 | Failed to add a port for the ECS. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500023 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500024 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500025 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500031 | Failed to create the DCS instance. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500032 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500041 | No resource tenant available. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500044 | Failed to update the status of the DCS instance. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500051 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500052 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500053 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500054 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500070 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500071 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500077 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500078 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500079 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500081 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500082 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500083 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500084 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500085 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500088 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500089 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500090 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500091 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500092 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500093 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500094 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500095 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500104 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500106 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500801 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500802 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500810 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500814 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500815 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500816 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | 111500820 | Internal service error. | + +-------------+------------+------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/appendix/index.rst b/api-ref/source/appendix/index.rst new file mode 100644 index 0000000..5483bd1 --- /dev/null +++ b/api-ref/source/appendix/index.rst @@ -0,0 +1,20 @@ +:original_name: dcs-api-0312042.html + +.. _dcs-api-0312042: + +Appendix +======== + +- :ref:`Status Codes ` +- :ref:`Error Codes ` +- :ref:`Obtaining a Project ID ` +- :ref:`DCS Instance Statuses ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + status_codes + error_codes + obtaining_a_project_id + dcs_instance_statuses diff --git a/api-ref/source/appendix/obtaining_a_project_id.rst b/api-ref/source/appendix/obtaining_a_project_id.rst new file mode 100644 index 0000000..b96a532 --- /dev/null +++ b/api-ref/source/appendix/obtaining_a_project_id.rst @@ -0,0 +1,25 @@ +:original_name: dcs-api-0312045.html + +.. _dcs-api-0312045: + +Obtaining a Project ID +====================== + +Obtaining a Project ID on the Console +------------------------------------- + +A project ID is required for some URLs when an API is called. You can obtain a project ID on the console. + +The following procedure describes how to obtain a project ID: + +#. Sign up and log in to the management console. + +#. Click the username and choose **My Credential** from the drop-down list. + + On the **My Credential** page, view project IDs in the project list. + + + .. figure:: /_static/images/en-us_image_0000001287593560.jpg + :alt: **Figure 1** Viewing project IDs + + **Figure 1** Viewing project IDs diff --git a/api-ref/source/appendix/status_codes.rst b/api-ref/source/appendix/status_codes.rst new file mode 100644 index 0000000..6401367 --- /dev/null +++ b/api-ref/source/appendix/status_codes.rst @@ -0,0 +1,120 @@ +:original_name: dcs-api-0312043.html + +.. _dcs-api-0312043: + +Status Codes +============ + +:ref:`Table 1 ` describes status codes. + +.. _dcs-api-0312043__table5210141351517: + +.. table:: **Table 1** Status codes + + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Status Code | Name | Description | + +=======================+=================================+=====================================================================================================================================================================================================================================================================================================================================================+ + | 100 | Continue | The server has received the initial part of the request and the client should continue to send the remaining part. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 101 | Switching Protocols | The requester has asked the server to switch protocols and the server has agreed to do so. | + | | | | + | | | The target protocol must be more advanced than the source protocol. | + | | | | + | | | For example, the current HTTP protocol is switched to a later version of HTTP. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 200 | OK | The server successfully processed the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 201 | Created | The request has been fulfilled, resulting in the creation of a new resource. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 202 | Accepted | The request has been accepted for processing, but the processing has not been completed. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 203 | Non-Authoritative Information | The request has been fulfilled. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 204 | NoContent | The server has successfully processed the request, but is not returning any content. | + | | | | + | | | The status code is returned in response to an HTTP OPTIONS request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 205 | Reset Content | The server has successfully processed the request, but is not returning any content. Unlike a 204 response, this response requires that the requester reset the content. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 206 | Partial Content | The server has successfully processed a part of the GET request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 300 | Multiple Choices | There are multiple options for the requested resource. For example, this code could be used to present a list of resource characteristics and addresses from which the client such as a browser may choose. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 301 | Moved Permanently | This and all future requests should be permanently directed to the given URI indicated in this response. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 302 | Found | The requested resource was temporarily moved. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 303 | See Other | The response to the request can be found under another URI using a GET or POST method. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 304 | Not Modified | The requested resource has not been modified. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 305 | Use Proxy | The requested resource is available only through a proxy. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 306 | Unused | This HTTP status code is no longer used. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 400 | BadRequest | The request is invalid. | + | | | | + | | | The client should modify the request instead of re-initiating it. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 401 | Unauthorized | The authentication information provided by the client is incorrect or invalid. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 402 | Payment Required | Reserved for future use. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 403 | Forbidden | The server has received the request and understood it, but the server is refusing to respond to it. | + | | | | + | | | The client should modify the request instead of re-initiating it. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 404 | NotFound | The requested resource could not be found. | + | | | | + | | | The client should modify the request instead of re-initiating it. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 405 | MethodNotAllowed | A request method is not supported for the requested resource. | + | | | | + | | | The client should modify the request instead of re-initiating it. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 406 | Not Acceptable | The server could not fulfill the request according to the content characteristics of the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 407 | Proxy Authentication Required | This code is similar to 401, but indicates that the client must first authenticate itself with the proxy. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 408 | Request Time-out | The server timed out waiting for the request. | + | | | | + | | | The client may re-initiate the request without modifications at any later time. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 409 | Conflict | The request could not be processed due to a conflict in the request, such as an edit conflict between multiple simultaneous updates or the resource that the client attempts to create already exits. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 410 | Gone | The requested resource has been deleted permanently and will not be available again. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 411 | Length Required | The server refused to process the request because the request does not specify the length of its content. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 412 | Precondition Failed | The server does not meet one of the preconditions that the requester puts on the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 413 | Request Entity Too Large | The request is larger than the server is willing or able to process. | + | | | | + | | | The server may close the connection to prevent the client from continuing the request. If the server temporarily cannot process the request, the response will contain a Retry-After header field. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 414 | Request-URI Too Large | The URI provided was too long for the server to process. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 415 | Unsupported Media Type | The server does not support the media type in the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 416 | Requested range not satisfiable | The requested range is invalid. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 417 | Expectation Failed | The server fails to meet the requirements of the Expect request-header field. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 422 | UnprocessableEntity | The request was well-formed but was unable to be followed due to semantic errors. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 429 | TooManyRequests | The client has sent more requests than its rate limit is allowed within a given amount of time, or the server has received more requests than it is able to process within a given amount of time. In this case, it is advisable for the client to re-initiate requests after the time specified in the Retry-After header of the response expires. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 500 | InternalServerError | The server is able to receive the request but it could not understand the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 501 | Not Implemented | The server does not support the requested function. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 502 | Bad Gateway | The server was acting as a gateway or proxy and received an invalid request from a remote server. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 503 | ServiceUnavailable | The requested service is invalid. | + | | | | + | | | It is advisable for the client to modify the request instead of re-initiating the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 504 | ServerTimeout | The server could not return a timely response. The response will reach the client only if the request carries a timeout parameter. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 505 | HTTP Version not supported | The server does not support the HTTP protocol version used in the request. | + +-----------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/change_history.rst b/api-ref/source/change_history.rst new file mode 100644 index 0000000..818d096 --- /dev/null +++ b/api-ref/source/change_history.rst @@ -0,0 +1,65 @@ +:original_name: dcs-api-0312049.html + +.. _dcs-api-0312049: + +Change History +============== + ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Released On | What's New | ++===================================+====================================================================================================================================================================================================================================================================================================================================+ +| 2020-06-16 | Modified the following content: | +| | | +| | Added error codes such as 111400102 in section :ref:`Error Codes `. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2020-03-25 | Modified the following content: | +| | | +| | - Added an example request URL for each API. | +| | - Optimized description about the parameters of each API. | +| | - Optimized description in section :ref:`Querying All DCS Instances of a Tenant `. | +| | - Optimized description in sections :ref:`Backing Up a DCS Instance `, :ref:`Restoring a DCS Instance `, :ref:`Querying DCS Instance Backup Records `, :ref:`Querying DCS Instance Restoration Records `, and :ref:`Deleting Backup Files `. | +| | - Added support for scaling up cluster instances in section :ref:`Scaling Up a DCS Instance `. | +| | - Added section :ref:`Status Codes `. | +| | - Added section :ref:`Obtaining a Project ID `. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2019-04-17 | Accepted in OTC-4.0/Agile. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2019-03-30 | Modified the following content: | +| | | +| | - Removed support for creating DCS instances with the specification of 1 GB in sections :ref:`Creating a DCS Instance ` and :ref:`Querying Service Specifications `. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2018-04-17 | Modified the following content: | +| | | +| | - Optimized examples in sections :ref:`Creating a DCS Instance ` and :ref:`Querying AZ Information `. | +| | - Optimized parameter description in section :ref:`Batch Deleting DCS Instances `. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2018-03-16 | Modified the following content: | +| | | +| | - Added description about the Redis-specific parameter **notify-keyspace-events**, and deleted description about the Redis-specific parameter **maxclients**. For details, see :ref:`Querying DCS Instance Configuration Parameters `. | +| | - Changed instance password complexity rules. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2017-11-08 | Modified the following content: | +| | | +| | - Provided support for DCS instances in the cluster mode. | +| | - Changed instance password complexity rules. | +| | | +| | Added the following content: | +| | | +| | - Added sections :ref:`Scaling Up a DCS Instance `. | +| | - Added sections :ref:`Backing Up a DCS Instance ` to :ref:`Deleting Backup Files `. | +| | - Added the **Time Window** parameter. | +| | - Added two Redis parameters **maxclients** and **reserved-memory** in section :ref:`Querying DCS Instance Configuration Parameters `. | +| | - Added some error codes and their description in chapter :ref:`Error Codes `. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2017-05-30 | Modified the following content: | +| | | +| | - Optimized instance query. | +| | - Provided a list of DCS error codes. | +| | | +| | Added the following content: | +| | | +| | - Batch deletion of DCS instances | +| | - Redis-specific parameter **latency-monitor-threshold** | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2017-04-05 | This issue is the first official release. | ++-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/api-ref/source/index.rst b/api-ref/source/index.rst index 9f12eb7..bc81974 100644 --- a/api-ref/source/index.rst +++ b/api-ref/source/index.rst @@ -2,3 +2,13 @@ Distributed Cache Service - API Reference ========================================= +.. toctree:: + :maxdepth: 1 + + api_usage_guidelines + apis_used_for_managing_dcs_instances/index + apis_used_for_maintaining_dcs_instances/index + apis_used_for_tenant_management/index + other_apis/index + appendix/index + change_history diff --git a/api-ref/source/other_apis/index.rst b/api-ref/source/other_apis/index.rst new file mode 100644 index 0000000..a33c758 --- /dev/null +++ b/api-ref/source/other_apis/index.rst @@ -0,0 +1,18 @@ +:original_name: dcs-api-0312038.html + +.. _dcs-api-0312038: + +Other APIs +========== + +- :ref:`Querying AZ Information ` +- :ref:`Querying Service Specifications ` +- :ref:`Querying Maintenance Time Window ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + querying_az_information + querying_service_specifications + querying_maintenance_time_window diff --git a/api-ref/source/other_apis/querying_az_information.rst b/api-ref/source/other_apis/querying_az_information.rst new file mode 100644 index 0000000..8818da2 --- /dev/null +++ b/api-ref/source/other_apis/querying_az_information.rst @@ -0,0 +1,113 @@ +:original_name: dcs-api-0312039.html + +.. _dcs-api-0312039: + +Querying AZ Information +======================= + +Function +-------- + +This API is used to query the ID of the AZ where a DCS instance resides. + +URI +--- + +GET /v1.0/availableZones + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 1 ` describes the response parameters. + +.. _dcs-api-0312039__table5725353918: + +.. table:: **Table 1** Parameter description + + +-----------------+--------+---------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +=================+========+=======================================================================================+ + | regionId | String | Region ID. | + +-----------------+--------+---------------------------------------------------------------------------------------+ + | available_zones | Array | Array of AZs. For details, see :ref:`Table 2 `. | + +-----------------+--------+---------------------------------------------------------------------------------------+ + +.. _dcs-api-0312039__table20901104905614: + +.. table:: **Table 2** Parameter description of the available_zones array + + +-----------------------+-----------------------+------------------------------------------------------------------+ + | Parameter | Type | Description | + +=======================+=======================+==================================================================+ + | id | String | AZ ID. | + +-----------------------+-----------------------+------------------------------------------------------------------+ + | code | String | AZ code. | + +-----------------------+-----------------------+------------------------------------------------------------------+ + | name | String | AZ name. | + +-----------------------+-----------------------+------------------------------------------------------------------+ + | port | String | Port number of the AZ. | + +-----------------------+-----------------------+------------------------------------------------------------------+ + | resource_availability | String | An indicator of whether there are available resources in the AZ. | + | | | | + | | | - **true**: There are available resources in the AZ. | + | | | - **false**: All resources have been used up in the AZ. | + +-----------------------+-----------------------+------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "regionId": "XXXXXX", + "available_zones": [ + { + "id": "f84448fd537f46078dd8bd776747f573", + "code": "XXXXXX", + "name": "XXXXXX", + "port": "8003", + "resource_availability": "true" + }, + { + "id": "12c47a78666b4e438cd0c692b9860387", + "code": "XXXXXX", + "name": "XXXXXX", + "port": "8002", + "resource_availability": "true" + }, + { + "id": "0725858e0d26434f9aa3dc5fc40d5697", + "code": "XXXXXX", + "name": "XXXXXX", + "port": "8009", + "resource_availability": "true" + } + ] + } + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312039__table201151124142: + +.. table:: **Table 3** Status code + + =========== ==================================== + Status Code Description + =========== ==================================== + 200 AZ information queried successfully. + =========== ==================================== diff --git a/api-ref/source/other_apis/querying_maintenance_time_window.rst b/api-ref/source/other_apis/querying_maintenance_time_window.rst new file mode 100644 index 0000000..faec47b --- /dev/null +++ b/api-ref/source/other_apis/querying_maintenance_time_window.rst @@ -0,0 +1,118 @@ +:original_name: dcs-api-0312041.html + +.. _dcs-api-0312041: + +Querying Maintenance Time Window +================================ + +Function +-------- + +The API is used to query the start time and end time of the maintenance time window. + +URI +--- + +GET /v1.0/instances/maintain-windows + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 1 ` describes the response parameters. + +.. _dcs-api-0312041__table615617458391: + +.. table:: **Table 1** Parameter description + + ================ ===== =========================================== + Parameter Type Description + ================ ===== =========================================== + maintain_windows Array List of supported maintenance time windows. + ================ ===== =========================================== + +.. table:: **Table 2** maintain_windows parameter description + + +-----------+---------+-----------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+=========+=========================================================================================+ + | seq | Integer | Sequence number of the maintenance time window. | + +-----------+---------+-----------------------------------------------------------------------------------------+ + | begin | String | Start time of the maintenance time window. | + +-----------+---------+-----------------------------------------------------------------------------------------+ + | end | String | End time of the maintenance time window. | + +-----------+---------+-----------------------------------------------------------------------------------------+ + | default | Boolean | An indicator of whether the maintenance time window is set to the default time segment. | + +-----------+---------+-----------------------------------------------------------------------------------------+ + +**Example response** + +.. code-block:: + + { + "maintain_windows": [ + { + "seq": 1, + "begin": "22", + "end": "02", + "default": false + }, + { + "seq": 2, + "begin": "02", + "end": "06", + "default": true + }, + { + "seq": 3, + "begin": "06", + "end": "10", + "default": false + }, + { + "seq": 4, + "begin": "10", + "end": "14", + "default": false + }, + { + "seq": 5, + "begin": "14", + "end": "18", + "default": false + }, + { + "seq": 6, + "begin": "18", + "end": "22", + "default": false + } + ] + } + +Status Code +----------- + +:ref:`Table 3 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312041__table611872191420: + +.. table:: **Table 3** Status code + + =========== ================================================= + Status Code Description + =========== ================================================= + 200 Successfully queried the maintenance time window. + =========== ================================================= diff --git a/api-ref/source/other_apis/querying_service_specifications.rst b/api-ref/source/other_apis/querying_service_specifications.rst new file mode 100644 index 0000000..4bcab4b --- /dev/null +++ b/api-ref/source/other_apis/querying_service_specifications.rst @@ -0,0 +1,212 @@ +:original_name: dcs-api-0312040.html + +.. _dcs-api-0312040: + +Querying Service Specifications +=============================== + +Function +-------- + +This API is used to query the product ID (parameter **product_id**) which indicates the specifications of the DCS service you created. + +URI +--- + +GET /v1.0/products + +Request +------- + +**Request parameters** + +None. + +**Example request** + +None. + +Response +-------- + +**Response parameters** + +:ref:`Table 1 ` describes the response parameters. + +.. _dcs-api-0312040__table18437193323916: + +.. table:: **Table 1** Parameter description + + +-----------+-------+-----------------------------------------------------------------------+ + | Parameter | Type | Description | + +===========+=======+=======================================================================+ + | products | Array | List of specifications of the DCS service to which you can subscribe. | + +-----------+-------+-----------------------------------------------------------------------+ + +.. table:: **Table 2** products parameter description + + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==========================+=======================+============================================================================================================================+ + | product_id | String | Product ID used to differentiate DCS specifications. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | spec_code | String | DCS instance specification code. | + | | | | + | | | - **dcs.single_node** | + | | | - **dcs.master_standby** | + | | | - **dcs.cluster** | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | cache_mode | String | DCS instance type. Options: | + | | | | + | | | - **single**: single-node | + | | | - **ha**: master/standby | + | | | - **cluster**: Redis Cluster | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | product_type | String | Edition of DCS for Redis. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | cpu_type | String | CPU architecture. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | storage_type | String | Storage type. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | details | Array | Details of the specifications. :ref:`Table 3 ` describes the parameters in this array. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | engine | String | Cache engine. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | engine_versions | String | Cache engine version. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | spec_details | String | DCS specifications. The value subjects to the returned specifications. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | spec_details2 | String | Detailed DCS specifications, including the maximum number of connections and maximum memory size. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | charging_type | String | Billing mode. Value: **Hourly**. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | price | doubule | Price of the DCS service to which you can subscribe. (This parameter has been abandoned.) | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | currency | String | Currency. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | prod_type | String | Product type. | + | | | | + | | | Options: **instance** and **obs_space**. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | cloud_service_type_code | String | Cloud service type code. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | cloud_resource_type_code | String | Cloud resource type code. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + | flavors | Array | AZs with available resources. :ref:`Table 4 ` describes the parameters in this array. | + +--------------------------+-----------------------+----------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312040__table830249172716: + +.. table:: **Table 3** details parameter description + + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Type | Description | + +==================+========+================================================================================================================================================================================+ + | capacity | String | Specification (total memory) of the DCS instance. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_bandwidth | String | Maximum bandwidth supported by the specification. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_clients | String | Maximum number of clients supported by the specification, which is usually equal to the maximum number of connections. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_connections | String | Maximum number of connections supported by the specification. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_in_bandwidth | String | Maximum inbound bandwidth supported by the specification, which is usually equal to the maximum bandwidth. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | max_memory | String | Maximum available memory. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | tenant_ip_count | String | Number of tenant IP addresses corresponding to the specifications. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | sharding_num | String | Number of shards supported by the specifications. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | proxy_num | String | Number of proxies supported by Proxy Cluster instances of the specified specifications. If the instance is not a Proxy Cluster instance, the value of this parameter is **0**. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | db_number | String | Number of DBs of the specifications. | + +------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. _dcs-api-0312040__table1979512328317: + +.. table:: **Table 4** flavors parameter description + + =============== ====== ================================================= + Parameter Type Description + =============== ====== ================================================= + capacity String Specification (total memory) of the DCS instance. + unit String Memory unit. + available_zones Array AZ ID. + =============== ====== ================================================= + +**Example response** + +.. code-block:: + + { + "products": [ + { + "details": { + "capacity": 64, + "max_memory": 64, + "max_connections": 20000, + "max_clients": 80000, + "max_bandwidth": 2000, + "max_in_bandwidth": 600, + "proc_num": 8 + }, + "engine": "redis", + "price": 0.04, + "currency": "1", + "flavors": [ + { + "capacity": "64", + "unit": "GB", + "available_zones": [ + "ae04cf9d61544df3806a3feeb401b204", + "882f6e449e3245dbb8c1c0fafa494c89" + ] + }, + { + "capacity": "128", + "unit": "GB", + "available_zones": [ + "ae04cf9d61544df3806a3feeb401b204", + "882f6e449e3245dbb8c1c0fafa494c89" + ] + }, + { + "capacity": "256", + "unit": "GB", + "available_zones": [ + "ae04cf9d61544df3806a3feeb401b204", + "882f6e449e3245dbb8c1c0fafa494c89" + ] + } + ], + "product_id": "00301-30112-0--0", + "spec_code": "dcs.cluster", + "cache_mode": "cluster", + "product_type": "generic", + "cpu_type": "x86_64", + "storage_type": "DRAM", + "engine_versions": "3.0", + "spec_details": "[{\"mem\":\"64,128,256\"}]", + "spec_details2": "[{\"capacity\": 64,\"max_memory\": 64,\"max_connections\": 20000,\"max_clients\":80000,\"max_bandwidth\": 2000,\"max_in_bandwidth\": 600,\"proc_num\":8},{\"capacity\": 128,\"max_memory\": 128,\"max_connections\": 20000,\"max_clients\":160000,\"max_bandwidth\": 2000,\"max_in_bandwidth\": 600,\"proc_num\":16},{\"capacity\": 256,\"max_memory\": 256,\"max_connections\": 20000,\"max_clients\":160000,\"max_bandwidth\": 2000,\"max_in_bandwidth\": 600,\"proc_num\":32},{\"capacity\": 512,\"max_memory\": 512,\"max_connections\": 20000,\"max_clients\":160000,\"max_bandwidth\": 2000,\"max_in_bandwidth\": 600,\"proc_num\":64},{\"capacity\": 1024,\"max_memory\": 1024,\"max_connections\": 20000,\"max_clients\":160000,\"max_bandwidth\": 2000,\"max_in_bandwidth\": 600,\"proc_num\":128}]", + "charging_type": "Hourly", + "prod_type": "instance", + "cloud_service_type_code": "XXXX", + "cloud_resource_type_code": "XXXX" + }, + } + +Status Code +----------- + +:ref:`Table 5 ` describes the status code of successful operations. For details about other status codes, see :ref:`Table 1 `. + +.. _dcs-api-0312040__table11875348101316: + +.. table:: **Table 5** Status code + + =========== ============================================ + Status Code Description + =========== ============================================ + 200 Service specifications queried successfully. + =========== ============================================