From ab56d080fb3461efae612a99635b678036faf265 Mon Sep 17 00:00:00 2001 From: "Wei, Hongmin" Date: Wed, 26 Oct 2022 13:51:50 +0000 Subject: [PATCH] SDRS API initial version Reviewed-by: gtema Co-authored-by: Wei, Hongmin Co-committed-by: Wei, Hongmin --- docs/sdrs/api-ref/ALL_META.TXT.json | 652 +++++ docs/sdrs/api-ref/CLASS.TXT.json | 587 ++++ docs/sdrs/api-ref/PARAMETERS.txt | 3 + docs/sdrs/api-ref/en-us_topic_0108184469.html | 122 + docs/sdrs/api-ref/en-us_topic_0113127625.html | 19 + docs/sdrs/api-ref/en-us_topic_0113127626.html | 2425 +++++++++++++++++ docs/sdrs/api-ref/en-us_topic_0126152930.html | 106 + docs/sdrs/api-ref/en-us_topic_0126152931.html | 136 + docs/sdrs/api-ref/en-us_topic_0126152932.html | 146 + docs/sdrs/api-ref/en-us_topic_0126152933.html | 45 + .../public_sys-resources/ExpandCollapse.js | 1 + .../public_sys-resources/avgCompile.js | 1 + .../caution_3.0-en-us.png | Bin 0 -> 2752 bytes .../public_sys-resources/commonltr.css | 1 + .../public_sys-resources/commonltr_print.css | 1 + .../public_sys-resources/commonrtl.css | 2 + .../public_sys-resources/danger_3.0-en-us.png | Bin 0 -> 2771 bytes .../api-ref/public_sys-resources/delta.gif | Bin 0 -> 836 bytes .../api-ref/public_sys-resources/deltaend.gif | Bin 0 -> 834 bytes .../public_sys-resources/icon-arrowdn.gif | Bin 0 -> 68 bytes .../public_sys-resources/icon-arrowrt.gif | Bin 0 -> 70 bytes .../public_sys-resources/icon-caution.gif | Bin 0 -> 1086 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 1086 bytes .../public_sys-resources/icon-huawei.gif | Bin 0 -> 2767 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 983 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 962 bytes .../api-ref/public_sys-resources/icon-tip.gif | Bin 0 -> 879 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 1086 bytes .../public_sys-resources/note_3.0-en-us.png | Bin 0 -> 1080 bytes .../public_sys-resources/notice_3.0-en-us.png | Bin 0 -> 1672 bytes .../api-ref/public_sys-resources/popup.js | 1 + .../warning_3.0-en-us.png | Bin 0 -> 3164 bytes docs/sdrs/api-ref/sdrs_01_0000.html | 8 + docs/sdrs/api-ref/sdrs_05_0000.html | 30 + docs/sdrs/api-ref/sdrs_05_0100.html | 16 + docs/sdrs/api-ref/sdrs_05_0101.html | 329 +++ docs/sdrs/api-ref/sdrs_05_0200.html | 18 + docs/sdrs/api-ref/sdrs_05_0201.html | 256 ++ docs/sdrs/api-ref/sdrs_05_0202.html | 274 ++ docs/sdrs/api-ref/sdrs_05_0300.html | 16 + docs/sdrs/api-ref/sdrs_05_0301.html | 287 ++ docs/sdrs/api-ref/sdrs_05_0400.html | 31 + docs/sdrs/api-ref/sdrs_05_0401.html | 299 ++ docs/sdrs/api-ref/sdrs_05_0402.html | 525 ++++ docs/sdrs/api-ref/sdrs_05_0403.html | 426 +++ docs/sdrs/api-ref/sdrs_05_0404.html | 191 ++ docs/sdrs/api-ref/sdrs_05_0405.html | 471 ++++ docs/sdrs/api-ref/sdrs_05_0406.html | 218 ++ docs/sdrs/api-ref/sdrs_05_0407.html | 216 ++ docs/sdrs/api-ref/sdrs_05_0408.html | 269 ++ docs/sdrs/api-ref/sdrs_05_0409.html | 255 ++ docs/sdrs/api-ref/sdrs_05_0500.html | 33 + docs/sdrs/api-ref/sdrs_05_0501.html | 355 +++ docs/sdrs/api-ref/sdrs_05_0502.html | 225 ++ docs/sdrs/api-ref/sdrs_05_0503.html | 547 ++++ docs/sdrs/api-ref/sdrs_05_0504.html | 411 +++ docs/sdrs/api-ref/sdrs_05_0505.html | 461 ++++ docs/sdrs/api-ref/sdrs_05_0506.html | 255 ++ docs/sdrs/api-ref/sdrs_05_0507.html | 203 ++ docs/sdrs/api-ref/sdrs_05_0508.html | 266 ++ docs/sdrs/api-ref/sdrs_05_0509.html | 216 ++ docs/sdrs/api-ref/sdrs_05_0510.html | 296 ++ docs/sdrs/api-ref/sdrs_05_0600.html | 26 + docs/sdrs/api-ref/sdrs_05_0601.html | 265 ++ docs/sdrs/api-ref/sdrs_05_0602.html | 252 ++ docs/sdrs/api-ref/sdrs_05_0603.html | 534 ++++ docs/sdrs/api-ref/sdrs_05_0604.html | 414 +++ docs/sdrs/api-ref/sdrs_05_0605.html | 250 ++ docs/sdrs/api-ref/sdrs_05_0606.html | 474 ++++ docs/sdrs/api-ref/sdrs_05_0700.html | 23 + docs/sdrs/api-ref/sdrs_05_0701.html | 255 ++ docs/sdrs/api-ref/sdrs_05_0702.html | 191 ++ docs/sdrs/api-ref/sdrs_05_0703.html | 387 +++ docs/sdrs/api-ref/sdrs_05_0704.html | 300 ++ docs/sdrs/api-ref/sdrs_05_0705.html | 354 +++ docs/sdrs/api-ref/sdrs_05_0800.html | 28 + docs/sdrs/api-ref/sdrs_05_0801.html | 712 +++++ docs/sdrs/api-ref/sdrs_05_0802.html | 191 ++ docs/sdrs/api-ref/sdrs_05_0803.html | 172 ++ docs/sdrs/api-ref/sdrs_05_0804.html | 121 + docs/sdrs/api-ref/sdrs_05_0805.html | 176 ++ docs/sdrs/api-ref/sdrs_05_0806.html | 172 ++ docs/sdrs/api-ref/sdrs_05_0807.html | 190 ++ docs/sdrs/api-ref/sdrs_05_0900.html | 22 + docs/sdrs/api-ref/sdrs_05_0901.html | 379 +++ docs/sdrs/api-ref/sdrs_05_0902.html | 147 + docs/sdrs/api-ref/sdrs_05_0903.html | 141 + docs/sdrs/api-ref/sdrs_05_0904.html | 153 ++ docs/sdrs/api-ref/sdrs_05_1100.html | 16 + docs/sdrs/api-ref/sdrs_05_1101.html | 267 ++ 90 files changed, 18263 insertions(+) create mode 100644 docs/sdrs/api-ref/ALL_META.TXT.json create mode 100644 docs/sdrs/api-ref/CLASS.TXT.json create mode 100644 docs/sdrs/api-ref/PARAMETERS.txt create mode 100644 docs/sdrs/api-ref/en-us_topic_0108184469.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0113127625.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0113127626.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0126152930.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0126152931.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0126152932.html create mode 100644 docs/sdrs/api-ref/en-us_topic_0126152933.html create mode 100644 docs/sdrs/api-ref/public_sys-resources/ExpandCollapse.js create mode 100644 docs/sdrs/api-ref/public_sys-resources/avgCompile.js create mode 100644 docs/sdrs/api-ref/public_sys-resources/caution_3.0-en-us.png create mode 100644 docs/sdrs/api-ref/public_sys-resources/commonltr.css create mode 100644 docs/sdrs/api-ref/public_sys-resources/commonltr_print.css create mode 100644 docs/sdrs/api-ref/public_sys-resources/commonrtl.css create mode 100644 docs/sdrs/api-ref/public_sys-resources/danger_3.0-en-us.png create mode 100644 docs/sdrs/api-ref/public_sys-resources/delta.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/deltaend.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-arrowdn.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-arrowrt.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-caution.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-danger.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-huawei.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-note.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-notice.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-tip.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/icon-warning.gif create mode 100644 docs/sdrs/api-ref/public_sys-resources/note_3.0-en-us.png create mode 100644 docs/sdrs/api-ref/public_sys-resources/notice_3.0-en-us.png create mode 100644 docs/sdrs/api-ref/public_sys-resources/popup.js create mode 100644 docs/sdrs/api-ref/public_sys-resources/warning_3.0-en-us.png create mode 100644 docs/sdrs/api-ref/sdrs_01_0000.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0000.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0100.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0101.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0200.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0201.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0202.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0300.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0301.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0400.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0401.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0402.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0403.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0404.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0405.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0406.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0407.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0408.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0409.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0500.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0501.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0502.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0503.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0504.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0505.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0506.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0507.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0508.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0509.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0510.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0600.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0601.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0602.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0603.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0604.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0605.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0606.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0700.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0701.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0702.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0703.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0704.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0705.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0800.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0801.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0802.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0803.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0804.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0805.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0806.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0807.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0900.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0901.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0902.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0903.html create mode 100644 docs/sdrs/api-ref/sdrs_05_0904.html create mode 100644 docs/sdrs/api-ref/sdrs_05_1100.html create mode 100644 docs/sdrs/api-ref/sdrs_05_1101.html diff --git a/docs/sdrs/api-ref/ALL_META.TXT.json b/docs/sdrs/api-ref/ALL_META.TXT.json new file mode 100644 index 000000000..46cf28710 --- /dev/null +++ b/docs/sdrs/api-ref/ALL_META.TXT.json @@ -0,0 +1,652 @@ +[ + { + "uri":"sdrs_01_0000.html", + "product_code":"sdrs", + "code":"1", + "des":"Public cloud APIs comply with the RESTful API design principles. REST-based web services are organized into resources. Each resource is identified by one or more Uniform ", + "doc_type":"api", + "kw":"API Usage Guidelines,API Reference", + "title":"API Usage Guidelines", + "githuburl":"" + }, + { + "uri":"sdrs_05_0000.html", + "product_code":"sdrs", + "code":"2", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"SDRS APIs", + "title":"SDRS APIs", + "githuburl":"" + }, + { + "uri":"sdrs_05_0100.html", + "product_code":"sdrs", + "code":"3", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Job", + "title":"Job", + "githuburl":"" + }, + { + "uri":"sdrs_05_0101.html", + "product_code":"sdrs", + "code":"4", + "des":"This API is used to query the execution status of a job.After a job, such as creating or deleting a protection group, creating or deleting a protected instance, and creat", + "doc_type":"api", + "kw":"Querying the Job Status,Job,API Reference", + "title":"Querying the Job Status", + "githuburl":"" + }, + { + "uri":"sdrs_05_0200.html", + "product_code":"sdrs", + "code":"5", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"API Version", + "title":"API Version", + "githuburl":"" + }, + { + "uri":"sdrs_05_0201.html", + "product_code":"sdrs", + "code":"6", + "des":"This API is used to query all available API versions of SDRS.NoneURI formatGET /GET /Parameter descriptionNoneNoneExample requestGET https://{endpoint}/GET https://{end", + "doc_type":"api", + "kw":"Querying API Versions,API Version,API Reference", + "title":"Querying API Versions", + "githuburl":"" + }, + { + "uri":"sdrs_05_0202.html", + "product_code":"sdrs", + "code":"7", + "des":"This API is used to query a specified API version.NoneURI formatGET /{api_version}GET /{api_version}Parameter descriptionParameterMandatoryDescriptionapi_versionYesSpecif", + "doc_type":"api", + "kw":"Querying a Specified API Version,API Version,API Reference", + "title":"Querying a Specified API Version", + "githuburl":"" + }, + { + "uri":"sdrs_05_0300.html", + "product_code":"sdrs", + "code":"8", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Active-Active Domain", + "title":"Active-Active Domain", + "githuburl":"" + }, + { + "uri":"sdrs_05_0301.html", + "product_code":"sdrs", + "code":"9", + "des":"This API is used to query an active-active domain.An active-active domain consists of the local storage device and remote storage device. Application servers can access d", + "doc_type":"api", + "kw":"Querying an Active-Active Domain,Active-Active Domain,API Reference", + "title":"Querying an Active-Active Domain", + "githuburl":"" + }, + { + "uri":"sdrs_05_0400.html", + "product_code":"sdrs", + "code":"10", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Protection Group", + "title":"Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0401.html", + "product_code":"sdrs", + "code":"11", + "des":"This API is used to create a protection group.This API is an asynchronous interface. If this API is invoked successfully, the request is issued. To query the creation res", + "doc_type":"api", + "kw":"Creating a Protection Group,Protection Group,API Reference", + "title":"Creating a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0402.html", + "product_code":"sdrs", + "code":"12", + "des":"This API is used to query all protection groups of the current tenant.NoneURI formatGET /v1/{project_id}/server-groupsGET /v1/{project_id}/server-groupsParameter descript", + "doc_type":"api", + "kw":"Querying Protection Groups,Protection Group,API Reference", + "title":"Querying Protection Groups", + "githuburl":"" + }, + { + "uri":"sdrs_05_0403.html", + "product_code":"sdrs", + "code":"13", + "des":"This API is used to query the details about a protection group, such as the protection group ID and name.NoneURI formatGET /v1/{project_id}/server-groups/{server_group_id", + "doc_type":"api", + "kw":"Querying the Details of a Protection Group,Protection Group,API Reference", + "title":"Querying the Details of a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0404.html", + "product_code":"sdrs", + "code":"14", + "des":"This API is used to delete the specified protection group.The protection group does not have protected instances, replication pairs, or DR drills.A protection group canno", + "doc_type":"api", + "kw":"Deleting a Protection Group,Protection Group,API Reference", + "title":"Deleting a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0405.html", + "product_code":"sdrs", + "code":"15", + "des":"This API is used to change the name of a protection group.NoneURI formatPUT /v1/{project_id}/server-groups/{server_group_id}PUT /v1/{project_id}/server-groups/{server_gro", + "doc_type":"api", + "kw":"Changing the Name of a Protection Group,Protection Group,API Reference", + "title":"Changing the Name of a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0406.html", + "product_code":"sdrs", + "code":"16", + "des":"This API is used to enable protection or enable protection again for a protection group.The protection group must have replication pairs.status of the protection group mu", + "doc_type":"api", + "kw":"Enabling Protection or Enabling Protection Again for a Protection Group,Protection Group,API Referen", + "title":"Enabling Protection or Enabling Protection Again for a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0407.html", + "product_code":"sdrs", + "code":"17", + "des":"This API is used to disable protection for a protection group.status of the protection group must be protected or error-stopping.URI formatPOST /v1/{project_id}/server-gr", + "doc_type":"api", + "kw":"Disabling Protection for a Protection Group,Protection Group,API Reference", + "title":"Disabling Protection for a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0408.html", + "product_code":"sdrs", + "code":"18", + "des":"When the production site of a protection group becomes faulty, services of the protection group are switched over to the DR site, and servers and disks at the DR site sta", + "doc_type":"api", + "kw":"Performing a Failover for a Protection Group,Protection Group,API Reference", + "title":"Performing a Failover for a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0409.html", + "product_code":"sdrs", + "code":"19", + "des":"When you perform a planned failover for a protection group, the current production site of the protection group is switched to the DR site specified when the protection g", + "doc_type":"api", + "kw":"Performing a Planned Failover for a Protection Group,Protection Group,API Reference", + "title":"Performing a Planned Failover for a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_0500.html", + "product_code":"sdrs", + "code":"20", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Protected Instance", + "title":"Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0501.html", + "product_code":"sdrs", + "code":"21", + "des":"This API is used to create a protected instance. When a protected instance is created, the default name of the server at the DR site is the same as that of the server at ", + "doc_type":"api", + "kw":"Creating a Protected Instance,Protected Instance,API Reference", + "title":"Creating a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0502.html", + "product_code":"sdrs", + "code":"22", + "des":"This API is used to delete a specified protected instance.status of the protected instance must be available, protected, failed-over, error, error-starting, error-stoppin", + "doc_type":"api", + "kw":"Deleting a Protected Instance,Protected Instance,API Reference", + "title":"Deleting a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0503.html", + "product_code":"sdrs", + "code":"23", + "des":"This API is used to query all protected instances of the current tenant.NoneURI formatGET /v1/{project_id}/protected-instancesGET /v1/{project_id}/protected-instancesPara", + "doc_type":"api", + "kw":"Querying Protected Instances,Protected Instance,API Reference", + "title":"Querying Protected Instances", + "githuburl":"" + }, + { + "uri":"sdrs_05_0504.html", + "product_code":"sdrs", + "code":"24", + "des":"This API is used to query the details about a protected instance, such as the protected instance ID and name.NoneURI formatGET /v1/{project_id}/protected-instances/{prote", + "doc_type":"api", + "kw":"Querying Details About a Protected Instance,Protected Instance,API Reference", + "title":"Querying Details About a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0505.html", + "product_code":"sdrs", + "code":"25", + "des":"This API is used to change the name of a protected instance.NoneURI formatPUT /v1/{project_id}/protected-instances/{protected_instance_id}PUT /v1/{project_id}/protected-i", + "doc_type":"api", + "kw":"Changing the Name of a Protected Instance,Protected Instance,API Reference", + "title":"Changing the Name of a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0506.html", + "product_code":"sdrs", + "code":"26", + "des":"This API is used to attach the specified replication pair to the specified protected instance.status of the protection group must be available or protected.status of the ", + "doc_type":"api", + "kw":"Attaching a Replication Pair to a Protected Instance,Protected Instance,API Reference", + "title":"Attaching a Replication Pair to a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0507.html", + "product_code":"sdrs", + "code":"27", + "des":"This API is used to detach a specified replication pair from a specified protected instance.status of the protection group must be available, protected, failed-over, erro", + "doc_type":"api", + "kw":"Detaching a Replication Pair from a Protected Instance,Protected Instance,API Reference", + "title":"Detaching a Replication Pair from a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0508.html", + "product_code":"sdrs", + "code":"28", + "des":"This API is used to add an NIC to the specified protected instance.status of the protection group must be available or protected.status of the protected instance must be ", + "doc_type":"api", + "kw":"Adding an NIC to a Protected Instance,Protected Instance,API Reference", + "title":"Adding an NIC to a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0509.html", + "product_code":"sdrs", + "code":"29", + "des":"This API is used to delete an NIC from the specified protected instance.status of the protection group must be available or protected.status of the protected instance mus", + "doc_type":"api", + "kw":"Deleting an NIC from a Protected Instance,Protected Instance,API Reference", + "title":"Deleting an NIC from a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0510.html", + "product_code":"sdrs", + "code":"30", + "des":"This API is used to modify the specifications of a server in a protected instance, including:Modify the specifications of both the production and DR site servers.Modify t", + "doc_type":"api", + "kw":"Modifying the Specifications of a Protected Instance,Protected Instance,API Reference", + "title":"Modifying the Specifications of a Protected Instance", + "githuburl":"" + }, + { + "uri":"sdrs_05_0600.html", + "product_code":"sdrs", + "code":"31", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Replication Pair", + "title":"Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0601.html", + "product_code":"sdrs", + "code":"32", + "des":"This API is used to create a replication pair and add it to the specified protection group.status of the protection group must be available or protected.If server_type of", + "doc_type":"api", + "kw":"Creating a Replication Pair,Replication Pair,API Reference", + "title":"Creating a Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0602.html", + "product_code":"sdrs", + "code":"33", + "des":"This API is used to delete a specified replication pair.status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-re", + "doc_type":"api", + "kw":"Deleting a Replication Pair,Replication Pair,API Reference", + "title":"Deleting a Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0603.html", + "product_code":"sdrs", + "code":"34", + "des":"This API is used to query all replication pairs in a specified protection group. If you do not specify the protection group, the system lists all the replication pairs of", + "doc_type":"api", + "kw":"Querying Replication Pairs,Replication Pair,API Reference", + "title":"Querying Replication Pairs", + "githuburl":"" + }, + { + "uri":"sdrs_05_0604.html", + "product_code":"sdrs", + "code":"35", + "des":"This API is used to query the details about a replication pair.NoneURI formatGET /v1/{project_id}/replications/{replication_id}GET /v1/{project_id}/replications/{replicat", + "doc_type":"api", + "kw":"Querying Details About a Replication Pair,Replication Pair,API Reference", + "title":"Querying Details About a Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0605.html", + "product_code":"sdrs", + "code":"36", + "des":"This API is used to expand the capacity of the two disks in a replication pair.status of the replication pair must be available, protected, or error-extending.status of d", + "doc_type":"api", + "kw":"Expanding the Capacity of a Replication Pair,Replication Pair,API Reference", + "title":"Expanding the Capacity of a Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0606.html", + "product_code":"sdrs", + "code":"37", + "des":"This API is used to change the name of a replication pair.NoneURI formatPUT /v1/{project_id}/replications/{replication_id}PUT /v1/{project_id}/replications/{replication_i", + "doc_type":"api", + "kw":"Changing the Name of a Replication Pair,Replication Pair,API Reference", + "title":"Changing the Name of a Replication Pair", + "githuburl":"" + }, + { + "uri":"sdrs_05_0700.html", + "product_code":"sdrs", + "code":"38", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"DR Drill", + "title":"DR Drill", + "githuburl":"" + }, + { + "uri":"sdrs_05_0701.html", + "product_code":"sdrs", + "code":"39", + "des":"This API is used to create a disaster recovery (DR) drill.status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-", + "doc_type":"api", + "kw":"Creating a DR Drill,DR Drill,API Reference", + "title":"Creating a DR Drill", + "githuburl":"" + }, + { + "uri":"sdrs_05_0702.html", + "product_code":"sdrs", + "code":"40", + "des":"This API is used to delete a specified DR drill. After you delete the specified DR drill:The DR drill as well as the disks and NICs attached to the DR drill will be delet", + "doc_type":"api", + "kw":"Deleting a DR Drill,DR Drill,API Reference", + "title":"Deleting a DR Drill", + "githuburl":"" + }, + { + "uri":"sdrs_05_0703.html", + "product_code":"sdrs", + "code":"41", + "des":"This API is used to query all DR drills in a specified protection group. If you do not specify the protection group, the system lists all the DR drills of the tenant.None", + "doc_type":"api", + "kw":"Querying DR Drills,DR Drill,API Reference", + "title":"Querying DR Drills", + "githuburl":"" + }, + { + "uri":"sdrs_05_0704.html", + "product_code":"sdrs", + "code":"42", + "des":"This API is used to query the details about a DR drill.NoneURI formatGET /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}GET /v1/{project_id}/disast", + "doc_type":"api", + "kw":"Querying Details About a DR Drill,DR Drill,API Reference", + "title":"Querying Details About a DR Drill", + "githuburl":"" + }, + { + "uri":"sdrs_05_0705.html", + "product_code":"sdrs", + "code":"43", + "des":"This API is used to update a DR drill name.NoneURI formatPUT /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}PUT /v1/{project_id}/disaster-recovery-", + "doc_type":"api", + "kw":"Updating a DR Drill Name,DR Drill,API Reference", + "title":"Updating a DR Drill Name", + "githuburl":"" + }, + { + "uri":"sdrs_05_0800.html", + "product_code":"sdrs", + "code":"44", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Tag Management", + "title":"Tag Management", + "githuburl":"" + }, + { + "uri":"sdrs_05_0801.html", + "product_code":"sdrs", + "code":"45", + "des":"This API is used to query protected instances by tag.URI formatPOST /v1/{project_id}/protected-instances/resource_instances/actionPOST /v1/{project_id}/protected-instance", + "doc_type":"api", + "kw":"Querying Protected Instances by Tag,Tag Management,API Reference", + "title":"Querying Protected Instances by Tag", + "githuburl":"" + }, + { + "uri":"sdrs_05_0802.html", + "product_code":"sdrs", + "code":"46", + "des":"This API is used to add protected instance tags for a specified protected instance in batches.You can add a maximum of 20 tags to a protected instance.This API is idempot", + "doc_type":"api", + "kw":"Adding Protected Instance Tags in Batches,Tag Management,API Reference", + "title":"Adding Protected Instance Tags in Batches", + "githuburl":"" + }, + { + "uri":"sdrs_05_0807.html", + "product_code":"sdrs", + "code":"47", + "des":"This API is used to delete protected instance tags for a specified protected instance in batches.You can add a maximum of 20 tags to a protected instance.This API is idem", + "doc_type":"api", + "kw":"Deleting Protected Instance Tags in Batches,Tag Management,API Reference", + "title":"Deleting Protected Instance Tags in Batches", + "githuburl":"" + }, + { + "uri":"sdrs_05_0803.html", + "product_code":"sdrs", + "code":"48", + "des":"You can add a maximum of 20 tags to a protected instance.This API is idempotent.If a to-be-created tag has the same key as an existing tag, the tag will be created and ov", + "doc_type":"api", + "kw":"Adding a Protected Instance Tag,Tag Management,API Reference", + "title":"Adding a Protected Instance Tag", + "githuburl":"" + }, + { + "uri":"sdrs_05_0804.html", + "product_code":"sdrs", + "code":"49", + "des":"This API is idempotent.During deletion, the tag character set is not verified. The URI must be encoded before the API is invoked. Other services need to decode the URI.Se", + "doc_type":"api", + "kw":"Deleting a Protected Instance Tag,Tag Management,API Reference", + "title":"Deleting a Protected Instance Tag", + "githuburl":"" + }, + { + "uri":"sdrs_05_0805.html", + "product_code":"sdrs", + "code":"50", + "des":"This API is used to query tags of a specified protected instance.URI formatGET /v1/{project_id}/protected-instances/{protected_instance_id}/tagsGET /v1/{project_id}/prote", + "doc_type":"api", + "kw":"Querying a Protected Instance Tag,Tag Management,API Reference", + "title":"Querying a Protected Instance Tag", + "githuburl":"" + }, + { + "uri":"sdrs_05_0806.html", + "product_code":"sdrs", + "code":"51", + "des":"This API is used to query all resource tags of a protected instance in a specified project.URI formatGET /v1/{project_id}/protected-instances/tagsGET /v1/{project_id}/pro", + "doc_type":"api", + "kw":"Querying Tags of All Protected Instances in a Specified Project,Tag Management,API Reference", + "title":"Querying Tags of All Protected Instances in a Specified Project", + "githuburl":"" + }, + { + "uri":"sdrs_05_0900.html", + "product_code":"sdrs", + "code":"52", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Task Center", + "title":"Task Center", + "githuburl":"" + }, + { + "uri":"sdrs_05_0901.html", + "product_code":"sdrs", + "code":"53", + "des":"This API is used to query failed tasks of all protection groups or failed tasks in a specified protection group.NoneURI formatGET /v1/{project_id}/task-center/failure-job", + "doc_type":"api", + "kw":"Querying Failed Tasks,Task Center,API Reference", + "title":"Querying Failed Tasks", + "githuburl":"" + }, + { + "uri":"sdrs_05_0902.html", + "product_code":"sdrs", + "code":"54", + "des":"This API is used to delete a failed task.NoneURI formatDELETE /v1/{project_id}/task-center/failure-jobs/{failure_job_id}DELETE /v1/{project_id}/task-center/failure-jobs/{", + "doc_type":"api", + "kw":"Deleting a Failed Task,Task Center,API Reference", + "title":"Deleting a Failed Task", + "githuburl":"" + }, + { + "uri":"sdrs_05_0903.html", + "product_code":"sdrs", + "code":"55", + "des":"This API is used to delete all the failed tasks of the protection group level, such as failed protection group creation or deletion tasks.URI formatDELETE /v1/{project_id", + "doc_type":"api", + "kw":"Deleting All Failed Tasks of All Protection Groups,Task Center,API Reference", + "title":"Deleting All Failed Tasks of All Protection Groups", + "githuburl":"" + }, + { + "uri":"sdrs_05_0904.html", + "product_code":"sdrs", + "code":"56", + "des":"This API is used to delete failed tasks in a protection group, such as failed protected instance creation or deletion tasks, and failed replication pair creation and dele", + "doc_type":"api", + "kw":"Deleting All Failed Tasks of a Protection Group,Task Center,API Reference", + "title":"Deleting All Failed Tasks of a Protection Group", + "githuburl":"" + }, + { + "uri":"sdrs_05_1100.html", + "product_code":"sdrs", + "code":"57", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Tenant Quota Management", + "title":"Tenant Quota Management", + "githuburl":"" + }, + { + "uri":"sdrs_05_1101.html", + "product_code":"sdrs", + "code":"58", + "des":"This API is used to query the tenant quota.NoneURI formatGET /v1/{project_id}/sdrs/quotasGET /v1/{project_id}/sdrs/quotasParameter descriptionParameterMandatoryTypeDescri", + "doc_type":"api", + "kw":"Querying the Tenant Quota,Tenant Quota Management,API Reference", + "title":"Querying the Tenant Quota", + "githuburl":"" + }, + { + "uri":"en-us_topic_0113127625.html", + "product_code":"sdrs", + "code":"59", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Appendixes", + "title":"Appendixes", + "githuburl":"" + }, + { + "uri":"en-us_topic_0113127626.html", + "product_code":"sdrs", + "code":"60", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Error Codes,Appendixes,API Reference", + "title":"Error Codes", + "githuburl":"" + }, + { + "uri":"en-us_topic_0126152930.html", + "product_code":"sdrs", + "code":"61", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Protection Group Status,Appendixes,API Reference", + "title":"Protection Group Status", + "githuburl":"" + }, + { + "uri":"en-us_topic_0126152931.html", + "product_code":"sdrs", + "code":"62", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Protected Instance Status,Appendixes,API Reference", + "title":"Protected Instance Status", + "githuburl":"" + }, + { + "uri":"en-us_topic_0126152932.html", + "product_code":"sdrs", + "code":"63", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Replication Pair Status,Appendixes,API Reference", + "title":"Replication Pair Status", + "githuburl":"" + }, + { + "uri":"en-us_topic_0126152933.html", + "product_code":"sdrs", + "code":"64", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"DR Drill Status,Appendixes,API Reference", + "title":"DR Drill Status", + "githuburl":"" + }, + { + "uri":"en-us_topic_0108184469.html", + "product_code":"sdrs", + "code":"65", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/sdrs/api-ref/CLASS.TXT.json b/docs/sdrs/api-ref/CLASS.TXT.json new file mode 100644 index 000000000..81b2f1192 --- /dev/null +++ b/docs/sdrs/api-ref/CLASS.TXT.json @@ -0,0 +1,587 @@ +[ + { + "desc":"Public cloud APIs comply with the RESTful API design principles. REST-based web services are organized into resources. Each resource is identified by one or more Uniform ", + "product_code":"sdrs", + "title":"API Usage Guidelines", + "uri":"sdrs_01_0000.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"SDRS APIs", + "uri":"sdrs_05_0000.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Job", + "uri":"sdrs_05_0100.html", + "doc_type":"api", + "p_code":"2", + "code":"3" + }, + { + "desc":"This API is used to query the execution status of a job.After a job, such as creating or deleting a protection group, creating or deleting a protected instance, and creat", + "product_code":"sdrs", + "title":"Querying the Job Status", + "uri":"sdrs_05_0101.html", + "doc_type":"api", + "p_code":"3", + "code":"4" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"API Version", + "uri":"sdrs_05_0200.html", + "doc_type":"api", + "p_code":"2", + "code":"5" + }, + { + "desc":"This API is used to query all available API versions of SDRS.NoneURI formatGET /GET /Parameter descriptionNoneNoneExample requestGET https://{endpoint}/GET https://{end", + "product_code":"sdrs", + "title":"Querying API Versions", + "uri":"sdrs_05_0201.html", + "doc_type":"api", + "p_code":"5", + "code":"6" + }, + { + "desc":"This API is used to query a specified API version.NoneURI formatGET /{api_version}GET /{api_version}Parameter descriptionParameterMandatoryDescriptionapi_versionYesSpecif", + "product_code":"sdrs", + "title":"Querying a Specified API Version", + "uri":"sdrs_05_0202.html", + "doc_type":"api", + "p_code":"5", + "code":"7" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Active-Active Domain", + "uri":"sdrs_05_0300.html", + "doc_type":"api", + "p_code":"2", + "code":"8" + }, + { + "desc":"This API is used to query an active-active domain.An active-active domain consists of the local storage device and remote storage device. Application servers can access d", + "product_code":"sdrs", + "title":"Querying an Active-Active Domain", + "uri":"sdrs_05_0301.html", + "doc_type":"api", + "p_code":"8", + "code":"9" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Protection Group", + "uri":"sdrs_05_0400.html", + "doc_type":"api", + "p_code":"2", + "code":"10" + }, + { + "desc":"This API is used to create a protection group.This API is an asynchronous interface. If this API is invoked successfully, the request is issued. To query the creation res", + "product_code":"sdrs", + "title":"Creating a Protection Group", + "uri":"sdrs_05_0401.html", + "doc_type":"api", + "p_code":"10", + "code":"11" + }, + { + "desc":"This API is used to query all protection groups of the current tenant.NoneURI formatGET /v1/{project_id}/server-groupsGET /v1/{project_id}/server-groupsParameter descript", + "product_code":"sdrs", + "title":"Querying Protection Groups", + "uri":"sdrs_05_0402.html", + "doc_type":"api", + "p_code":"10", + "code":"12" + }, + { + "desc":"This API is used to query the details about a protection group, such as the protection group ID and name.NoneURI formatGET /v1/{project_id}/server-groups/{server_group_id", + "product_code":"sdrs", + "title":"Querying the Details of a Protection Group", + "uri":"sdrs_05_0403.html", + "doc_type":"api", + "p_code":"10", + "code":"13" + }, + { + "desc":"This API is used to delete the specified protection group.The protection group does not have protected instances, replication pairs, or DR drills.A protection group canno", + "product_code":"sdrs", + "title":"Deleting a Protection Group", + "uri":"sdrs_05_0404.html", + "doc_type":"api", + "p_code":"10", + "code":"14" + }, + { + "desc":"This API is used to change the name of a protection group.NoneURI formatPUT /v1/{project_id}/server-groups/{server_group_id}PUT /v1/{project_id}/server-groups/{server_gro", + "product_code":"sdrs", + "title":"Changing the Name of a Protection Group", + "uri":"sdrs_05_0405.html", + "doc_type":"api", + "p_code":"10", + "code":"15" + }, + { + "desc":"This API is used to enable protection or enable protection again for a protection group.The protection group must have replication pairs.status of the protection group mu", + "product_code":"sdrs", + "title":"Enabling Protection or Enabling Protection Again for a Protection Group", + "uri":"sdrs_05_0406.html", + "doc_type":"api", + "p_code":"10", + "code":"16" + }, + { + "desc":"This API is used to disable protection for a protection group.status of the protection group must be protected or error-stopping.URI formatPOST /v1/{project_id}/server-gr", + "product_code":"sdrs", + "title":"Disabling Protection for a Protection Group", + "uri":"sdrs_05_0407.html", + "doc_type":"api", + "p_code":"10", + "code":"17" + }, + { + "desc":"When the production site of a protection group becomes faulty, services of the protection group are switched over to the DR site, and servers and disks at the DR site sta", + "product_code":"sdrs", + "title":"Performing a Failover for a Protection Group", + "uri":"sdrs_05_0408.html", + "doc_type":"api", + "p_code":"10", + "code":"18" + }, + { + "desc":"When you perform a planned failover for a protection group, the current production site of the protection group is switched to the DR site specified when the protection g", + "product_code":"sdrs", + "title":"Performing a Planned Failover for a Protection Group", + "uri":"sdrs_05_0409.html", + "doc_type":"api", + "p_code":"10", + "code":"19" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Protected Instance", + "uri":"sdrs_05_0500.html", + "doc_type":"api", + "p_code":"2", + "code":"20" + }, + { + "desc":"This API is used to create a protected instance. When a protected instance is created, the default name of the server at the DR site is the same as that of the server at ", + "product_code":"sdrs", + "title":"Creating a Protected Instance", + "uri":"sdrs_05_0501.html", + "doc_type":"api", + "p_code":"20", + "code":"21" + }, + { + "desc":"This API is used to delete a specified protected instance.status of the protected instance must be available, protected, failed-over, error, error-starting, error-stoppin", + "product_code":"sdrs", + "title":"Deleting a Protected Instance", + "uri":"sdrs_05_0502.html", + "doc_type":"api", + "p_code":"20", + "code":"22" + }, + { + "desc":"This API is used to query all protected instances of the current tenant.NoneURI formatGET /v1/{project_id}/protected-instancesGET /v1/{project_id}/protected-instancesPara", + "product_code":"sdrs", + "title":"Querying Protected Instances", + "uri":"sdrs_05_0503.html", + "doc_type":"api", + "p_code":"20", + "code":"23" + }, + { + "desc":"This API is used to query the details about a protected instance, such as the protected instance ID and name.NoneURI formatGET /v1/{project_id}/protected-instances/{prote", + "product_code":"sdrs", + "title":"Querying Details About a Protected Instance", + "uri":"sdrs_05_0504.html", + "doc_type":"api", + "p_code":"20", + "code":"24" + }, + { + "desc":"This API is used to change the name of a protected instance.NoneURI formatPUT /v1/{project_id}/protected-instances/{protected_instance_id}PUT /v1/{project_id}/protected-i", + "product_code":"sdrs", + "title":"Changing the Name of a Protected Instance", + "uri":"sdrs_05_0505.html", + "doc_type":"api", + "p_code":"20", + "code":"25" + }, + { + "desc":"This API is used to attach the specified replication pair to the specified protected instance.status of the protection group must be available or protected.status of the ", + "product_code":"sdrs", + "title":"Attaching a Replication Pair to a Protected Instance", + "uri":"sdrs_05_0506.html", + "doc_type":"api", + "p_code":"20", + "code":"26" + }, + { + "desc":"This API is used to detach a specified replication pair from a specified protected instance.status of the protection group must be available, protected, failed-over, erro", + "product_code":"sdrs", + "title":"Detaching a Replication Pair from a Protected Instance", + "uri":"sdrs_05_0507.html", + "doc_type":"api", + "p_code":"20", + "code":"27" + }, + { + "desc":"This API is used to add an NIC to the specified protected instance.status of the protection group must be available or protected.status of the protected instance must be ", + "product_code":"sdrs", + "title":"Adding an NIC to a Protected Instance", + "uri":"sdrs_05_0508.html", + "doc_type":"api", + "p_code":"20", + "code":"28" + }, + { + "desc":"This API is used to delete an NIC from the specified protected instance.status of the protection group must be available or protected.status of the protected instance mus", + "product_code":"sdrs", + "title":"Deleting an NIC from a Protected Instance", + "uri":"sdrs_05_0509.html", + "doc_type":"api", + "p_code":"20", + "code":"29" + }, + { + "desc":"This API is used to modify the specifications of a server in a protected instance, including:Modify the specifications of both the production and DR site servers.Modify t", + "product_code":"sdrs", + "title":"Modifying the Specifications of a Protected Instance", + "uri":"sdrs_05_0510.html", + "doc_type":"api", + "p_code":"20", + "code":"30" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Replication Pair", + "uri":"sdrs_05_0600.html", + "doc_type":"api", + "p_code":"2", + "code":"31" + }, + { + "desc":"This API is used to create a replication pair and add it to the specified protection group.status of the protection group must be available or protected.If server_type of", + "product_code":"sdrs", + "title":"Creating a Replication Pair", + "uri":"sdrs_05_0601.html", + "doc_type":"api", + "p_code":"31", + "code":"32" + }, + { + "desc":"This API is used to delete a specified replication pair.status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-re", + "product_code":"sdrs", + "title":"Deleting a Replication Pair", + "uri":"sdrs_05_0602.html", + "doc_type":"api", + "p_code":"31", + "code":"33" + }, + { + "desc":"This API is used to query all replication pairs in a specified protection group. If you do not specify the protection group, the system lists all the replication pairs of", + "product_code":"sdrs", + "title":"Querying Replication Pairs", + "uri":"sdrs_05_0603.html", + "doc_type":"api", + "p_code":"31", + "code":"34" + }, + { + "desc":"This API is used to query the details about a replication pair.NoneURI formatGET /v1/{project_id}/replications/{replication_id}GET /v1/{project_id}/replications/{replicat", + "product_code":"sdrs", + "title":"Querying Details About a Replication Pair", + "uri":"sdrs_05_0604.html", + "doc_type":"api", + "p_code":"31", + "code":"35" + }, + { + "desc":"This API is used to expand the capacity of the two disks in a replication pair.status of the replication pair must be available, protected, or error-extending.status of d", + "product_code":"sdrs", + "title":"Expanding the Capacity of a Replication Pair", + "uri":"sdrs_05_0605.html", + "doc_type":"api", + "p_code":"31", + "code":"36" + }, + { + "desc":"This API is used to change the name of a replication pair.NoneURI formatPUT /v1/{project_id}/replications/{replication_id}PUT /v1/{project_id}/replications/{replication_i", + "product_code":"sdrs", + "title":"Changing the Name of a Replication Pair", + "uri":"sdrs_05_0606.html", + "doc_type":"api", + "p_code":"31", + "code":"37" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"DR Drill", + "uri":"sdrs_05_0700.html", + "doc_type":"api", + "p_code":"2", + "code":"38" + }, + { + "desc":"This API is used to create a disaster recovery (DR) drill.status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-", + "product_code":"sdrs", + "title":"Creating a DR Drill", + "uri":"sdrs_05_0701.html", + "doc_type":"api", + "p_code":"38", + "code":"39" + }, + { + "desc":"This API is used to delete a specified DR drill. After you delete the specified DR drill:The DR drill as well as the disks and NICs attached to the DR drill will be delet", + "product_code":"sdrs", + "title":"Deleting a DR Drill", + "uri":"sdrs_05_0702.html", + "doc_type":"api", + "p_code":"38", + "code":"40" + }, + { + "desc":"This API is used to query all DR drills in a specified protection group. If you do not specify the protection group, the system lists all the DR drills of the tenant.None", + "product_code":"sdrs", + "title":"Querying DR Drills", + "uri":"sdrs_05_0703.html", + "doc_type":"api", + "p_code":"38", + "code":"41" + }, + { + "desc":"This API is used to query the details about a DR drill.NoneURI formatGET /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}GET /v1/{project_id}/disast", + "product_code":"sdrs", + "title":"Querying Details About a DR Drill", + "uri":"sdrs_05_0704.html", + "doc_type":"api", + "p_code":"38", + "code":"42" + }, + { + "desc":"This API is used to update a DR drill name.NoneURI formatPUT /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}PUT /v1/{project_id}/disaster-recovery-", + "product_code":"sdrs", + "title":"Updating a DR Drill Name", + "uri":"sdrs_05_0705.html", + "doc_type":"api", + "p_code":"38", + "code":"43" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Tag Management", + "uri":"sdrs_05_0800.html", + "doc_type":"api", + "p_code":"2", + "code":"44" + }, + { + "desc":"This API is used to query protected instances by tag.URI formatPOST /v1/{project_id}/protected-instances/resource_instances/actionPOST /v1/{project_id}/protected-instance", + "product_code":"sdrs", + "title":"Querying Protected Instances by Tag", + "uri":"sdrs_05_0801.html", + "doc_type":"api", + "p_code":"44", + "code":"45" + }, + { + "desc":"This API is used to add protected instance tags for a specified protected instance in batches.You can add a maximum of 20 tags to a protected instance.This API is idempot", + "product_code":"sdrs", + "title":"Adding Protected Instance Tags in Batches", + "uri":"sdrs_05_0802.html", + "doc_type":"api", + "p_code":"44", + "code":"46" + }, + { + "desc":"This API is used to delete protected instance tags for a specified protected instance in batches.You can add a maximum of 20 tags to a protected instance.This API is idem", + "product_code":"sdrs", + "title":"Deleting Protected Instance Tags in Batches", + "uri":"sdrs_05_0807.html", + "doc_type":"api", + "p_code":"44", + "code":"47" + }, + { + "desc":"You can add a maximum of 20 tags to a protected instance.This API is idempotent.If a to-be-created tag has the same key as an existing tag, the tag will be created and ov", + "product_code":"sdrs", + "title":"Adding a Protected Instance Tag", + "uri":"sdrs_05_0803.html", + "doc_type":"api", + "p_code":"44", + "code":"48" + }, + { + "desc":"This API is idempotent.During deletion, the tag character set is not verified. The URI must be encoded before the API is invoked. Other services need to decode the URI.Se", + "product_code":"sdrs", + "title":"Deleting a Protected Instance Tag", + "uri":"sdrs_05_0804.html", + "doc_type":"api", + "p_code":"44", + "code":"49" + }, + { + "desc":"This API is used to query tags of a specified protected instance.URI formatGET /v1/{project_id}/protected-instances/{protected_instance_id}/tagsGET /v1/{project_id}/prote", + "product_code":"sdrs", + "title":"Querying a Protected Instance Tag", + "uri":"sdrs_05_0805.html", + "doc_type":"api", + "p_code":"44", + "code":"50" + }, + { + "desc":"This API is used to query all resource tags of a protected instance in a specified project.URI formatGET /v1/{project_id}/protected-instances/tagsGET /v1/{project_id}/pro", + "product_code":"sdrs", + "title":"Querying Tags of All Protected Instances in a Specified Project", + "uri":"sdrs_05_0806.html", + "doc_type":"api", + "p_code":"44", + "code":"51" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Task Center", + "uri":"sdrs_05_0900.html", + "doc_type":"api", + "p_code":"2", + "code":"52" + }, + { + "desc":"This API is used to query failed tasks of all protection groups or failed tasks in a specified protection group.NoneURI formatGET /v1/{project_id}/task-center/failure-job", + "product_code":"sdrs", + "title":"Querying Failed Tasks", + "uri":"sdrs_05_0901.html", + "doc_type":"api", + "p_code":"52", + "code":"53" + }, + { + "desc":"This API is used to delete a failed task.NoneURI formatDELETE /v1/{project_id}/task-center/failure-jobs/{failure_job_id}DELETE /v1/{project_id}/task-center/failure-jobs/{", + "product_code":"sdrs", + "title":"Deleting a Failed Task", + "uri":"sdrs_05_0902.html", + "doc_type":"api", + "p_code":"52", + "code":"54" + }, + { + "desc":"This API is used to delete all the failed tasks of the protection group level, such as failed protection group creation or deletion tasks.URI formatDELETE /v1/{project_id", + "product_code":"sdrs", + "title":"Deleting All Failed Tasks of All Protection Groups", + "uri":"sdrs_05_0903.html", + "doc_type":"api", + "p_code":"52", + "code":"55" + }, + { + "desc":"This API is used to delete failed tasks in a protection group, such as failed protected instance creation or deletion tasks, and failed replication pair creation and dele", + "product_code":"sdrs", + "title":"Deleting All Failed Tasks of a Protection Group", + "uri":"sdrs_05_0904.html", + "doc_type":"api", + "p_code":"52", + "code":"56" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Tenant Quota Management", + "uri":"sdrs_05_1100.html", + "doc_type":"api", + "p_code":"2", + "code":"57" + }, + { + "desc":"This API is used to query the tenant quota.NoneURI formatGET /v1/{project_id}/sdrs/quotasGET /v1/{project_id}/sdrs/quotasParameter descriptionParameterMandatoryTypeDescri", + "product_code":"sdrs", + "title":"Querying the Tenant Quota", + "uri":"sdrs_05_1101.html", + "doc_type":"api", + "p_code":"57", + "code":"58" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Appendixes", + "uri":"en-us_topic_0113127625.html", + "doc_type":"api", + "p_code":"", + "code":"59" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Error Codes", + "uri":"en-us_topic_0113127626.html", + "doc_type":"api", + "p_code":"59", + "code":"60" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Protection Group Status", + "uri":"en-us_topic_0126152930.html", + "doc_type":"api", + "p_code":"59", + "code":"61" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Protected Instance Status", + "uri":"en-us_topic_0126152931.html", + "doc_type":"api", + "p_code":"59", + "code":"62" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Replication Pair Status", + "uri":"en-us_topic_0126152932.html", + "doc_type":"api", + "p_code":"59", + "code":"63" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"DR Drill Status", + "uri":"en-us_topic_0126152933.html", + "doc_type":"api", + "p_code":"59", + "code":"64" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"sdrs", + "title":"Change History", + "uri":"en-us_topic_0108184469.html", + "doc_type":"api", + "p_code":"", + "code":"65" + } +] \ No newline at end of file diff --git a/docs/sdrs/api-ref/PARAMETERS.txt b/docs/sdrs/api-ref/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/sdrs/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/sdrs/api-ref/en-us_topic_0108184469.html b/docs/sdrs/api-ref/en-us_topic_0108184469.html new file mode 100644 index 000000000..77b68188c --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0108184469.html @@ -0,0 +1,122 @@ + + +

Change History

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Released On

+

Description

+

2022-08-31

+

Deleted the yearly/monthly billing from the parameter description of some APIs.

+

2021-12-01

+

Modified the following content:

+

Optimized descriptions in Performing a Failover for a Protection Group.

+

2020-03-12

+

Modified the following content:

+

Added the DeH restriction, added the tags field description, and deleted the DeH-related parameters in the example request in Creating a Protected Instance.

+

2019-11-19

+

Modified the following content:

+

Unified the parameter types in the parameter description tables.

+

2019-05-30

+

Modified the following content:

+ +

2019-05-27

+

Accepted in OTC-4.0/Agile.

+

2019-05-07

+

Modified the following content:

+ +

2019-04-24

+

Modified the following content:

+ +

2019-03-30

+

Added the following content:

+ +

Modified the following content:

+ +

2018-11-06

+

Added the following content:

+ +

2018-10-26

+

Added the following content:

+

A note in Expanding the Capacity of a Replication Pair

+

2018-10-12

+

Modified the following content:

+ +

2018-09-29

+

Modified the following content:

+ +

2018-09-25

+

Added the following content:

+ +

2018-09-15

+

Added the following content:

+ +

Modified the following content:

+ +

2018-09-03

+

Added the following content:

+ +

Modified the following content:

+
  • Error code descriptions in Error Codes
  • Changed SDRS.0218 to SDRS.0219.
  • Descriptions of dr_type
+

Deleted the following content:

+
  • Section "Adding a NIC to a Protected Instance"
  • Section "Deleting a NIC from a Protected Instance"
+

2018-07-30

+

This issue is the first official release.

+
+
+
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0113127625.html b/docs/sdrs/api-ref/en-us_topic_0113127625.html new file mode 100644 index 000000000..7d4c3b0b7 --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0113127625.html @@ -0,0 +1,19 @@ + + +

Appendixes

+
+
+ +
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0113127626.html b/docs/sdrs/api-ref/en-us_topic_0113127626.html new file mode 100644 index 000000000..3fd7b77f3 --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0113127626.html @@ -0,0 +1,2425 @@ + + +

Error Codes

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Status Code

+

Error Code

+

Error Message

+

Description

+

Handling Measure

+

400

+

SDRS.0001

+

Invalid tenant ID

+

The tenant ID is invalid.

+

Use a valid tenant ID.

+

400

+

SDRS.0002

+

Invalid tenant token

+

The tenant token is invalid.

+

Use a valid token.

+

400

+

SDRS.0003

+

Invalid roles

+

The tenant roles are invalid.

+

Check whether the tenant has the desired roles. If there are no desired roles, add them for the tenant. Check whether the roles have the required permissions using IAM.

+

400

+

SDRS.0004

+

Incorrect API invoking permissions

+

The user does not have the required permissions to invoke the interface.

+

Add the required permissions for the user. Check whether the roles of the user have the required permissions using IAM.

+

400

+

SDRS.0005

+

No permission for the operation

+

The user does not have the permission to perform the operation.

+

Add the required operation permission.

+

400

+

SDRS.0201

+

Invalid request parameters

+

The request parameters are invalid.

+

Use valid request parameters.

+

400

+

SDRS.0202

+

Invalid name

+

The name is invalid.

+

Use a valid name.

+

400

+

SDRS.0203

+

Invalid AZ

+

The AZ is invalid.

+

Use a valid AZ.

+

400

+

SDRS.0204

+

Invalid VPC

+

The VPC is invalid.

+

Use a valid VPC.

+

400

+

SDRS.0205

+

Invalid domain ID

+

The domain ID is invalid.

+

Use a valid domain ID.

+

400

+

SDRS.0206

+

Invalid action

+

The action is invalid.

+

Use a valid action.

+

400

+

SDRS.0207

+

Invalid protection group ID

+

The protection group ID is invalid.

+

Use a valid protection group ID.

+

400

+

SDRS.0208

+

Invalid protected instance ID

+

The protected instance ID is invalid.

+

Use a valid protected instance ID.

+

400

+

SDRS.0209

+

Incorrect status

+

The status is incorrect.

+

Ensure that the status is correct.

+

400

+

SDRS.0210

+

Invalid server ID

+

The server ID is invalid.

+

Use a valid server ID.

+

400

+

SDRS.0211

+

Invalid disk ID

+

The disk ID is invalid.

+

Use a valid disk ID.

+

400

+

SDRS.0212

+

Invalid description

+

The description is invalid.

+

Use a valid description.

+

400

+

SDRS.0213

+

Invalid replication pair ID

+

The replication pair ID is invalid.

+

Use a valid replication pair ID.

+

400

+

SDRS.0214

+

Incorrect replication pair status

+

The replication pair status is incorrect.

+

Ensure that the replication status is correct.

+

400

+

SDRS.0215

+

Invalid replication group ID

+

The replication consistency group ID is invalid.

+

Use a valid replication consistency group ID.

+

400

+

SDRS.0216

+

Invalid preferred AZ

+

The preferred AZ is invalid.

+

Use a valid AZ as the preferred AZ.

+

400

+

SDRS.0217

+

Invalid DR drill type

+

The DR drill type is invalid.

+

Use a valid DR drill type.

+

400

+

SDRS.0219

+

Invalid IP address

+

The IP address is invalid.

+

Use a valid IP address.

+

400

+

SDRS.0221

+

limit value must be greater than 0 or less than 1000

+

Invalid limit value. The value must be greater than 0 and less than 1000.

+

Use a valid limit value.

+

400

+

SDRS.0222

+

offset value cannot be negative, and must be an integer

+

Invalid offset value. The value cannot be negative and must be an integer.

+

Use a valid offset value.

+

400

+

SDRS.0223

+

Invalid NIC ID

+

Invalid NIC ID.

+

Use a valid NIC ID.

+

400

+

SDRS.0224

+

Invalid replication model.

+

The replication model is invalid.

+

Use a valid replication model.

+

400

+

SDRS.0225

+

Frozen volume

+

The volume has been frozen.

+

Use a volume that is not frozen.

+

400

+

SDRS.0226

+

IDs exceed the upper limit

+

The number of IDs exceeds the upper limit.

+

Set an ID list with at most 30 IDs.

+

400

+

SDRS.0301

+

Invalid quota resource name

+

The quota resource name is invalid.

+

Use a valid quota resource name.

+

400

+

SDRS.0302

+

Invalid quota value

+

The quota value is invalid.

+

Use a valid quota value.

+

400

+

SDRS.0303

+

Quota value less than used resources

+

The quota value is less than the quantity of used resources.

+

Use a valid quota value.

+

400

+

SDRS.0304

+

Quota value greater than the maximum or less than the minimum

+

The quota value is greater than the maximum value or less than the minimum value.

+

Use a valid quota value.

+

500

+

SDRS.0006

+

Failed to obtain the token for the tenant

+

Failed to obtain the token for the tenant.

+

Check the user permission.

+

500

+

SDRS.0007

+

Failed to upgrade the permission

+

Failed to upgrade the permission.

+

Check whether the administrator account is used to upgrade the permission and whether the account is locked.

+

500

+

SDRS.0008

+

Network connection timeout

+

Network connection timed out.

+

Try again. If the retry fails, check the network status. If the network is normal, contact customer service.

+

500

+

SDRS.0009

+

No permission for the operation

+

The user does not have the permission to perform the operation.

+

Check whether the user permission is limited.

+

500

+

SDRS.0010

+

Data error

+

Data error.

+

Contact customer service.

+

500

+

SDRS.0011

+

Client error

+

Client error.

+

Contact customer service.

+

500

+

SDRS.0012

+

Incorrect configuration

+

The configuration is incorrect.

+

Contact customer service.

+

500

+

SDRS.0013

+

Internal error

+

Internal error.

+

Contact customer service.

+

500

+

SDRS.0014

+

Null result of decoded tenant token

+

The result of decoding the tenant token is null.

+

Use a correct token.

+

500

+

SDRS.0015

+

Null or empty domain ID decoded from token

+

The domain ID decoded from the tenant token is null or empty.

+

Use a correct token.

+

500

+

SDRS.0016

+

Null or empty domain name decoded from token

+

The domain name decoded from the tenant token is null or empty.

+

Use a correct token.

+

500

+

SDRS.0401

+

Incorrect number of subjobs

+

The number of subjobs is incorrect.

+

Contact customer service.

+

500

+

SDRS.0402

+

Error occurred when submitting the subjob again

+

An error occurred when submitting the subjob again.

+

Contact customer service.

+

500

+

SDRS.0403

+

Error occurred during job context query

+

An error occurred when querying the job context.

+

Contact customer service.

+

500

+

SDRS.0404

+

Failed to submit the job

+

Failed to submit the job.

+

Contact customer service.

+

500

+

SDRS.0405

+

Failed to execute the job

+

Failed to execute the job.

+

Contact customer service.

+

500

+

SDRS.0406

+

Failed to execute the subjob

+

Failed to execute the subjob.

+

Contact customer service.

+

500

+

SDRS.0407

+

Failed to roll back the job

+

Failed to roll back the job.

+

Contact customer service.

+

500

+

SDRS.0408

+

Null job

+

The job is null.

+

Contact customer service.

+

400

+

SDRS.1001

+

Protection group deletion not allowed due to a protected instance

+

The protection group cannot be deleted because it contains a protected instance.

+

Delete the protected instance from the protection group and then delete the protection group.

+

400

+

SDRS.1002

+

Operation not allowed for the protection group in the current state

+

This operation cannot be performed for the protection group in the current state.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1003

+

Protection group deletion not allowed due to a DR drill

+

The protection group cannot be deleted because it contains a DR drill.

+

Delete the DR drill from the protection group and then delete the protection group.

+

400

+

SDRS.1010

+

Protection group deletion not allowed due to a replication pair

+

The protection group cannot be deleted because it contains a replication pair.

+

Delete the replication pair from the protection group and then delete the protection group.

+

400

+

SDRS.1013

+

Protection group not found

+

The protection group is not found.

+

Use an available protection group.

+

400

+

SDRS.1015

+

Abnormal protection group data

+

The protection group data is abnormal.

+

Check the data of the protection group. If the fault persists, contact customer service.

+

400

+

SDRS.1017

+

Operation not allowed because the protection group status not available

+

This operation cannot be performed because the protection group status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1018

+

Operation not allowed because the protection status of the protection group not stopped

+

This operation cannot be performed because the protection status of the protection group is not stopped.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1019

+

Operation not allowed because the protection status of the protection group not started

+

This operation cannot be performed because the protection status of the protection group is not started.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1020

+

Operation not allowed because the protection group status not available or starting

+

This operation cannot be performed because the protection group status is not available or starting.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1021

+

Operation not allowed because the protection group status not available, failed-over, or failed-over-back

+

This operation cannot be performed because the protection group status is not available, failed-over, or failed-over-back.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1022

+

Operation not allowed because the protection group status not available, error-failing-over, or error-failing-over-back

+

This operation cannot be performed because the protection group status is not available, error-failing-over, or error-failing-over-back.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1023

+

Operation not allowed because the protection group status not available, error-reversing, or error-failing-back

+

This operation cannot be performed because the protection group status is not available, error-reversing, or error-failing-back.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1024

+

Operation not allowed because the protection group status not available or protected

+

This operation cannot be performed because the protection group status is not available or protected.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1025

+

priority station value of the protection group is different from that of the protected instance

+

The priority station value of the protection group is different from that of the protected instance.

+

Contact customer service.

+

400

+

SDRS.1026

+

priority station value of the protection group is different from that of the replication pair

+

The priority station value of the protection group is different from that of the replication pair.

+

Contact customer service.

+

400

+

SDRS.1027

+

Failed to enable protection

+

Failed to enable protection.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1028

+

Failed to disable protection

+

Failed to disable protection.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1029

+

Failed to perform the planned failover

+

Failed to perform the planned failover for the protection group.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1030

+

Failed to perform the failover

+

Failed to perform the failover for the protection group.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1032

+

Failed to enable protection again

+

Failed to enable reprotection for the protection group.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.0305

+

Insufficient protection group quota

+

The protection group quota is insufficient.

+

Contact customer service to increase the quota.

+

500

+

SDRS.1011

+

Failed to query the active-active domain

+

Failed to query the active-active domain.

+

Try again. If the fault persists, contact customer service.

+

500

+

SDRS.1014

+

Failed to create the protection group

+

Failed to create the protection group.

+

Contact customer service.

+

500

+

SDRS.1016

+

Failed to delete the protection group

+

Failed to delete the protection group.

+

Contact customer service.

+

400

+

SDRS.1301

+

Protected instance deletion not allowed in the current state

+

The protected instance cannot be deleted in the current state.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1303

+

Server AZ and production site AZ of the protection group are different

+

The server AZ and the production site AZ of the protection group are different.

+

Ensure that the server AZ is the same as the production site AZ of the protection group.

+

For example, if the production site AZ of the protection group is AZ1, ensure that the production site server AZ is AZ1.

+

400

+

SDRS.1304

+

VPC of the server inconsistent with that of the protection group

+

The VPC of the server and the VPC of the protection group are different.

+

Ensure that the VPC of the server is the same as that of the protection group.

+

400

+

SDRS.1305

+

Server already used to create a protected instance

+

The server has been used to create a protected instance.

+

One server can be used to create only one protected instance. Select a server not used in any protected instance and create the instance again.

+

400

+

SDRS.1306

+

Failed to create the server

+

Failed to create the server.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1307

+

Failed to delete the server

+

Failed to delete the server.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1308

+

Failed to stop the server

+

Failed to stop the server.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1309

+

Inconsistent production site and DR site disk specifications

+

Specifications of the production site disk and DR site disk are different.

+

Check whether the specifications of the production site and DR site disks of the protected instance are consistent. If they are not, contact customer service.

+

400

+

SDRS.1310

+

NIC not exist

+

The NIC does not exist.

+

Use an available NIC.

+

400

+

SDRS.1311

+

Deleting the primary NIC not allowed

+

The primary NIC cannot be deleted.

+

Check whether the NIC is the primary one. If it is, it cannot be deleted.

+

400

+

SDRS.1312

+

Failed to add the NIC to the protected instance

+

Failed to add the NIC to the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1313

+

Failed to delete the NIC from the protected instance

+

Failed to delete the NIC from the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1314

+

Abnormal protected instance

+

The protected instance is abnormal.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1315

+

Extension NIC not found

+

The extension NIC is not found.

+

Check whether the extension NIC is normal. Use the correct extension NIC, or contact customer service.

+

400

+

SDRS.1316

+

Server not stopped

+

The server is not stopped.

+

Check whether the server is stopped. If it is working, stop it.

+

400

+

SDRS.1317

+

Failed to attach the NIC to a protected instance

+

Failed to attach the NIC to the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1318

+

Failed to detach the NIC from a protected instance

+

Failed to detach the NIC from the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1319

+

Server at the current production site not stopped

+

The current production site server is not stopped.

+

Check whether the current production site server is stopped. If not, stop it.

+

400

+

SDRS.1320

+

Protected instance not found

+

The protected instance is not found.

+

Use an available protected instance.

+

400

+

SDRS.1321

+

No disk attached to the server

+

No disk is attached to the server.

+

Check whether disks are attached to the server and be clear about the operation constraints.

+

400

+

SDRS.1322

+

Abnormal system disk of the server

+

The system disk of the server is abnormal.

+

Contact customer service.

+

400

+

SDRS.1323

+

Protected instance creation not allowed because the protection group status not available

+

Protected instances cannot be created because the protection group status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1324

+

Protected instance deletion not allowed because the protection group status not available

+

Protected instances cannot be deleted because the protection group status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1325

+

Protected instance creation not allowed because the protection group status not stopped

+

Protected instances cannot be created because the protection group status is not stopped.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1326

+

Server not found

+

The server is not found.

+

Use an available server.

+

400

+

SDRS.1327

+

NIC-related operation not allowed for the protected instance state in the current state

+

The NIC-related operation cannot be performed for the protected instance in the current state.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1328

+

Operation not allowed because the protected instance status not available

+

This operation cannot be performed because the protected instance status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1329

+

Failed to modify protected instance specifications

+

Failed to modify the specifications of the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1330

+

Server at the current production site cannot be deleted because the current production site not the one specified when the protection group is created

+

The server at the current production site cannot be deleted because the current production site is not the one specified when the protection group is created.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1331

+

Failed to delete the EIP

+

Failed to release the EIP.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1332

+

Failed to add the EIP

+

Failed to add the EIP.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1333

+

Operation not allowed because the server status is not active or shutoff

+

A protected instance cannot be created when the server status is not active or shutoff.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1334

+

Private IP address in the subnet is in use

+

The private IP address is already in use.

+

Check whether the private IP address is in use.

+

400

+

SDRS.1335

+

Subnet not found

+

The subnet was not found.

+

Use a correct subnet.

+

400

+

SDRS.1336

+

Protected instance cannot be created using a production site server attached with an extension NIC in the current system

+

In the current system, a protected instance cannot be created using a production site server attached with an extension NIC.

+

Delete the extension NIC or select the correct production site server.

+

400

+

SDRS.1337

+

Current system does not support the extension NIC to be added to the protected instance

+

In the current system, extension NICs cannot be added to protected instances.

+

Be clear about the operation constraints.

+

400

+

SDRS.1338

+

Failed to delete the EIP of the current production site server because the current production site is not the one specified when the protection group is created

+

The EIP of the current production site server cannot be deleted because the current production site is not the one specified when the protection group is created.

+

Be clear about the operation constraints.

+

400

+

SDRS.1339

+

No system disk attached to the server

+

No system disk is attached to the server.

+

Check whether a system disk is attached to the server and be clear about the operation constraints.

+

400

+

SDRS.1340

+

Number of NICs for one protected instance reaches the upper limit

+

The number of NICs for one protected instance reaches the upper limit.

+

Check whether the number of NICs for one protected instance reaches the upper limit and be clear about the operation constraints.

+

400

+

SDRS.1341

+

Another flavor must be used for resizing

+

This flavor cannot be used for the flavor change.

+

The target flavor is the same as the current one. Select another flavor for the flavor change.

+

400

+

SDRS.1342

+

Current DR site server is not stopped

+

The current DR site server is not stopped.

+

Check whether the current DR site server is stopped. If not, contact the administrator to stop it.

+

400

+

SDRS.1350

+

Failed to create the protected instance

+

Failed to create the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1351

+

Failed to delete the protected instance

+

Failed to delete the protected instance.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1352

+

Current production site server not stopped

+

The current production site server is not stopped.

+

Check whether the current production site server is stopped. If not, stop it and then perform the operation.

+

400

+

SDRS.1353

+

DR site server specifications not support protected instance creation

+

The DR site server specifications do not support the creation of a protected instance.

+

Use a server of other specifications to create a protected instance.

+

400

+

SDRS.1355

+

Failed to delete the DR site server in the protected instance because the current account is frozen

+

Failed to delete the DR site server in the protected instance because the current account is frozen.

+

Do not select Delete DR site server, or wait until your account is unfrozen and then perform the operation.

+

400

+

SDRS.1356

+

Production site server specifications not support protected instance creation

+

The production site server specifications do not support the creation of a protected instance.

+

Use a server of other specifications to create a protected instance.

+

400

+

SDRS.1357

+

Production site server locked by system

+

The production site server is locked by the system.

+

Check whether the current production site server is locked by the system. If so, wait until the server is unlocked and then perform the operation.

+

400

+

SDRS.1358

+

Number of protected instances in the protection group reaches the upper limit

+

The number of protected instances in the protection group reaches the upper limit.

+

Select another protection group to create a protected instance.

+

400

+

SDRS.1359

+

Production site server locked by another cloud service

+

The production site server is locked by another cloud service.

+

Check whether the current production site server is locked by another cloud service. If so, wait until the server is unlocked and then perform the operation.

+

400

+

SDRS.1601

+

Replication pair status not available

+

The replication pair status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1603

+

Replication pair attached or device name used to attach to a disk

+

The replication pair has been attached, or the device name has been used.

+

Use an available replication pair or device name.

+

400

+

SDRS.1604

+

Replication pair not attached

+

The replication pair is not attached.

+

Check the replication pair attachment status and be clear about the operation constraints.

+

400

+

SDRS.1605

+

Replication pair attached

+

The replication pair has been attached.

+

Check the replication pair attachment status and be clear about the operation constraints.

+

400

+

SDRS.1606

+

Failed to create the replication pair and status being error

+

The replication pair failed to be created and its status is error.

+

Contact customer service.

+

400

+

SDRS.1607

+

Failed to delete the replication pair

+

The replication pair failed to be deleted and its status is error-deleting.

+

Contact customer service.

+

400

+

SDRS.1608

+

Replication pair not found

+

The replication pair is not found.

+

Use an available replication pair.

+

400

+

SDRS.1609

+

Replication pair creation failure

+

Failed to create the replication pair.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1610

+

Replication pair update failure

+

Failed to update the replication pair.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1611

+

Replication pair not in the protection group

+

The replication pair is not in the protection group.

+

Use an available protection group.

+

400

+

SDRS.1801

+

Disk status not available

+

The disk status is not available.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

400

+

SDRS.1802

+

Disk encrypted

+

The disk is an encrypted disk.

+

Check whether the disk is an encrypted disk. An encrypted disk cannot be used to create a replication pair.

+

400

+

SDRS.1803

+

Null disk

+

The disk is null.

+

Use a correct disk.

+

400

+

SDRS.1804

+

Disk not attached

+

The disk is not attached.

+

Check whether the disk is attached.

+

400

+

SDRS.1805

+

Disk not used for creating replication pair

+

The disk is not used for creating a replication pair.

+

Check whether the disk is used for creating a replication pair.

+

400

+

SDRS.1806

+

Operation not allowed by disk type

+

The disk type does not allow this operation.

+

Check the disk type and ensure that you use a correct disk type.

+

400

+

SDRS.1807

+

Disks failed to be attached to the server

+

Disks failed to be attached to the server.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1808

+

Disks failed to be detached from the server

+

Disks failed to be detached from the server.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1809

+

Operation not allowed because the current production site of the replication pair is the DR site specified when the protection group is created

+

This operation cannot be performed because the current production site of the replication pair is the DR site specified when the protection group was created.

+

Perform a planned failback or failback, and then try again.

+

400

+

SDRS.1810

+

Current production site AZ of the disk different from that of the protection group

+

The current production site AZ of the disk is different from that of the protection group.

+

Select a disk with its production site AZ same as that of the protection group, and then try again.

+

400

+

SDRS.1811

+

Disk already used by a replication pair

+

The disk has been used by a replication pair.

+

Select a disk not used by a replication pair, and then try again.

+

400

+

SDRS.1812

+

Failed to create the disk

+

Failed to create the disk.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1813

+

Failed to delete the disk

+

Failed to delete the disk.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1814

+

Disk size is different

+

Disk sizes are different.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1816

+

Operation cannot be performed because the disk of the replication pair is not in the available state

+

The replication pair capacity cannot be expanded because the disks on the replication pair are not in the available state.

+

If the replication pair has been attached to a protected instance, detach the replication pair first. If the problem persists, contact customer service.

+

400

+

SDRS.1817

+

Operation cannot be performed because the disk of the replication pair is not in the available or in-use state

+

The replication pair capacity cannot be expanded because the disks of the replication pair are not in the available or in-use state.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1818

+

This operation cannot be performed because the shared disks of the replication pair are not in the Available state

+

The replication pair capacity cannot be expanded because the shared disks of the replication pair are not in the available state.

+

If the replication pair has been attached to a protected instance, detach the replication pair first. If the problem persists, contact customer service.

+

400

+

SDRS.0306

+

Insufficient replication pair quota

+

The replication pair quota is insufficient.

+

Contact customer service to increase the replication pair quota.

+

400

+

SDRS.1820

+

Failed to expand the capacity

+

Failed to expand the capacity of the replication pair.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1821

+

Failed to attach the replication pair

+

Failed to attach the replication pair.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1822

+

Failed to detach the replication pair

+

Failed to detach the replication pair.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1823

+

Operation not allowed due to a system error

+

This operation cannot be performed due to a system error.

+

Perform a failover or contact customer service.

+

400

+

SDRS.1824

+

Operation not allowed due to a system error

+

This operation cannot be performed due to a system error.

+

Contact customer service.

+

400

+

SDRS.1825

+

Disk already used in a DR drill

+

The disk is already used in a DR drill.

+

Use an available disk.

+

400

+

SDRS.1826

+

Replication pairs not attached to protected instances to the upper limit

+

The number of replication pairs that are not attached to any protected instances reaches the upper limit.

+

Delete replication pairs that are not attached to any protected instance, or attach them and then create new replication pairs. If the fault persists, contact customer service.

+

400

+

SDRS.1828

+

Failed to delete the DR site disk in the replication pair because the current account is frozen

+

Failed to delete the DR site disk in the replication pair because the current account is frozen.

+

Do not select Delete DR site disk, or wait until your account is unfrozen and then perform the operation.

+

400

+

SDRS.1830

+

Operation not allowed because replication pairs in this protection group are synchronizing data

+

This operation cannot be performed because replication pairs in this protection group are synchronizing data.

+

Wait until the synchronization of all replication pairs in the protection group is complete and then perform the operation.

+

400

+

SDRS.1831

+

Disk locked

+

The disk is locked.

+

Check whether the disk is locked. If so, wait until the disk is unlocked and then perform the operation.

+

400

+

SDRS.1832

+

Failed to expand the capacity because a disk in the replication pair is locked

+

Failed to expand the capacity because a disk in the replication pair is locked.

+

Check whether the disk is locked. If so, wait until the disk is unlocked and then perform the operation.

+

400

+

SDRS.1900

+

Invalid DR drill ID

+

The DR drill ID is invalid.

+

Use a valid DR drill ID.

+

400

+

SDRS.1901

+

Null or empty DR drill ID

+

The DR drill ID is null or empty.

+

Use a valid DR drill ID.

+

400

+

SDRS.1902

+

DR drill not found

+

The DR drill is not found.

+

Use an available DR drill.

+

500

+

SDRS.1904

+

Snapshot not found

+

The snapshot is not found.

+

Use an available snapshot.

+

500

+

SDRS.1905

+

Failed to create a volume using the snapshot

+

Failed to create a disk using the snapshot.

+

Contact customer service.

+

500

+

SDRS.1906

+

Failed to delete the snapshot

+

Failed to delete the snapshot.

+

Contact customer service.

+

400

+

SDRS.1907

+

Drill VPC conflicts with the VPC of the protection group

+

The drill VPC conflicts with the VPC of the protection group.

+

Use a correct drill VPC.

+

400

+

SDRS.1908

+

Drill VPC not have a subnet

+

The drill VPC does not have a subnet.

+

Use a correct VPC or create a subnet same as that in the VPC of the protection group. If the fault persists, contact customer service.

+

400

+

SDRS.1909

+

Drill VPC not have the CIDR block

+

The drill VPC does not have the CIDR block.

+

Ensure that the drill VPC has the same CIDR block with the VPC of the protection group. If the fault persists, contact customer service.

+

400

+

SDRS.1910

+

IP addresses in the drill VPC conflict

+

The IP addresses in the drill VPC conflict.

+

Contact customer service.

+

400

+

SDRS.1911

+

Null or empty NIC

+

The NIC is null or empty.

+

Contact customer service.

+

500

+

SDRS.1912

+

Failed to create the drill NIC

+

Failed to create the drill NIC.

+

Contact customer service.

+

400

+

SDRS.1913

+

DR drill deletion not allowed in the current state

+

The DR drill cannot be deleted in the current state.

+

Perform this operation in the correct state and be clear about the operation restrictions.

+

500

+

SDRS.1914

+

Drill server record not found

+

The drill server record is not found.

+

Contact customer service.

+

500

+

SDRS.1915

+

Drill storage record not found

+

The drill storage record is not found.

+

Contact customer service.

+

500

+

SDRS.1916

+

Invalid snapshot ID

+

The snapshot ID is invalid.

+

Contact customer service.

+

500

+

SDRS.1917

+

Drill NIC record not found

+

The drill NIC record is not found.

+

Contact customer service.

+

500

+

SDRS.1918

+

Failed to delete the drill NIC

+

Failed to delete the drill NIC.

+

Contact customer service.

+

500

+

SDRS.1919

+

Failed to query the attachment information of the drill server

+

Failed to query the attachment information of the drill server.

+

Contact customer service.

+

500

+

SDRS.1920

+

Null attachment information of the replication pair for creating the DR drill

+

The attachment information of the replication pair for creating the DR drill is null.

+

Contact customer service.

+

400

+

SDRS.1921

+

Drill VPC is already used for creating a DR drill

+

The drill VPC is already used for creating a DR drill.

+

Use another available drill VPC.

+

400

+

SDRS.1922

+

Failed to create the DR drill

+

Failed to create the DR drill.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1923

+

Failed to delete the DR drill

+

Failed to delete the DR drill.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1924

+

DR site VPC not have a subnet

+

The DR site VPC does not have a subnet.

+

Contact customer service.

+

400

+

SDRS.1925

+

Failed to create the drill VPC

+

Failed to create the drill VPC.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1926

+

Failed to create the subnet in the drill VPC

+

Failed to create the subnet in the drill VPC.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1927

+

Failed to delete the subnet in the drill VPC

+

Failed to delete the subnet in the drill VPC.

+

Try again. If the fault persists, contact customer service.

+

400

+

SDRS.1928

+

Failed to find the VPC

+

Failed to find the VPC.

+

Contact customer service.

+

400

+

SDRS.1929

+

Insufficient VPC quota

+

The VPC quota is insufficient.

+

Delete unused VPCs or contact customer service to increase the VPC quota.

+

400

+

SDRS.1930

+

Insufficient subnet quota

+

The subnet quota is insufficient.

+

Delete unused subnets or customer service to increase the subnet quota.

+

400

+

SDRS.2201

+

action only create or delete

+

action can be set to create or delete only.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2202

+

Empty tag list

+

The tag list is empty.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2203

+

Number of tags exceeds the upper limit

+

The number of tags exceeds the upper limit.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2204

+

Invalid tag key

+

The tag key is invalid.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2205

+

Tag key is blank or an empty string

+

The tag key is left blank or an empty string.

+

Enter the correct parameter value and then try again.

+

404

+

SDRS.2206

+

Specified tag key is not found

+

The specified tag key is not found.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2207

+

Invalid tag value

+

The tag value is invalid.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2208

+

Null tag value

+

The tag value is null.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2209

+

Tag parameter contains duplicate keys

+

Tags contain duplicate keys.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2210

+

action can be set to only filter or count

+

action can be set to filter or count only.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2211

+

limit and offset are not supported when action is set to count

+

limit and offset are not supported if action is set to count.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2212

+

Empty matches parameter

+

The matches parameter is left blank.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2213

+

Empty key in the matches parameter

+

The key in the matches parameter is left blank.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2214

+

Invalid key in the matches parameter

+

The key in the matches parameter is invalid.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2215

+

Duplicate keys in the matches parameter

+

The matches parameter contains duplicate keys.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2216

+

Null value in the matches parameter

+

The value in the matches parameter is null.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2217

+

Invalid value in the matches parameter

+

The value in the matches parameter is invalid.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2218

+

Number of values exceeds the upper limit

+

The number of values exceeds the upper limit.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2219

+

Value list of the same key has duplicate values

+

Duplicate values exist for the same key.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2220

+

Minimum and maximum values of limit are 1 and 1000 respectively

+

Minimum and maximum values of limit are 1 and 1000 respectively.

+

Enter the correct parameter value and then try again.

+

400

+

SDRS.2221

+

Tag adding not allowed in the current protected instance state

+

Tags cannot be added to the protected instance in the current state.

+

Ensure that the protected instance is normal and then try again.

+

400

+

SDRS.2222

+

Tag deleting not allowed in the current protected instance state

+

Tag cannot be deleted for the protected instance in the current state.

+

Ensure that the protected instance is normal and then try again.

+
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0126152930.html b/docs/sdrs/api-ref/en-us_topic_0126152930.html new file mode 100644 index 000000000..ce3a42489 --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0126152930.html @@ -0,0 +1,106 @@ + + +

Protection Group Status

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Protection Group Status

+

Description

+

creating

+

The protection group is being created.

+

available

+

The protection group is available, and protection is disabled.

+

protected

+

Protection is enabled for the protection group.

+

deleting

+

The protection group is being deleted.

+

error-deleting

+

Failed to delete the protection group.

+

error

+

Failed to create the protection group.

+

starting

+

The protection group is being protected.

+

error-starting

+

Failed to enable protection for the protection group.

+

reprotecting

+

The protection group is being re-protected.

+

When users enable protection after a failover or failback, the protection group status changes to re-protecting.

+

error-reprotecting

+

Failed to enable protection again for the protection group.

+

stopping

+

The system is stopping protection for the protection group.

+

error-stopping

+

Failed to disable protection for the protection group.

+

reversing

+

The system is performing a planned failover on the protection group.

+

error-reversing

+

Failed to perform the planned failover.

+

failing-over

+

The system is performing a failover on the protection group.

+

failed-over

+

The failover is complete.

+

error-failing-over

+

Failed to perform the failover.

+
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0126152931.html b/docs/sdrs/api-ref/en-us_topic_0126152931.html new file mode 100644 index 000000000..e114ab030 --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0126152931.html @@ -0,0 +1,136 @@ + + +

Protected Instance Status

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Protected Instance Status

+

Description

+

creating

+

The protected instance is being created.

+

available

+

The protected instance is available.

+

deleting

+

The protected instance is being deleted.

+

error-deleting

+

Failed to delete the protected instance.

+

error

+

Failed to create the protected instance.

+

nic-creating

+

The system is adding a NIC to the protected instance.

+

nic-deleting

+

The system is deleting a NIC from the protected instance.

+

starting

+

Protection is being enabled for the protected instance.

+

error-starting

+

Failed to enable protection for the protected instance.

+

protected

+

Protection is enabled for the protected instance.

+

reversing

+

The system is performing a planned failover for the protected instance.

+

failing-over

+

The system is performing a failover for the protected instance.

+

failed-over

+

A failover is performed for the protected instance.

+

reprotecting

+

Protection is being enabled again for the protected instance.

+

When users enable protection after a failover, the status changes to re-protecting.

+

stopping

+

Protection is being disabled for the protected instance.

+

error-stopping

+

Failed to disable protection for the protected instance.

+

error-reversing

+

Failed to perform the planned failover for the protected instance.

+

error-failing-over

+

Failed to perform the failover for the protected instance.

+

error-reprotecting

+

Failed to enable protection again for the protected instance.

+

resizing

+

The specifications of the protected instance are being modified.

+

error-resizing

+

Failed to modify the specifications of the protected instance.

+

invalid

+

A server in the protected instance has been deleted.

+

fault

+

The synchronization status of the replication pair for the protected instance is abnormal.

+
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0126152932.html b/docs/sdrs/api-ref/en-us_topic_0126152932.html new file mode 100644 index 000000000..1720d1cbb --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0126152932.html @@ -0,0 +1,146 @@ + + +

Replication Pair Status

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Replication Pair Status

+

Description

+

creating

+

The replication pair is being created.

+

available

+

The replication pair is available.

+

deleting

+

The replication pair is being deleted.

+

error-deleting

+

Failed to delete the replication pair.

+

error

+

Failed to create the replication pair.

+

extending

+

The system is expanding the capacity of the replication pair.

+

error-extending

+

Failed to expand the capacity of the replication pair.

+

starting

+

The system is enabling protection for the replication pair.

+

error-starting

+

Failed to enable protection for the replication pair.

+

protected

+

Protection is enabled for the replication pair.

+

reversing

+

The system is performing a planned failover for the replication pair.

+

failing-over

+

The system is performing a failover for the replication pair.

+

failed-over

+

Failover is performed for the replication pair.

+

reprotecting

+

The system is enabling protection again for the replication pair.

+

When users enable protection after a failover, the status changes to re-protecting.

+

stopping

+

The system is disabling protection for the replication pair.

+

error-stopping

+

Failed to disable protection for the replication pair.

+

error-reversing

+

Failed to perform a planned failover for the replication pair.

+

error-failing-over

+

Failed to perform a failover for the replication pair.

+

error-reprotecting

+

Failed to enable protection again for the replication pair.

+

invalid

+

A disk in the replication pair has been deleted.

+

fault

+

The synchronization status of the replication pair is abnormal.

+

attaching

+

The system is attaching the replication pair to a protected instance.

+

detaching

+

The system is detaching the replication pair from a protected instance.

+

error-attaching

+

Failed to attach the replication pair to a protected instance.

+

error-detaching

+

Failed to detach the replication pair from a protected instance.

+
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/en-us_topic_0126152933.html b/docs/sdrs/api-ref/en-us_topic_0126152933.html new file mode 100644 index 000000000..667a5314e --- /dev/null +++ b/docs/sdrs/api-ref/en-us_topic_0126152933.html @@ -0,0 +1,45 @@ + + +

DR Drill Status

+
+
+ + + + + + + + + + + + + + + + + + + +

DR Drill Status

+

Description

+

creating

+

The DR drill is being created.

+

available

+

The DR drill is available.

+

deleting

+

The DR drill is being deleted.

+

error-deleting

+

Failed to delete the DR drill.

+

error

+

Failed to create the DR drill.

+
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/public_sys-resources/ExpandCollapse.js b/docs/sdrs/api-ref/public_sys-resources/ExpandCollapse.js new file mode 100644 index 000000000..116ddaabf --- /dev/null +++ b/docs/sdrs/api-ref/public_sys-resources/ExpandCollapse.js @@ -0,0 +1 @@ +var expandClassName="dropdownexpand";var collapseClassName="dropdowncollapse";var collapseTableClassName="dropdowncollapsetable";function ExpandorCollapseNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseClassName}else{a.className=expandClassName}}function ExpandorCollapseTableNode(a){a=a.parentNode;if(a.className==expandClassName){a.className=collapseTableClassName}else{a.className=expandClassName}}function ExpandorCollapseAllNodes(g,h,c){var a=g.getAttribute("title");var b=g.parentNode;if(a=="collapse"){g.setAttribute("title","expand");g.className="dropdownAllButtonexpand";g.innerHTML=h}else{g.setAttribute("title","collapse");g.className="dropdownAllButtoncollapse";g.innerHTML=c}var f=b.getElementsByTagName("*");for(var d=0;d-1){ExpandForHref(a.substring(a.lastIndexOf("#")+1))}}catch(c){}}; \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/avgCompile.js b/docs/sdrs/api-ref/public_sys-resources/avgCompile.js new file mode 100644 index 000000000..327822688 --- /dev/null +++ b/docs/sdrs/api-ref/public_sys-resources/avgCompile.js @@ -0,0 +1 @@ +var name1=null;function test1(a){a=a.parentNode;a.className="test1"}function test2(a){a=a.parentNode;a.className="test2"}function test3(a){a=a.parentNode;a.className="test3"}function test4(a){a=a.parentNode;a.className="test4"}function test5(a){a=a.parentNode;a.className="test5"}function test6(a){a=a.parentNode;a.className="test6"}function test7(a){a=a.parentNode;a.className="test7"}function test8(a){a=a.parentNode;a.className="test8"}function test9(a){a=a.parentNode;a.className="test9"}function test10(a){a=a.parentNode;a.className="test10"}function test11(a){a=a.parentNode;a.className="test11"}function test12(a){a=a.parentNode;a.className="test12"}function test13(a){a=a.parentNode;a.className="test13"}function test2(a){a=a.parentNode;a.className="test2"}function test14(a){a=a.parentNode;a.className="test14"}function test15(a){a=a.parentNode;a.className="test15"}function test16(a){a=a.parentNode;a.className="test16"}function test17(a){a=a.parentNode;a.className="test17"}function test18(a){a=a.parentNode;a.className="test18"}function test19(a){a=a.parentNode;a.className="test19"}function test20(a){a=a.parentNode;a.className="test20"}function test21(a){a=a.parentNode;a.className="test21"}function test22(a){a=a.parentNode;a.className="test22"}function test23(a){a=a.parentNode;a.className="test23"}; \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/caution_3.0-en-us.png b/docs/sdrs/api-ref/public_sys-resources/caution_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..60f60762138fe7d98fa081415cf26a4943897779 GIT binary patch literal 2752 zcmV;x3P1IUP)pPa!Eu%RCwC$n`u~-F-BFk{0Y@>jH&Wt02T)4n7aXBssVicB` zOX`JaF2{q_2~&#?rkP8$id|Xfs23G(+0lTGT0tnFxgZFMIx;xG$R>Lr2ng2sFhB=q zSd{Td_5QEx{V+WDJooe7@Bg{)|8u`XpV~`~ZvvYTAfN{@5<(zAAd&!qNCE^R2@oI< zNq|5k0e^NPrRGdyW8`F%MH7XH|3P8=s2${2dg49z003YAM?%tm1!4=85P2aZJs3WS zG6CT8kCv0C(eT;v!9vu9jP&3oZEw^8HmnQ6+clMCL4mv(zK?)Ob8&M#`$%sr@v0v& z@zoUHs-n619H>uFER~Aj==ntk06q~XtAWrX`-(7l=)GLjQP?!@q z{@ZTZw0`amLgo~4vvd&0Pxryp)QHy>ob2%4P9)V*SX4zr!(BuoQ>IK9!d&k>z1cqI z{8L;})njUE#LIJj>h%6Q^ZVF{wB;i;Qi+5h9}NJn%x@raKm6;fW+Fl#T`67idLh|4 zu~b$4-1hhHTVfMtV@>p)0G=3ns@?Zq+;oGKv z*YE#+n>`1!`TpdYF4yhs&w)&meoVo}#+v$ur`WVKNyq<%YnFsZMC$eXSc!Bf$)AMeNOrxm z98up?0IbZ4d1uoLyuSG}0{xcY?H+G%68SDpqp0{6ZmtR(?ChBNKk$ZxK&chd%Fub9B!C3$z*oSdfKP$^R+Au*=jW--Q5@}8T8wOFz(A> z+jPJi0CSN!@M}8~J+m~H+qJd0$mL8L?}^W38D?fiTvJtZ_QG{CGOx1j!^2co2eNIY zE_th}e&*28WCEs4)4Ngh`F*TJs&5jrEg}J*$>Ry|NTs@Q5S4XS*jiLGYupV!l}OmJ zCkyWg!}|T(8zmGK-@ggmTpXX4Lzd^H6d8Ibpk8+o_km$bMW>TS}&FY)P96F+{d%+84 z0FbR#^Wj0eUL$0WrHtk7-A3#N4!~oiv))WDwoq|!rza!b-MC#_%g6i5bZq+f?}v+A z&dvOM*6oz`?o(Suoq{*R_pvM}5O;^mT)Ww?Z7fftAwAED0FP9BCXZ)ZL<03qVuSdN zP8xtRONCq}V{LHL13e@F7rC5Q7nL%1)>HuEPG%TvZ9T=8(JF40lp-DCMCkm>9oo4$ zp2gbI0)X_(**fDB#*QLr-bCyM4&cnWE2QR3>%BzUvd0>L#Q|n|$1Tk60kC$33wat1 zyP`b|;`hpR?G6;%TDEA7?qPdG5~XG3DCEwFEmXV^*atUP1r?Q*Z6tf#C@HG~z|7R7 z%W^bSHmKdEz8|Y+XCNKoj5;@$;5Eqx+bjkplCo$bd!u65ur3Iht+xK#S>J1CGr+PQ z0C$JWZS8>kO3xnquB&Tk(E(-;v|eN5zDOk!LKaKgc6D>}Jxa^U*&dP9D~M#(l4Wdd zEW5NF>oE`jQ&SV}G+O8_@4Ge+!`aD+oB8?teVaq?BU0GA1xO_l=1nQrAx&+WdOB8S#d?X;+5%{W zL%$q0tP5gqR7{WS^|&#ETLM_$tqfODr{F@Wvh7$L9&xbkIv%IZL`G<~%z?=et2Z8l(~lTRu|vXblrbH{CQq;M*jC6P7 zAFJjO7P_e26);09x-VYJYSS8{M>uNB=$!_=`UBu*VJQICR{ab{qy@7TIM~}!cc+es zuSRv+yK8E024LzW_fF?DH>qIv7JK9}8Okgb+deq(_=yx1KZZPwhLE7)i2By(j4ulc zZ0X+G=!}W_*0i+)j$M5C6#K-`Q^PI#NC$_uZf2|)Q-QCDmtJxjn1b~m%uQ)q7k*!v<@zee~^S^yy8n;SIv9h!z@F~L` zuV;E)#MIP`TP3BWq~-E)te=ie;#EKP>`x<4qruHp!K;f(yPS8hZ8~d0reR}ajZ`A( z(HeW)kgTXvuy(`eEDH)`tWfsw@ySLcm z71)pX#Is~7?MOOfjY2*gfad0Vq-SPfE=p#UyBs4UBW!G}*%&$+h}RorbCI@}bUZGD z(D`DX7<2A;EnO+wSMkI5S3ZiysJKOPz zXHjNr`1+U~!-i@z2TQevhO_F+9anqo4qDp6*s z{^#^#iMhy}=wm-XjcU;ayd~S zjKa+^{((2(%#||Kxw$%iyNf&$A}5<97d+PwF{vJcqF5t}K17 zWA47SPe$ba7&NE7d;EGLztWTQN_%qi?{fFvpbejgc;mTn%wk=QtX`o_PVsJli{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:.3em;margin-bottom:.3em}.substepexpand{margin-top:.3em;margin-bottom:.3em}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}.hrcopyright{color:#3f4e5d;margin-top:18pt}.hwcopyright{text-align:center}.comment{margin:2px 2px 2px 2px;font-family:Arial;font-size:10pt;background-color:#bfb;color:#000}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowncontext{display:none}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdowncollapsetable{border:0}.dropdowncollapsetable .dropdowncontext{display:none}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}pre{font-size:10pt;font-weight:normal;margin-left:9;margin-top:2;margin-bottom:2}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0} \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/commonltr_print.css b/docs/sdrs/api-ref/public_sys-resources/commonltr_print.css new file mode 100644 index 000000000..a59823141 --- /dev/null +++ b/docs/sdrs/api-ref/public_sys-resources/commonltr_print.css @@ -0,0 +1 @@ +body{font-size:12.0pt;margin:1.5em;margin-left:1.6cm}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:1em}p{margin-top:.5em;margin-bottom:.5em}.note p{margin-top:.5em;margin-bottom:.5em}.tip p{margin-top:.5em;margin-bottom:.5em}.danger p{margin-top:.5em;margin-bottom:.5em}.warning p{margin-top:.5em;margin-bottom:.5em}.notice p{margin-top:.5em;margin-bottom:.5em}.caution p{margin-top:.5em;margin-bottom:.5em}.attention p{margin-top:.5em;margin-bottom:.5em}table p{margin-top:.2em;margin-bottom:.2em}table .p{margin-top:.4em;margin-bottom:.2em}.covertable{border:0;width:100% cellpadding:8pt;cellspacing:8pt}.cover_productname{font-size:15.0pt;font-family:"Arial"}.cover_manualtitle{font-size:24.0pt;font-weight:bold;font-family:"Arial"}.cover_manualsubtitle{font-size:18.0pt;font-weight:bold;font-family:"Arial"}.cover_heading{font-size:12.0pt;font-weight:bold;font-family:"Arial"}.cover_text{font-size:9.0pt;font-family:"Arial"}.tocheading,.heading1,.topictitle1{margin-top:40.0pt;margin-right:0;margin-bottom:20.0pt;margin-left:-1cm;text-align:left;border:0;border-bottom:solid windowtext .5pt;font-size:22.0pt;font-family:"Arial";font-weight:bold}.topictitlenumber1{font-size:72.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle2{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Arial";font-weight:bold}.topictitle3{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:16.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle4{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:14.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle5{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.blocklabel,.topictitle6{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.sectiontitle{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:-1cm;text-indent:0;font-size:13.0pt;font-family:"Arial";font-weight:bold}.tocentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Book Antiqua";font-weight:bold}.tocentry2{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry3{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry4{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry5{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tofentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.totentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.indexheading{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.indexentry1{margin-top:4pt;margin-right:0;margin-bottom:0;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Times New Roman"}.indexentry2{margin-top:0;margin-right:0;margin-bottom:0;margin-left:24.0pt;line-height:12.0pt;font-size:12.0pt}.indexentry3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:48pt;line-height:12.0pt;font-size:12.0pt}.figurenumber{font-weight:bold}.tablenumber{font-weight:bold}.familylinks{margin-top:1.5em;margin-bottom:1em}.figcap{font-size:11.0pt}.tablecap{font-size:11.0pt}.figdesc{font-style:normal}.fignone{margin-top:8.0pt}.figborder{border-style:solid;padding-left:3px;border-width:2px;padding-right:3px;margin-top:1em;border-color:Silver}.figsides{border-left:2px solid;padding-left:3px;border-right:2px solid;padding-right:3px;margin-top:1em;border-color:Silver}.figtop{border-top:2px solid;margin-top:1em;border-color:Silver}.figbottom{border-bottom:2px solid;border-color:Silver}.figtopbot{border-top:2px solid;border-bottom:2px solid;margin-top:1em;border-color:Silver}.ullinks{margin-left:0;list-style-type:none}.ulchildlink{margin-top:1em;margin-bottom:1em}.olchildlink{margin-top:1em;margin-bottom:1em;margin-left:1em}.linklist{margin-bottom:1em}.linklistwithchild{margin-left:1.5em;margin-bottom:1em}.sublinklist{margin-left:1.5em;margin-bottom:1em}.relconcepts{margin-left:1cm;margin-top:1em;margin-bottom:1em}.reltasks{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relref{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relinfo{margin-top:1em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-left:0}.parentlink{margin-top:.6em;margin-bottom:.6em}.nextlink{margin-top:.6em;margin-bottom:.6em}.previouslink{margin-top:.6em;margin-bottom:.6em}.section{margin-top:1em;margin-bottom:1em}.example{margin-top:1em;margin-bottom:1em}table .note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.notetitle{font-weight:bold;font-size:11.0pt}.notelisttitle{font-weight:bold}table .tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.tiptitle{font-weight:bold;font-size:11.0pt}table .fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.fastpathtitle{font-weight:bold;font-size:11.0pt}table .important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.importanttitle{font-weight:bold;font-size:11.0pt}table .remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.remembertitle{font-weight:bold;font-size:11.0pt}table .restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.restrictiontitle{font-weight:bold;font-size:11.0pt}table .attention{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.attention{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}.attentiontitle{font-weight:bold}table .danger{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .notice{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .warning{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .caution{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}table caption{margin-top:8pt;text-align:left;font-weight:bold}.tablenoborder{margin-top:8pt}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}ul.simple{list-style-type:none}li ul{margin-top:.6em}li{margin-top:.6em;margin-bottom:.6em}.note li{margin-top:.2em;margin-bottom:.2em}.tip li{margin-top:.2em;margin-bottom:.2em}.danger li{margin-top:.2em;margin-bottom:.2em}.warning li{margin-top:.2em;margin-bottom:.2em}.notice li{margin-top:.2em;margin-bottom:.2em}.caution li{margin-top:.2em;margin-bottom:.2em}.attention li{margin-top:.2em;margin-bottom:.2em}table li{margin-top:.2em;margin-bottom:.2em}.firstcol{font-weight:bold}th{background-color:#cfcfcf}.bold{font-weight:bold}.boldItalic{font-weight:bold;font-style:italic}.italic{font-style:italic}.underlined{text-decoration:underline}.var{font-style:italic}.shortcut{text-decoration:underline}.dlterm{font-weight:bold}dd{margin-top:.5em;margin-bottom:.5em}.dltermexpand{font-weight:bold;margin-top:1em}*[compact="yes"]>li{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:1em;margin-bottom:1em}.substepexpand{margin-top:1em;margin-bottom:1em}table{margin-top:8pt;margin-bottom:10.0pt;width:100%}thead{font-size:10.0pt;font-family:"Book Antiqua";font-weight:bold}tbody{font-size:11.0pt}ol{margin-top:1em;margin-bottom:1em;margin-left:1.7em;-webkit-padding-start:0}ul{margin-top:1em;margin-bottom:1em;margin-left:1.2em;-webkit-padding-start:0}ol ul{list-style:disc}ul ul{list-style:square}ol ol{list-style-type:lower-alpha}table ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}table ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ul{margin-top:.4em;margin-bottom:.4em;list-style:square}table ol ol{margin-top:.4em;margin-bottom:.4em;list-style:lower-alpha}table ol ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}.substepthirdol{list-style-type:lower-roman}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre{font-size:10.0pt;border-width:2px;padding:2px;margin-top:5px;margin-bottom:5px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.prefacesectiontitle1{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Book Antiqua";font-weight:bold;overflow:auto}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0}.hrcopyright{color:#3f4e5d;margin-top:18pt;margin-left:-1cm}.hwcopyright{text-align:center;font-family:Arial;margin-left:-1cm} \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/commonrtl.css b/docs/sdrs/api-ref/public_sys-resources/commonrtl.css new file mode 100644 index 000000000..f261da752 --- /dev/null +++ b/docs/sdrs/api-ref/public_sys-resources/commonrtl.css @@ -0,0 +1,2 @@ +/*! Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved. */.msgph{font-family:Courier New}.unresolved{background-color:#87ceeb}.noTemplate{background-color:#ff0}.base{background-color:#fff}/*! Add space for top level topics */.nested0,.p{margin-top:1em}/*! div with class=p is used for paragraphs that contain blocks, to keep the XHTML valid *//*! Default of italics to set apart figure captions */.figcap,.italic,.var{font-style:italic}.figdesc{font-style:normal}/*! Use @frame to create frames on figures */.figborder{padding-left:3px;padding-right:3px;margin-top:1em;border:2px solid Silver}.figsides{margin-top:1em;padding-left:3px;padding-right:3px;border-left:2px solid Silver;border-right:2px solid Silver}.figtop{border-top:2px solid Silver;margin-top:1em}.figbottom{border-bottom:2px solid Silver}.figtopbot{border-top:2px solid Silver;border-bottom:2px solid Silver;margin-top:1em}/*! Most link groups are created with
. Ensure they have space before and after. */.ullinks,ul.simple{list-style-type:none}.attention,.danger,.ddexpand,.dlexpand,.example,.fastpath,.important,.liexpand,.linklist,.note,.notice,.olchildlink,.relconcepts,.relinfo,.relref,.reltasks,.remember,.restriction,.section,.sliexpand,.stepexpand,.substepexpand,.tip,.ulchildlink,.warning{margin-top:1em;margin-bottom:1em}.linklistwithchild,.sublinklist{margin-top:1em;margin-right:1.5em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-right:20px}/*! Set heading sizes, getting smaller for deeper nesting */.topictitle1{font-size:1.34em;margin-top:0;margin-bottom:.1em}.topictitle2,.topictitle3,.topictitle4,.topictitle5,.topictitle6,.sectiontitle{font-size:1.17em}.topictitle2{margin-top:1pc;margin-bottom:.45em}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-weight:700}.topictitle4{margin-top:.83em;font-weight:700}.topictitle5{font-weight:700}.topictitle6{font-style:italic}.sectiontitle{margin-top:1em;margin-bottom:0;color:#000;font-weight:700}/*! All note formats have the same default presentation */.attentiontitle,.bold,.cautiontitle,.dangertitle,.dlterm,.fastpathtitle,.firstcol,.importanttitle,.notelisttitle,.notetitle,.noticetitle,.parmname,.remembertitle,.restrictiontitle,.tiptitle,.uicontrol,.warningtitle{font-weight:700}.caution{font-weight:700;margin-bottom:1em}/*! Simple lists do not get a bullet *//*! Used on the first column of a table, when rowheader="firstcol" is used *//*! Various basic phrase styles */.boldItalic{font-weight:700;font-style:italic}.shortcut,.underlined{text-decoration:underline}/*! 2008-10-27 keyword采用跟随上下文的样式 +*//*! Default of bold for definition list terms *//*! Use CSS to expand lists with @compact="no" */.dltermexpand{font-weight:700;margin-top:1em}[compact="yes"]>li{margin-top:0}[compact="no"]>li{margin-top:.53em}/*! Align images based on @align on topic/image */div.imageleft,.text-align-left{text-align:left}div.imagecenter,.text-align-center{text-align:center}div.imageright,.text-align-right{text-align:right}div.imagejustify,.text-align-justify{text-align:justify}.cellrowborder{border-right:0;border-top:0;border-left:1px solid;border-bottom:1px solid}.row-nocellborder{border-left:hidden;border-right:0;border-top:0;border-bottom:1px solid}.cell-norowborder{border-top:0;border-bottom:hidden;border-right:0;border-left:1px solid}.nocellnorowborder{border:0;border-left:hidden;border-bottom:hidden}pre.codeblock,pre.screen{padding:5px;border:outset;background-color:#ccc;margin-top:2px;margin-bottom:2px;white-space:pre} \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/danger_3.0-en-us.png b/docs/sdrs/api-ref/public_sys-resources/danger_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..47a9c723532a0ac410285e5152684262127922bf GIT binary patch literal 2771 zcmV;^3M}=BP)pPg-Jv~RCwC$oO@7HS02Ydnp$REOA{(Mow8*Mm>A3h9MeO=6 zYU>mmT}9emv9DQm*RJeXc5T5Q!v0 zB$5b`NFqdtL=w?OklwC|&JB*_kR*g*P1STeQY~6uB+{*;B2i1mw!HxCh>m7?uX_kB zZW668hPGS7cBvYGjjLu-T2{ta(MHkoqDQ**khXqXE?M&}B*qkwZb{|!wVV0PLl1U( zh|@k2Pt@e8KI2W7%cc| zO7%;oh!GEaKI?~$MKHY5t{0Ps=^60OI`;KR@k?HRh+XkChOueL!}QpzFXL=(zz|LUxf|B{Fmxd{EXn6tyV1mZmG!*PMf2b20p#%- z`o8%ZVfQ~su(20?SHHrs3D0@S-1|flxSZIlFT0HsqCq!dAXirJ4@lTnmkYTz0`t-t zoL%_-P1mIvW2W1<$B}7tG*?~Z^s+@a=y&VTO-%?Gh7Jy#@{?>}D?H+5hs1sBQ0R>W z$rPxPB0JS9by>2#BO!*;vNGmn#B$c!n|>2>7?JiN4?lg9=9Ul^WTvn;zkmZNJ#I@f zXfLYayW|WUHCNr9F<}t$c#W4#+=3U8s&%wF9keEQnyx}+}N<*(D-{;R$ zaL&lM{`n*i9mMK`CvfP6+g4qiUbYCAy$P8{NBGDGJ>#mRNP+|zE_)NFmo4(hwYIv@ zj4}Jw)#_@YXz^U^wkl+5Ed$yU@(x$pVxcJ-ZmXBjPZHcyBPNTQ@jT3znFTMzB|S?h0gxfpz6m)AA4I1f{{Z$&2y zk3ciVjBaWI{dcTHs?p)HH*sm#raQmUz>fucJ<0Wt1$&7Yo{Gv8hdf^6w-o?Tw&YWcsTM+dBoLi8 zm#bgrQM3K5ud%~av^tvIiFi|^-&R4OlHQ{uGz@8In6F1rD1F94&As{c8*2bi=#8{A z)KIlQhtnC$?tCJxvO0({nRs+qm1oR!Z=IKnF2v^f{N$t{)~t1Vv2?ngNK$nuGEKO< zzf@ihKvc#!1ci#0h8lzrHSz1+9!LmL<7})$rq&Yk)GWTA^F~0u-~E0TNjvu-Q)}t} z)&}+s8s@*>B2&1%Q%tPac=st8NJG2{;%siGF;7#NJH;& zhtmrs6i)v0ou4BeO^#u2egO+IQwUR3_$5wT3!n{#&@*Jsx3K<;Tq+W^T~4H!KR$~@ zu5|Zlat{Mw&iD(0QiW8dAv|#;hS6ylMyC;;I1(Y)o!@mEZ@FnQU-ZJ$IBKhr$d&Y3 z@~n?c&GxedN!C@{=B92P%iuKA4P5P zF?T5M7UQl=?_?r5^a9HdpCWnaAVwy9ACNdxCO+iz-A9L25o0p3%IfG+5=G4$jjDT3 z_rX_P#9mZ`W{jEERu|5u25kR1=sC=`>*|qQT57FGWQv;}!j;wgsVgZ&P^ySbnS#<_ z@{wsQcZWQgM(3rkuisR2@ddhKm zm>y`QU}}cvFx#%9zncRR0f}5m+=3T>`k`rb(CYH78vp)0Ee*BEwGqTVll7BY1|4qD zR@y0eaw?7*EAlWsiJLyTGjpW6UP@ltw4HQIDv2=#er2YNQnNeHL|TgfF7e2O?@1my zh~&SD2{!g(;QB4N?2Xi&J%utn0;xtv zkRbctK7@An=2gu(9Ra)bZS!9G@?)aLPe-neAnxr2otkuaibwkB-UtAuk5dGci8mbQ zpHD?%2tDKXzEY@Rj-@xHWo6{`Gk44bDS}ZNOehT|CG6gP2Ggpt~a%lW$PyZ(R zi8N$tEzX8o&aMocNSD04oR)@K6nZ1(%xk%iRHX^nOsp#j+)(^s?wgdX$fl*dQ#vN{kQBLN_&` z(}>jJm$ns&TBh$jOxAo08KVLl?;k50S@-!F7S4`i=H$SR@bCXNvu5pPHYX!BHAMhH=PbZLgf2GrXYPBlYfJrz}; z)`4zn0@|b`lo3(5nj87CARk+Pp-;mw(B7`!W7{6u*6MHG>-993S9MlnGP}b>T0X$Q z*4=p=+dA4SslE}Gg;&WhtYpG)6U!Ea29!H%?ahd^54+^o0V28#9s2{xQ^UKnb$1>s zUY^}9i2&9v4QJu(xOPbdVAh?wt?d92zi^J^&vgoySb1+qmmi0B}` Z`Y-il7nw201!5QImN;7^FeRDuvlieQm$nqSgH2#ST^0cx)=Dn zcnY!FJo_HPt-fVW+YdiB+UT#;6V;vF(d}+cR@IeV(d8~pF{?8>qtl(5 z-l&f3hz@sXMqTY}N84?I)T&mtqU9C|*g%8DFx{Fx6Im5iuF|X}%dCt_S87;LjI4+X zS7=Dl>numvWx_9&xPzYqFMxz!h@dKJnV+WiNj6zrg25Bat1rHX34YcM&(@mM25EsKp^s$!A zn#VD|u6s{$op5YkSDD^r^tisfo6%**9APOOq(ypevUm*eg627JCCoz;t2Wm=9wHzA zIZpn)d?D?0K6~e%(5n+Y{``IW_383vZ~ype`|Z!iyVvi|9^OBm{E(}2>Xh(M9J1dY2CIYT07X)PL*D{uoU3SWSe zM5)Z@cZj(9E!*Rn@%yj8UtL_@?zGcisVAyCyQACPnyjiTyQ0fonqpRGc1EW=HN8j060m^=i($GodnU3fs$8X6OO{y~m9EsVpcq*Z6|T^b zqSslDvde-aqopiG$tAYJ8Zb!15?a()3^veUF{}|ZIT4x8)aYX^Swx02G;(1<(UEpq zsD~82sYp46Jp6zr)7XK2NT3kbfI%9Tw8DeMU;_=7#;04Wd;7XW>CRXi!yzvnE_|I|r wZ*w5M>1_7SKcT}DJ@4vn|M>OS_UPly>%-H_{r>p;)5Xs}-+pgDf7s~DJ6{D>Q~&?~ literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-arrowdn.gif b/docs/sdrs/api-ref/public_sys-resources/icon-arrowdn.gif new file mode 100644 index 0000000000000000000000000000000000000000..84eec9be2f2ce458e888f8a9b803f9387247726a GIT binary patch literal 68 zcmZ?wbhEHbzkByxQ$u Mo$o?7J5~m305MV#!~g&Q literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-arrowrt.gif b/docs/sdrs/api-ref/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 0000000000000000000000000000000000000000..39583d168d6db303b366b5b8c1780698a6bb6017 GIT binary patch literal 70 zcmZ?wbhEHbEMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-danger.gif b/docs/sdrs/api-ref/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..079c79b263f4b48089f3b3256154c73e7699593f GIT binary patch literal 1086 zcmW+#YfRQ<6hA3LZMyP?V}KhnEtF{Q4vGxS52AozEVM85nq$#%tv8gRF!3GhgM?_) zd5Luv3SKrXFTGCpn$y>EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-huawei.gif b/docs/sdrs/api-ref/public_sys-resources/icon-huawei.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31d60f895af919d33855217ca02daf4093136d7 GIT binary patch literal 2767 zcmV;=3NZCYNk%w1VaEV40Oo%H*MEWRpQG)+!RUX6`tR@RDKg4%aM+KK_}}3B+S#H2 z0rt<*_Nl4!k%7|y4fwgY^uNNg00pZ61NzIz@q2NyEiLIHE%S?g^NEbfKt%9!YU?yQ z^qh&+U}WbD8{q&E?Mq9<013DN2H5})@N8$u01CkX3Fs9f^{bWHKuGLFOZ1kS)=*aD z01@p=RQ9r(>pemK^YiUeQPU6`>94W!hk53YleQ2Q>_SB7aCr2fj@; z@a|n&?qX^0W?<$J9`9pa@`8Bj9VzWnT-qQk!yqQl01W6ECF?mp=LHtlFgo|Iv-PHs z+HiFBprpVM7yReuz5od5zrUyu5$;)5@{gDATVup9HOgRO=U{2(0u;*t3-Hg-^OuGE z;N9vkH}7a--=Co1Fg#jPP{_r^k&B8kCM0%mZLFxL@$v9KH8SJk;?~sDy0^BTnwV%{ zUQ9zlgnfM9U}wHiP~xwz{`dCrZ*%7e7{X9d^{Afom69VE761SLA^8LW004ggEC2ui z0LK6@000O7fPaF6goTEOh>41ejE#|lU+C8$A-c{-jb1$W_sAqMbtN`+RZ#DGFR(dnrcRE3N%f+!F;*y7(oOv#1FPiAwy#YP$z^Q7U<_8BLs** zMSr>_(L`oBgxA?;z>x3<218xJ;14v)$l4!yG&Wrk_I1$$0*;vB$B=#`at4uppizkb zkVG1Zq>_oSkp_`a7SaZiZXiMjk!m2q29j+I!X%PpB5B5wO%5V}2qJRl1%NsHfxr&G z=|x^!dAKu_41Dql0y7LOA)N(0dcZ^rABfh-m_;ITB$a5UdB~$fR(S{-NTzYfmPE#Z z$dyBCddM0`(jjJQ3^=Hu0tmpW@WUTds1O^W zCv4aPqTVsWsFRSgiX^m^Dgr8zYZ&qdl5-rgEs}5?A_tOhoSJHxtD4)WAg_+-CV)r$ z0l^3=PP3O0e*huI221P;!@n>Lqi=>hZs_9&J75vyw2nR*>5$YWnFy(5hH1$EwSHt- z2&Y^c@+FZL3&QBRsy<8z0uiv;-+usJMIdJZ34w1G1pu?}1~|L$M-&7rk*ppEBV3oW z3{UE?w2~S^sl>(pGc6ETQUgwH}48uSiAJo0SA(QX~FrGzYvq#TC0!EGVmk{K=`YG64w z*^4Iq2N`U_YT26(@Ww;iA6V3a3V*n8!U;+!QN-&o;K;WJKrdVR4kI*6wC0H)Z8+gt z8&Y|wjA~4X(?lBohtwStGUbrnULHxSg=BE{y8s3-FXI^_2KJ7l* zPUi?^WVSHxgDj2s;6@ith~r!?-DM$hAerqT7$efv{s0FgQSEnvBN74j@P$DTKnvHC zONlTuy0+nk2Y*mO7rMX%Cg?#AOZY{0)h5f{2_S7&W;+3~xxv`varUz{DmpF%e^`f&wJ41t9(5fhwzv1mBc| z0U*EuBM2j%FvtTFnh*k5Fk|UZh`TZf2my8Qf){uKMUtgzel#qE{5o z`T+owlz=pEZ~#HrKnm`Pm2OzzgBhrem4EOJodD;_ahfxf-U+}Ak|4_v=x&*|EE67c z`G;K+;#whFp8pE*u^;}yhknQwAj5S;KNQlDsB)$xqbbb@AmI*w_<|O)xy2+vAOLDp z8yCVE${l#|oS_`S5dZ^$BP4;HUf`rVX&Fy4%@bn4W7;49dBA^~$q>dQOL?8kgXdnQvsYOnDfj24t0FVQ&GJsH);SXF0X(+eq z0|aFCq_QkQ2uwgnL@)|$U)!lnaS7A<-BO9Aav~Zq1~shtZ;*=2X&Qw1zoAY~flO_x zQ=i%a0w5p*o16;-5U|cJ{sE(En`{^}sx}@hzy~=vDN0qkRui}|sdcU4U8UAnL&&wT ze-NTA73oVe_41G0LefE{2Z>hMA+geI=u@QtfIkQT2`1nUZwBxt8^}v-apD4J9dHDm z*r2j$RqI-*fP_WBP>(V+WFp;)q}Cd-rO7KqPBT@AJ}!>D^n`Dbmde!NE;eOIpur!e zT2+HIfiCh&!V$`4~D_J+6+9nP?X4+~QQR3Nd6O>yUni+~O!R{(#Yf%|x3 zV=w6V57*_SoPYe_5lO*{ETyMCXS!kI{qmTJC@5?}tYs@Z`Gp%cnIOCjX8WdC#YjMN znOSg%0i?hn3uwZe>0DG@D8{!L9NVviU!0?6(AlZm;xWpa)Zb-c0Yf<`I615cvC$3@R|NPo+jf8PRu)%BB zhMd<%u5!4#ylXATHvtr$a54bk<~ZL%26n#lMX-S98Gr)LaZUq?L;OQXHv|E!0Ok|h zR|}ywHv~IJbrC%JsW+&2(zpJHJ2XAlm3#yMI(PL)OS76>Px~OC`E{mNAnK0zLI%qI z)ZlJG?RXaiuD@;tv`>NzH;90J?Vk56!rvj>leB^Xjy?$j0N@7pwE`ImPx(Jo;pSvu Vyd?-=a{xfJ@}LjB=qC{f06U7uGEOJ7jGVWt0R$WZ8s=je-u*DOe&kq9}!i z4KyN^y7WUtlMt&*F%bljtRbDEJamX6>@vOi{twMwE+=kqtJr%yLc-a1j}Z>-)`f9GBO%WDhy=L0>5=eLzUZCI?G``P_| zXl3c^-NL}=_M!Zh=FG7pU)shB58htr9~}O0uVbq2_rt-Fxv_(zmmdB7)lfOReyZ>D zrqum6#Z#+~moGM-oS4Ziby(A(@4L&ZrWcR4wV&_mTide#$G4kXKF-|cGp}2pJe$2t GE&l)<3Z_>8 literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-notice.gif b/docs/sdrs/api-ref/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..409070650a49518feb1624c624d814c3bfa63d2e GIT binary patch literal 962 zcmb7D&r8&C5S<{wSd_qn6)U)w5LOaRh!N}_*49lD)S!dZp@M<3gPIX|@UR9-fz+X3 zAaT9)OY{xZtO-;RC85Vab;JEUNIMS5f^r$7-e%-XK`j{0+N$CsgpRd6B1wp z8dw-cH^rU^H4`&7qgabf)l^K`l!66{q9$U(CKRO5%W5pfY)s&YQ6n`HBR0ZTum%`N zgC%I8hQ+`JG_WvCAt-W$sIn@BKCDG1qQWW^a=`*c7G+i@s0S(ZDv1&+K_2`7O-#cM z=m!ZX1Z#kSG+3e)Jg^wpfCd(Yb5TZ)U=a!DwsG z)Z`|1ejMK4ap%CHj;%+>T6=D++5I=uBbQ$fZ48cf{hV1}9&Njl-I}i7e0#6Hdug@s zsr-57_=gLr&9Ros$k}}M>tJ77=hEJ}iPaZ%8|P+gUbS|Oj}5I{|5nZZc)C1$e*Rj` d`09hYXJ4M@PhCx)dHK8WZo1*|*q+^V@*ncduk8Q; literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/icon-tip.gif b/docs/sdrs/api-ref/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..c47bae05c9fd17c02a851d96cfac67bf194498d8 GIT binary patch literal 879 zcmchWKWmj?48@OdDOZPr)a61!OE4yGD)salg#|^Ix$qIEF#uk)V>D{95e^!2r`i+9t# zTMu5YtUcd+@#gp0tDE;9ug>oLIzL$6dOx4-t#2PKExu1KulwoYeD?Os#mVO%AMWih HO|EMGZQ&sWI^~+e%qWysRPK%BSD+f4-fabAGq;|Cf|4nO{(o zMH%#n$oXf^sdM5SJ4e1UbEeM389O82RCB6M#VI=_KP%=$orn{5LVlIau{svV?3jS$ z$Q-F7am0>L02|Q2!ZN1G^Z2J`V#a3VX;G<~iYc3tSAnLeiI}hnc~O{UH5OwwCTPT} zks65+8-W$70S3`f30dfY7}$UY7M95y@-?2QvMPChphYF3!YbtLLIs*E%B)Oq4^fy^ z5+zoGJ>&tI*hU=i4-s$()c}KNsKh9AfEd_-1{V3`d>b_$i;xcz{y>Y0S(uP3>_P>a zLM((Fku(B;E{r2+xJ8u612VCVIG_oJ;Sj0;2GQ7rEa(6+umMf}M1C4=)Odu8AxQWG zEh;Aearj(=d;4Z^LLYN*6+asU?Nbl3^Q%D|{s@6Xj}(aZHwkoj-~bw*1FnSd;0aX! zUW<-TPD&b;6s;@zw7K~4mF9cDuK&BQ;b_N-Cj%R=CnEjde9%~1kk}vYY^@mTTNm%F z?mbrf*~d#iX;?ITDf(MHQdK;&p(ek&e9qe?*&A0E)mG(1s`J*pn^#ttId4vCXjV$j zj464u)2F9Q$V#0!dHk4(FDB#D&wP^f0*q1)G?4!%Xe>;ROD~Oee-}xfJUd+aa_0AK zFP$vgR2te>+%}b$hVw&Ni`yT>F5LNRM@_utk68Piwi5??BLBpCcb8mx|3c*1x!xZJ zKU!7(#h8s(^x)5*w=Z0K{=a9#qeoHU|0&%MiU0rr literal 0 HcmV?d00001 diff --git a/docs/sdrs/api-ref/public_sys-resources/note_3.0-en-us.png b/docs/sdrs/api-ref/public_sys-resources/note_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..57a0e1f53377b28fd80ceb393b035f8d9b8b392a GIT binary patch literal 1080 zcmV-81jqY{P)pI>PbXFRA}Dqnq7z+RTRg6r`*v5D@IBmL~4s5$SN3-f`YICkrqS^ z3O*?4J{4psT?>Nv;P$DA4|YKmeJd1v=!+{-P(e)MT23E4 zfpM5g?!;YNyXOywggfWv-aG#}pA%7499KRz`7Lmw98Q!I<#3`LPLvbnaH1TQ5UMEG zlVk_b1{y%CK&5Na8Kh~iV1CQyHSIUD=$Ui|Y1(mW{t2nlnW!hpqTT3)%#9tQ2@Hwc z4!jG@4brq%Pm%+`OlEvYXy4{GY5awd{We?gCpulWuT{Z9`oN)jk~9ZtI#ba@Tm#IC$eXI#i?GB7 z@C|Siuxi7{ffK+jzyrW_z5t&id2Xi{7fGOZ7RUNhF z=`q(YYu4B2zr}fA1-My6UW~A&C(H`Z0J{sqLLYb>ST?)$UTJH~j4 z)U5D`kx~@HyTBjADBwh`9UcOHGnaO3gx+o=^sFTdqcDs&7cD!S1Y1R9DJQENmMBXi zUX68u7SqPL=oS0?tDydiCJNY=lMCxo@cxg;Iw&H0tZv&cB5#jSkGc8v45{4-xAi@+ zH#c^6Llb3aTk2cp0#8`%*2*ZSb3DivIwje71|rV*JnwHI2e{V0 z?L}VtT_k|}D>qFKHz^_)cUMxtxkDBWXzz2D1oirfKkqs5Z>m~O`i+$JJR1>-NN>fsG-Q5hHbmeou}1??2@ zp;^{uvz{qy3k557pH|h^|K(Paf~;?wS^K(J)S`9Ki+p;|vZBS3*BostG+QG&8PgN& z=@C2h$ubuxBJTs&=XH#%UFPZrh=oAMNN{DPG_uReuDWcPESRPGOKD;{Otwcu3X@*QY`k0+@}-e yxT4{IZgHXpLI!Q!9RCwC$n{8}UWfaGMW8J;IUE8&LY1fUhGLTVa3!QBW+ZA*L=y*M3rfr5il?z?dJZieJ#47>M$@*mD4$1ecadv1qsU1#wR$;qu4Bmh4yS`Hi)ReG=4*#e zajgEV5YlLPaKTMvrW)|6L6Y@JtlU|tX}9u@d<^;|8a!TJ`kRn8mKIZX-z)%<^+`jn z738I}>P{CwooQ#@mc8ItdHsQ6rsk%O$iLY)*x7Zcj%}lwEK@`-=;otzSyX+&p9{kzQYbgSF@Q=2Qy+?#VW0=Vy|cYT&lQ@%;A2YQ{hH z9%ov+34{hBa~SnWOw39F;7p5`9$z4G?cJ)An*I*rb~&khdI=d8h1SkK)If-j5C2TB z8p4%r<<^31tR|Tw4Xs1QHMjMk20}yD8f4p%dXd_$me9Z-SWPlj8%nUOe;>LpUUAI& z1+$nxI~Q3>q`9q!{1-nPlEMa4o@e_SGSdvCrzn))J%_ut?ipfIn4e4CD=Pq4zT@D? zqk$|@wV{L*qfBG7mtFghv-Lntl$pcnz~kwNI)BUSUuvgmQEXp5=UThz?DmmjlsW$V z@)3#dyh6UbBYa%QD%n4gom-Glu20@0My{Xs3VRpaU9=0QxbJP-J)Pz^`?kOW30Tn z@ufYqb@gL4$<)8N0%S?kG%v#(IqvH7UvcW1v+a@N8!}9Baks0-uUUYP1beE1+)Q)S zUobczB2ql)J>S90pM1~e2X4k70q-59;@Rj(Ixc6Ok_Z$V@dbE+GNTrV;HlFQ=lRMeN%CX^J*|inqrfX$fdWuECU& zYE~#M%8xCgqI||*N`--7Xw)BgEZ#bB0-qYhW>q--LhLmBU*r0E*5+4PP+l2n2}rtV z_qXh+#jl32SrvAyo2R)OD=o_BoyYIMW>x6y_Tety7r)3^eF8`TK$3KP{`eA2F}YpN zxa|~0YP$+*PB&3e-M~W&UFbFHknL5q%yVT?GB=Ox3?p^VEh7*N@$03nevU0%RA*Qe zy8Bd~e78Ejsl=~x+vYF$e)B!#In3BC3Kw>)rNi4F>6}lnndnzTghB(1f9&nZP({}9 z<_Y#X?@5R5*rUdbm zZ9zPQB)-@t_#f`t1VTsxAtZr72uUD>BoIOp2q6gsLP&yt3mvdY+y=oIIs7M?<}pwN SX0_=60000=0&&navigator.userAgent.indexOf("opera")==-1&&document.all)?true:false;var xPos;var yPos;window.document.onmousemove=function(a){a=a||window.event;if(a.pageX){xPos=a.pageX;yPos=a.pageY}else{if(document.body!==null&&typeof document.body!=="undefined"){xPos=a.clientX+document.body.scrollLeft-document.body.clientLeft;yPos=a.clientY+document.body.scrollTop-document.body.clientTop}}};function showTooltip(e){if(document.body===null||typeof document.body==="undefined"){return}if(i==0){return}clickFlag=true;var f=Json.parse("jsonData."+e);var a=Math.max(document.body.clientWidth,document.documentElement.clientWidth)-20;if(!dhtmlgoodies_tooltipFlag){dhtmlgoodies_tooltip=document.createElement("DIV");dhtmlgoodies_tooltip.id="dhtmlgoodies_tooltip";dhtmlgoodies_tooltipShadow=document.createElement("DIV");dhtmlgoodies_tooltipShadow.id="dhtmlgoodies_tooltipShadow";document.body.appendChild(dhtmlgoodies_tooltip);document.body.appendChild(dhtmlgoodies_tooltipShadow);if(tooltip_is_msie){dhtmlgoodies_iframe=document.createElement("IFRAME");dhtmlgoodies_iframe.frameborder="5";dhtmlgoodies_iframe.style.backgroundColor="#FFFFFF";dhtmlgoodies_iframe.src="#";dhtmlgoodies_iframe.style.zIndex=100;dhtmlgoodies_iframe.style.position="absolute";document.body.appendChild(dhtmlgoodies_iframe)}}dhtmlgoodies_tooltip.style.display="block";dhtmlgoodies_tooltipShadow.style.display="block";if(tooltip_is_msie){dhtmlgoodies_iframe.style.display="block"}var b=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(navigator.userAgent.toLowerCase().indexOf("safari")>=0){b=0}var c=xPos+10;dhtmlgoodies_tooltip.style.width=null;dhtmlgoodies_tooltip.innerHTML=f;dhtmlgoodies_tooltip.style.left=c+"px";if(tooltip_is_msie){dhtmlgoodies_tooltip.style.top=yPos+20+b+"px"}else{dhtmlgoodies_tooltip.style.top=yPos+20+"px"}dhtmlgoodies_tooltipShadow.style.left=c+dhtmlgoodies_shadowSize+"px";if(tooltip_is_msie){dhtmlgoodies_tooltipShadow.style.top=yPos+20+b+dhtmlgoodies_shadowSize+"px"}else{dhtmlgoodies_tooltipShadow.style.top=yPos+20+dhtmlgoodies_shadowSize+"px"}if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){dhtmlgoodies_tooltip.style.width=dhtmlgoodies_tooltipMaxWidth+"px"}var d=dhtmlgoodies_tooltip.offsetWidth;if(da){dhtmlgoodies_tooltip.style.left=(dhtmlgoodies_tooltipShadow.style.left.replace("px","")-((c+d)-a))+"px";dhtmlgoodies_tooltipShadow.style.left=(dhtmlgoodies_tooltipShadow.style.left.replace("px","")-((c+d)-a)+dhtmlgoodies_shadowSize)+"px"}if(tooltip_is_msie){dhtmlgoodies_iframe.style.left=dhtmlgoodies_tooltip.style.left;dhtmlgoodies_iframe.style.top=dhtmlgoodies_tooltip.style.top;dhtmlgoodies_iframe.style.width=dhtmlgoodies_tooltip.offsetWidth+"px";dhtmlgoodies_iframe.style.height=dhtmlgoodies_tooltip.offsetHeight+"px"}}function hideTooltip(){i=0;clickFlag=false;if((dhtmlgoodies_tooltip!==null&&typeof dhtmlgoodies_tooltip!=="undefined")&&+(dhtmlgoodies_tooltip.style!==null&&typeof dhtmlgoodies_tooltip.style!=="undefined")){dhtmlgoodies_tooltip.style.display="none";dhtmlgoodies_tooltipShadow.style.display="none";if(tooltip_is_msie){dhtmlgoodies_iframe.style.display="none"}}if(timeId!==null&&typeof timeId!=="undefined"&&timeId!=""){clearTimeout(timeId)}}function showText(a){i=1;timeId=setTimeout(function(){showTooltip(a)},500)}function showText2(a){if(!clickFlag){i=1;showTooltip(a);i=0;if(timeId!==null&&typeof timeId!=="undefined"&&timeId!=""){clearTimeout(timeId)}}}function anchorScroll(b){var d=document.getElementsByName(b);if(d!=null&&d.length>0){var c=d[0];var a=c.getBoundingClientRect().left+(document.body.scrollLeft||(document.documentElement&&document.documentElement.scrollLeft));var e=c.getBoundingClientRect().top+(document.body.scrollTop||(document.documentElement&&document.documentElement.scrollTop));window.scrollTo(a,e-30)}}; \ No newline at end of file diff --git a/docs/sdrs/api-ref/public_sys-resources/warning_3.0-en-us.png b/docs/sdrs/api-ref/public_sys-resources/warning_3.0-en-us.png new file mode 100644 index 0000000000000000000000000000000000000000..def5c3565da51684d78479f45904c0360844c243 GIT binary patch literal 3164 zcmV-i45RajP)pR4oO5oRCwC$oPSW0cb>;zfj~mSuLKN~5E4Ot2?$cVg1bfW*MgmP zwXW?r{^)GC>z&@*cI;fk*-bA_)*65J|u{1o1b~sY9&bgB!&FtPHC|>aqwkEf8t)sIV8a zy`l<$fv1-750WZjrUfER4&AbBw(qRs>9xxN*j}-pMOzA)VQ&y-TOiWJv9nVR=-IGB zL`2wi-rWtmJCwYrnwtLq8d^@54N{_E#qc2?d98FYUt9|#UM6CV$k!5{lNa$(kHW9K zOnWgQF}`S;)25`yKPRE0?;CL9SWtgolNa zrBRX}cY`9==aUXcrj$ru%8RMoU&9MOUrS=-S8j{+s~_?FOYc$kFAFFdtPOe${ncT1 z{rLzf8V%)-DtvDE-wqmRZ8xCPYAJtA<5`q3{Ob`bjZO9Fv|84D-@EVUj$Eg)=@6=E z@#L*7W|qCq*W!xRyz%}azq+NTrIL{{k5{wx9=$&5QFz+d73A@UdA>TE#nbrfC(X3B z8(6fZ$fI-Rsms(id`VH^EXwBij$f6Q%6pGy`z7a}PPWn1d>+=6lPmX*Un}gz{Ox!v z`WEl|IDGSOT%3|O*G+D{rZj7N?NbLjt(LV5jh=HqnA?U z8mrYxV|c!gMHxe<(a3REu1^wRwhaLAc*#s3m+W-80O+~e%iEuijH}D~<%`(7rkqDg z=TTZb2dmA-!DFZR&9(3NZQo)rQeiLlD~pmzCp{Of?FN2YE1pz;Th3*$^KYlnx3rR& zpyJ_&X0!Fj%Xs-G%lKj0eA3fW0mv9`|G!E9Ya~lJ`Po^X-Lx2KsErPD79Hj+q@gxm z{Mlkoes-3_qjQ5Er(oy{Vq#*j+H8D$A>2z=-J3vbyTSAQk0(04Sglr))oM!O z`@CekFQuSwX(c8)8igX37UN~i63tz8`Qdaso8^aiGyN2A&2A@2H4T81Uv&6wZ?)Oj zTifJC_?WSn~TqB!^hRw*Ad4e7J~3dFR=6G>_8NdnsMLm)G}au^{sd3m-1x^#e`g zF3xz6x-4W*PjVBduE|UGaf6#U1-aQM6tVOT40?@sz!ZhmW+Or>@p4-Zv4VXye+OW7 zc`+d&A#@sz?CP00DZSLHz!o=IttMHmrqgKTxg*zuw$4$Jkz99N$7-|j*1@mnmSvB7 zO=WExR-28GkWk(!3-#*~r7p`oB}P+1qz`Ts(`7QTajn||ZQHTiBYWfRy#Q?8q@~Mb zVxKK9=<$~3C;^C&N<0(TEz8Di8z5P&W>aZ0G0`z}8jaMCZ=XmZMWeykeJP-en=p}N zQr=uQi}bWqx=f~kF79@>Z|%3c-P>cc{E{db1WhEfM8nqKxzqiJbY}y$o33o;>9xz* zUQson-E%k07oQ_VqoK9kz%l!D08Tq~beT*pkf^ z4(PF1`pDEKqI8;gLeoonS}MI}GariryW_5*SlZ-;)XNs|tUjBo*UTssvHYZ9)NlJ) z_By_sKLd-UZ%SNTyvWApvWyA2xbs6QE?m4wVctygq*taq{STT*zcFP3uVFUm(>{fsnY2byQucdN-4PVNGGwlltbpW(qxPn=t@v%0g@(xlo8u|zNX$;Tj zL~B0)v5_*bKys%(iq>`m{r&x%z8c|~$V_b_07FC0fQu6zCMG;gOl!LV)wFmvmglg* zQ8R8V_1h;>NK8;+wORT1?%)IOmvT)cCaCB#nI=Te-qC2U(nDqS8QysRkk_a3)aCm} zq?bP(MW@xWs-)NJe1QW+nJCD~rsrxeyN)(b$ZgNE*Rg8RgYE+A=jS;+kQlUu{`Kmaq-Zo)ZC1bW*X)SP zB&*dleDyW$_FJ1<>AK4LvN>#CQ_ki!<><89`&-$rmo4DrXSKYw{l~;e&UndGvBREY zdBhz%GStSin-=p=&;OneA1vbs!`1gR{w#YP5zt^s>sevrzAfWX_)uEYBrfUeBv}`^qrW~HGWfKsmsDE zOQ*BGS9P4Wl`RF-yksh zy60FsZNNwVNWragKrk^ve!4rg7mMBdVO@#NOI{X#h4i#kMn*=saPcD79Zs)o<((?G z^^%CiJRf_Q&GJKDpRI*9vNO}^G#dG@zTAL%%&<4GWyKs~qN8as7&HHba-?wT_zK+{<0Kls4ZZI zwt3@|Ua`~d_}Me*beT*+rNNJ9iBKqFak*TiXf(`~bowmtSfv`EtT@NZqPks+{a z5!JMKPh8~>&n-znE|bw}==6Ccb0>biz(smmDwnVHu}ZPEji zzW45)-n*6<0^#-C^K4pKLR_4Zk&zJ&pEynB{*O3#>=aGS=dlkuD9FiX!}lillwCC0 z-?hEgU&dQ|syVhNu(h$+M6CR&JD%9FMMGhZ|GG+tIg8TOds)AHF)ylW?m2UG5RP)x z8t}<_w^)soA(EXPo(HDmU3a@1zaW|JX{#K%Oq;}A@|fXl@p%B-Ez8C%ib2W{N|$?g zkBuLwVmzkfoqdk=b-RuZv4S>9rqBJ{sq>hQNv?~2V>^dfL1TD6U)yB#J4cCkVw)_#|7FHwSFj&?I903+@}Q+?E}XNC3Nz=CN(ZZjK1= zEPb1Cd{SB4f1Go_kMMN4^{(v-b4ID$mhCyd8&;L{vU{JFmp>h)qCi-YZ!0DoBh||m zu>a`Eo9X_gaoZQ>jE+kpfEdXop55erJD^6gL|Bn;DJE=@t~lNAw+sx9aIkUClqxYW z=nj}aF^#ZTB`nJSYa&gTT1nApc>bmLzAo-6E0000 + +

API Usage Guidelines

+

Public cloud APIs comply with the RESTful API design principles. REST-based web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: https://Endpoint/uri. In the URL, uri indicates the resource path, that is, the API access path.

+

Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by Application/json.

+

For details about how to use APIs, see API Usage Guidelines.

+
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0000.html b/docs/sdrs/api-ref/sdrs_05_0000.html new file mode 100644 index 000000000..0f4aa4e31 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0000.html @@ -0,0 +1,30 @@ + + +

SDRS APIs

+

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0100.html b/docs/sdrs/api-ref/sdrs_05_0100.html new file mode 100644 index 000000000..8e8af4601 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0100.html @@ -0,0 +1,16 @@ + + +

Job

+

+
+
+ + + +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0101.html b/docs/sdrs/api-ref/sdrs_05_0101.html new file mode 100644 index 000000000..e972d7f5b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0101.html @@ -0,0 +1,329 @@ + + +

Querying the Job Status

+

Function

This API is used to query the execution status of a job.

+

After a job, such as creating or deleting a protection group, creating or deleting a protected instance, and creating or deleting a replication pair, is issued, job_id is returned, based on which you can query the execution status of the job.

+
+
+

URI

  • URI format

    GET /v1/{project_id}/jobs/{job_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    job_id

    +

    Yes

    +

    String

    +

    Specifies the job ID.

    +

    Specifies the returned parameter when the asynchronous API command is issued. For details, see the description in Function.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{endpoint}/v1/{project_id}/jobs/0000000062db92d70162db9d200f000a

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    status

    +

    String

    +

    Specifies the job status.

    +
    • SUCCESS: The job was successfully executed.
    • RUNNING: The job is in progress.
    • FAIL: The job failed.
    • INIT: The job is being initialized.
    +

    entities

    +

    Object

    +

    Specifies the job object.

    +

    The value of this parameter varies depending on the job type. If the job is a protection group-related operation, the value will be server_group_id. If a subjob is available, details about the subjob are displayed.

    +

    For details, see Table 1.

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    For details, see the description in Function.

    +

    job_type

    +

    String

    +

    Specifies the job type.

    +
    • createProtectionGroupNoCG: Creates a protection group.
    • deleteProtectionGroupNoCG: Deletes a protection group.
    • startProtectionGroupNoCG: Enables protection for a protection group.
    • reprotectProtectionGroupNoCG: Enables protection again for a protection group.
    • stopProtectionGroupNoCG: Disables protection for a protection group.
    • failoverProtectionGroupNoCG: Performs a failover for a protection group.
    • reverseProtectionGroupNoCG: Performs a planned failover for a protection group.
    • createProtectedInstanceNoCG: Creates a protected instance.
    • deleteProtectedInstanceNoCG: Deletes a protected instance.
    • attachReplicationPairNew: Attaches a replication pair to a protected instance.
    • detachReplicationPairNew: Detaches a replication pair from a protected instance.
    • addNicNew: Adds a NIC to a protected instance.
    • deleteNicNew: Deletes a NIC from a protected instance.
    • resizeProtectedInstanceNew: Modifies the specifications of a protected instance.
    • createReplicationPairNoCG: Creates a replication pair.
    • deleteReplicationPairNoCG: Deletes a replication pair.
    • expandReplicationPairNew: Expands the capacity of a replication pair.
    • createDisasterRecoveryDrill: Creates a DR drill.
    • deleteDisasterRecoveryDrill: Deletes a DR drill.
    +

    begin_time

    +

    String

    +

    Specifies the start time.

    +

    The default format is as follows: "yyyy-MM-dd 'T' HH:mm:ss.SSSZ", for example, 2019-04-01T12:00:00.000Z.

    +

    end_time

    +

    String

    +

    Specifies the end time.

    +

    The default format is as follows: "yyyy-MM-dd 'T' HH:mm:ss.SSSZ", for example, 2019-04-01T12:00:00.000Z.

    +

    error_code

    +

    String

    +

    Specifies the error code returned upon a job execution failure.

    +

    For details, see Error Codes.

    +

    fail_reason

    +

    String

    +

    Specifies the cause of a job execution failure.

    +

    For details, see Error Codes.

    +

    message

    +

    String

    +

    Specifies the error message returned when an error occurs.

    +

    For details, see the abnormal returned values in Returned Values.

    +

    code

    +

    String

    +

    Specifies the error code returned when an error occurs.

    +

    For details, see the abnormal returned values in Returned Values.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 1 entities field description

    Parameter

    +

    Type

    +

    Description

    +

    server_group_id

    +

    String

    +

    Specifies the ID of the protection group being queried.

    +

    sub_jobs

    +

    Array of objects

    +

    Specifies the execution information of a subjob. When no subjob exists, the value of this parameter is left empty. The structure of each subjob is similar to that of the parent job.

    +
    +
    +
+
  • Example response
    {  
    +      "status": "SUCCESS",  
    +      "entities": {  
    +          "server_group_id": "a59d008e-4bad-4bf3-9b17-6cc25e7da483"  
    +      },  
    +      "job_id": "0000000062db92d70162db9d200f000a",  
    +      "job_type": "createProtectionGroupNoCG",  
    +      "begin_time": "2018-04-19T01:55:30.443Z",  
    +      "end_time": "2018-04-19T01:55:45.493Z",  
    +      "error_code": null,  
    +      "fail_reason": null  
    +  }
    +

    Or

    +
    {
    +    "job_id": "ff8080826b45d4a5016b5036242c0025",
    +    "job_type": "stopProtectionGroupNoCG",
    +    "begin_time": "2019-06-13T09:40:53.930Z",
    +    "end_time": "2019-06-13T09:41:01.946Z",
    +    "status": "SUCCESS",
    +    "error_code": null,
    +    "fail_reason": null,
    +    "entities": {
    +        "sub_jobs": [
    +            {
    +                "job_id": "ff8080826b45d4a5016b50362868002a",
    +                "job_type": "stopProtectionGroupRepNoCG",
    +                "begin_time": "2019-06-13T09:40:55.015Z",
    +                "end_time": "2019-06-13T09:40:58.951Z",
    +                "status": "SUCCESS",
    +                "error_code": null,
    +                "fail_reason": null,
    +                "entities": {
    +                    "server_group_id": "1fd6903c-48f9-4772-8974-112dfbd74427"
    +                }
    +            },
    +            {
    +                "job_id": "ff8080826b45d4a5016b50362870002b",
    +                "job_type": "stopProtectionGroupRepNoCG",
    +                "begin_time": "2019-06-13T09:40:55.022Z",
    +                "end_time": "2019-06-13T09:40:58.952Z",
    +                "status": "SUCCESS",
    +                "error_code": null,
    +                "fail_reason": null,
    +                "entities": {
    +                    "server_group_id": "1fd6903c-48f9-4772-8974-112dfbd74427"
    +                }
    +            }
    +        ]
    +    }
    +}
    +{ 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0200.html b/docs/sdrs/api-ref/sdrs_05_0200.html new file mode 100644 index 000000000..93d4aae20 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0200.html @@ -0,0 +1,18 @@ + + +

API Version

+

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0201.html b/docs/sdrs/api-ref/sdrs_05_0201.html new file mode 100644 index 000000000..dcb975242 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0201.html @@ -0,0 +1,256 @@ + + +

Querying API Versions

+

Function

This API is used to query all available API versions of SDRS.

+
+

Constraints

None

+
+

URI

  • URI format

    GET /

    +
+
+

Request

  • Parameter description

    None

    +
  • Example request

    GET https://{endpoint}/

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    versions

    +

    Array of objects

    +

    Specifies the API version list.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 versions field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the version ID, for example, v1.

    +

    links

    +

    Array of objects

    +

    Specifies the API URL.

    +

    For details, see Table 2.

    +

    version

    +

    String

    +

    Specifies the version. If the APIs of this version support microversions, the system returns the supported maximum microversion. If the microversion is not supported, the system returns an empty value.

    +

    status

    +

    String

    +

    Specifies the version status. Values are as follows:

    +

    CURRENT: widely used version

    +

    SUPPORT: earlier version which is still supported

    +

    DEPRECATED: deprecated version which may be deleted later

    +

    updated

    +

    String

    +

    Specifies the version release time in UTC format. For example, the release time of v1 is 2018-05-30T15:00:00Z.

    +

    min_version

    +

    String

    +

    Specifies the microversion. If APIs of a version support microversions, the system returns the supported minimum microversion. If microversions are not supported, the system returns an empty value.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 links parameters

    Parameter

    +

    Type

    +

    Description

    +

    rel

    +

    String

    +

    Describes a link.

    +

    href

    +

    String

    +

    Specifies the version query link.

    +
    +
    +
+
  • Example response
    {
    +    "versions": [
    +        {
    +            "id": "v1",
    +            "links": [
    +                {
    +                    "href": "https://sdrs.localdomain.com/v1",
    +                    "rel": "self"
    +                }
    +            ],
    +            "status": "CURRENT",
    +            "updated": "2018-05-30T15:00:00Z",
    +            "version": "",
    +            "min_version": ""
    +        }
    +    ]
    +}            
    +

    Or

    +
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +

    In the preceding example, error indicates a general error, for example, badrequest or itemNotFound. An example is provided as follows:

    +
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0202.html b/docs/sdrs/api-ref/sdrs_05_0202.html new file mode 100644 index 000000000..a76b5cd4e --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0202.html @@ -0,0 +1,274 @@ + + +

Querying a Specified API Version

+

Function

This API is used to query a specified API version.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /{api_version}

    +
  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Description

    +

    api_version

    +

    Yes

    +

    Specifies the API version, for example, v1.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{endpoint}/v1

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    version

    +

    Object

    +

    Specifies the version of an API.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 version field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the version ID, for example, v1.

    +

    links

    +

    Array of objects

    +

    Specifies the API URL.

    +

    For details, see Table 2.

    +

    version

    +

    String

    +

    Specifies the version. If the APIs of this version support microversions, the system returns the supported maximum microversion. If the microversion is not supported, the system returns an empty value.

    +

    status

    +

    String

    +

    Specifies the version status. Values are as follows:

    +

    CURRENT: widely used version

    +

    SUPPORT: earlier version which is still supported

    +

    DEPRECATED: deprecated version which may be deleted later

    +

    updated

    +

    String

    +

    Specifies the version release time, which must be the UTC time. For example, the release time of v1 is 2018-05-30T15:00:00Z.

    +

    min_version

    +

    String

    +

    Specifies the microversion. If APIs of a version support microversions, the system returns the supported minimum microversion. If microversions are not supported, the system returns an empty value.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 links parameters

    Parameter

    +

    Type

    +

    Description

    +

    rel

    +

    String

    +

    Describes a link.

    +

    href

    +

    String

    +

    Specifies the version query link.

    +
    +
    +
+
  • Example response
    {
    +    "version": {
    +        "id": "v1",
    +        "links": [
    +            {
    +                "href": "https://sdrs.localdomain.com/v1",
    +                "rel": "self"
    +            }
    +        ],
    +        "status": "CURRENT",
    +        "updated": "2018-05-30T00:00:00Z",
    +        "version": "",
    +        "min_version": ""
    +    }
    +}
    +

    Or

    +
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +

    In the preceding example, error indicates a general error, for example, badrequest or itemNotFound. An example is provided as follows:

    +
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0300.html b/docs/sdrs/api-ref/sdrs_05_0300.html new file mode 100644 index 000000000..6cddaf618 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0300.html @@ -0,0 +1,16 @@ + + +

Active-Active Domain

+

+
+
+ + + +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0301.html b/docs/sdrs/api-ref/sdrs_05_0301.html new file mode 100644 index 000000000..c6fb05c1b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0301.html @@ -0,0 +1,287 @@ + + +

Querying an Active-Active Domain

+

Function

This API is used to query an active-active domain.

+

An active-active domain consists of the local storage device and remote storage device. Application servers can access data across data centers using an active-active domain.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/active-domains

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Example request

    GET https://{Endpoint}/v1/{project_id}/active-domains

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    domains

    +

    Array of objects

    +

    Specifies the information about an active-active domain.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 domains field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of an active-active domain.

    +

    name

    +

    String

    +

    Specifies the name of an active-active domain.

    +

    description

    +

    String

    +

    Specifies the description of an active-active domain.

    +

    sold_out

    +

    Boolean

    +

    Specifies whether resources of an active-active domain are sold out.

    +

    local_replication_cluster

    +

    Object

    +

    Specifies the parameters related to the replication cluster in one AZ (either the production site AZ or DR site AZ) of the active-active domain.

    +

    For details, see Table 2.

    +

    remote_replication_cluster

    +

    Object

    +

    Specifies the parameters related to replication cluster in the other AZ (either the production site AZ or DR site AZ) of the active-active domain.

    +

    For details, see Table 3.

    +
    +
    + +
    + + + + + + + + + +
    Table 2 local_replication_cluster field description

    Parameter

    +

    Type

    +

    Description

    +

    availability_zone

    +

    String

    +

    Specifies the name of an AZ.

    +
    +
    + +
    + + + + + + + + + +
    Table 3 remote_replication_cluster field description

    Parameter

    +

    Type

    +

    Description

    +

    availability_zone

    +

    String

    +

    Specifies the name of an AZ.

    +
    +
    +
  • Example response
    {
    +    "domains": [
    +        {
    +            "id": "fb4bb8e3-a574-4437-a156-78c916aeea4d",
    +            "name": "ActiveactiveDomain",
    +            "description": "my domain",
    +            "sold_out": false,
    +            "local_replication_cluster": {
    +                "availability_zone": "eu-de-01"
    +            },
    +            "remote_replication_cluster": {
    +                "availability_zone": "eu-de-02"
    +            }
    +        }
    +    ]
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0400.html b/docs/sdrs/api-ref/sdrs_05_0400.html new file mode 100644 index 000000000..6d659df9b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0400.html @@ -0,0 +1,31 @@ + + +

Protection Group

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0401.html b/docs/sdrs/api-ref/sdrs_05_0401.html new file mode 100644 index 000000000..75abe170b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0401.html @@ -0,0 +1,299 @@ + + +

Creating a Protection Group

+

Function

This API is used to create a protection group.

+

This API is an asynchronous interface. If this API is invoked successfully, the request is issued. To query the creation result, invoke the API described in Querying the Job Status.

+
+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    POST /v1/{project_id}/server-groups

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group

    +

    Yes

    +

    Object

    +

    Specifies the information about a protection group.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 server_group field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a protection group. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    No

    +

    String

    +

    Specifies the description of a protection group. The description can contain a maximum of 64 bytes. The value cannot contain the left angle bracket (<) or right angle bracket (>).

    +

    source_availability_zone

    +

    Yes

    +

    String

    +

    Specifies the production site AZ of a protection group.

    +

    You can obtain this value by calling the API described in Active-Active Domain.

    +

    target_availability_zone

    +

    Yes

    +

    String

    +

    Specifies the DR site AZ of a protection group.

    +

    You can obtain this value by calling the API described in Active-Active Domain.

    +

    domain_id

    +

    Yes

    +

    String

    +

    Specifies the ID of an active-active domain.

    +

    You can obtain this value by calling the API described in Active-Active Domain.

    +

    source_vpc_id

    +

    Yes

    +

    String

    +

    Specifies the ID of the VPC for the production site.

    +

    dr_type

    +

    No

    +

    String

    +

    Specifies the deployment model. The default value is migration, indicating migration within a VPC.

    +
    +
    +
+
  • Example request
    POST https://{endpoint}/v1/{project_id}/server-groups
    { 
    +	"server_group":
    +	{ 
    +		"name":"testname", 
    +		"description":"description", 
    +		"source_availability_zone":"eu-de-01", 
    +		"target_availability_zone":"eu-de-02", 
    +		"domain_id":"fb4bb8e3-a574-4437-a156-78c916aeea4d",
    +		"source_vpc_id":"046852ef-c49d-409b-8389-546aaaa5701f",
    +		"dr_type":"migration",
    +                
    +	} 
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db9d200f000a" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0402.html b/docs/sdrs/api-ref/sdrs_05_0402.html new file mode 100644 index 000000000..fab81bd4a --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0402.html @@ -0,0 +1,525 @@ + + +

Querying Protection Groups

+

Function

This API is used to query all protection groups of the current tenant.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/server-groups

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+
  • Request filter field description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum number of results returned each time. The value is a positive integer from 0 to 1000. The default value is 1000.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the offset of each request. The default value is 0. The value must be a number and cannot be negative.

    +

    status

    +

    No

    +

    String

    +

    Specifies the protection group status.

    +

    For details, see Protection Group Status.

    +

    name

    +

    No

    +

    String

    +

    Specifies the name of a protection group.

    +

    Fuzzy search is supported.

    +

    query_type

    +

    No

    +

    String

    +

    Specifies the query type.

    +
    • status_abnormal: indicates to query protection groups in the abnormal status.
    • stop_protected: indicates to query protection groups for which the protection is disabled.
    • period_no_dr_drill: indicates to query the protection groups for which the no DR drills have been performed in a specified duration. The default duration is 3 months.
    • This parameter is invalid when the value is set to general or left empty.
    +

    availability_zone

    +

    No

    +

    String

    +

    Specifies the current production site AZ of a protection group.

    +

    You can obtain this value by calling the API described in Querying an Active-Active Domain.

    +
    +
    +
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/server-groups

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    server_groups

    +

    Array of objects

    +

    Specifies the information about protection groups.

    +

    For details, see Table 1.

    +

    count

    +

    Integer

    +

    Specifies the number of protection groups that meet the filtering criteria.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 server_groups field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    name

    +

    String

    +

    Specifies the name of a protection group.

    +

    description

    +

    String

    +

    Specifies the description of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protection group. For details, see Protection Group Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protection group.

    +

    Unit: %

    +

    source_availability_zone

    +

    String

    +

    Specifies the production site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    target_availability_zone

    +

    String

    +

    Specifies the DR site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    domain_id

    +

    String

    +

    Specifies the ID of an active-active domain.

    +

    domain_name

    +

    String

    +

    Specifies the name of an active-active domain.

    +

    priority_station

    +

    String

    +

    Specifies the current production site of a protection group.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    protected_instance_num

    +

    Integer

    +

    Specifies the number of protected instances in a protection group.

    +

    replication_num

    +

    Integer

    +

    Specifies the number of replication pairs in a protection group.

    +

    disaster_recovery_drill_num

    +

    Integer

    +

    Specifies the number of DR drills in a protection group.

    +

    protected_status

    +

    String

    +

    Specifies whether protection is enabled or not.

    +
    • started: Protection is enabled.
    • stopped: Protection is disabled.
    +
    NOTE:

    The system has been upgraded. For newly protection groups, the value of this parameter is null.

    +
    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +
    NOTE:

    The system has been upgraded. For newly protection groups, the value of this parameter is null.

    +
    +

    health_status

    +

    String

    +

    Specifies the health status of a protection group.

    +
    • normal: The protection group is normal.
    • abnormal: The protection group is abnormal.
    +
    NOTE:

    The system is upgraded recently. For protection groups created after the upgrade, the value of this parameter is null.

    +
    +

    source_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the production site.

    +

    target_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the DR site.

    +

    test_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill. This parameter is not used in the current version.

    +

    dr_type

    +

    String

    +

    Specifies the deployment model. The default value is migration, indicating migration within a VPC.

    +

    created_at

    +

    String

    +

    Specifies the time when a protection group was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protection group was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    protection_type

    +

    String

    +

    Specifies the protection mode.

    +
    • replication-pair: indicates that data synchronization is performed at the replication pair level.
    • null: indicates that data synchronization is performed at the replication consistency group level.
    +
    NOTE:

    The system has been upgraded. Data synchronization is performed at the replication pair level for all resources, and the returned value is replication-pair.

    +
    +

    replication_model

    +

    String

    +

    Specifies the protection mode.

    +
    NOTE:

    This parameter is reserved.

    +
    +

    server_type

    +

    String

    +

    Specifies the type of managed servers.

    +
    • ECS: indicates that ECSs are managed.
    +
    +
    +
+
  • Example response
    { 
    +   "count": 2, 
    +   "server_groups": [ 
    +        {
    +            "id": "40df180b-9fe2-471a-8c64-1b758dc84189",
    +            "name": "testname",
    +            "description": "description",
    +            "source_availability_zone": "eu-de-01",
    +            "target_availability_zone": "eu-de-02",
    +            "domain_id": "fb4bb8e3-a574-4437-a156-78c916aeea4d",
    +            "domain_name": "ActiveactiveDomain",
    +            "status": "available",
    +            "protected_status": null,
    +            "replication_status": null,
    +            "health_status": null,
    +            "progress": 0,
    +            "priority_station": "source",
    +            "protected_instance_num": 0,
    +            "replication_num": 0,
    +            "disaster_recovery_drill_num": 0,
    +            "source_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +            "target_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +            "test_vpc_id": null,
    +            "dr_type": "migration",
    +            "server_type":"ECS"
    +            "created_at": "2019-05-23 03:51:58.256",
    +            "updated_at": "2019-05-23 07:48:12.484",
    +            "protection_type": "replication-pair",
    +            "replication_model": null
    +        },
    +        {
    +            "id": "decf224d-87fe-403a-8721-037a1a45c287",
    +            "name": "Protection-Group-lwx",
    +            "description": null,
    +            "source_availability_zone": "eu-de-01",
    +            "target_availability_zone": "eu-de-02",
    +            "domain_id": "fb4bb8e3-a574-4437-a156-78c916aeea4d",
    +            "domain_name": "ActiveactiveDomain",
    +            "status": "available",
    +            "protected_status": null,
    +            "replication_status": null,
    +            "health_status": null,
    +            "progress": 0,
    +            "priority_station": "source",
    +            "protected_instance_num": 0,
    +            "replication_num": 0,
    +            "disaster_recovery_drill_num": 0,
    +            "source_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +            "target_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +            "test_vpc_id": null,
    +            "dr_type": "migration",
    +            "server_type":ECS,
    +            "created_at": "2019-05-22 08:16:54.413",
    +            "updated_at": "2019-05-23 07:48:12.493",
    +            "protection_type": "replication-pair",
    +            "replication_model": null
    +        }
    +   ] 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0403.html b/docs/sdrs/api-ref/sdrs_05_0403.html new file mode 100644 index 000000000..8c986f108 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0403.html @@ -0,0 +1,426 @@ + + +

Querying the Details of a Protection Group

+

Function

This API is used to query the details about a protection group, such as the protection group ID and name.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/server-groups/{server_group_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/server-groups/decf224d-87fe-403a-8721-037a1a45c287

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    server_group

    +

    Object

    +

    Specifies the details of a protection group.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 server_group field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    name

    +

    String

    +

    Specifies the name of a protection group.

    +

    description

    +

    String

    +

    Specifies the description of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protection group.

    +

    For details, see Protection Group Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protection group.

    +

    Unit: %

    +

    source_availability_zone

    +

    String

    +

    Specifies the production site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    target_availability_zone

    +

    String

    +

    Specifies the DR site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    domain_id

    +

    String

    +

    Specifies the ID of an active-active domain.

    +

    domain_name

    +

    String

    +

    Specifies the name of an active-active domain.

    +

    priority_station

    +

    String

    +

    Specifies the current production site of a protection group.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    protected_instance_num

    +

    Integer

    +

    Specifies the number of protected instances in a protection group.

    +

    replication_num

    +

    Integer

    +

    Specifies the number of replication pairs in a protection group.

    +

    disaster_recovery_drill_num

    +

    Integer

    +

    Specifies the number of DR drills in a protection group.

    +

    protected_status

    +

    String

    +

    Specifies whether protection is enabled or not.

    +
    • started: Protection is enabled.
    • stopped: Protection is disabled.
    +
    NOTE:

    The system is upgraded recently. For protection groups created after the upgrade, the value of this parameter is null.

    +
    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +
    NOTE:

    The system is upgraded recently. For protection groups created after the upgrade, the value of this parameter is null.

    +
    +

    health_status

    +

    String

    +

    Specifies the health status of a protection group.

    +
    • normal: The protection group is normal.
    • abnormal: The protection group is abnormal.
    +
    NOTE:

    The system is upgraded recently. For protection groups created after the upgrade, the value of this parameter is null.

    +
    +

    source_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the production site.

    +

    target_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the DR site.

    +

    test_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +
    NOTE:

    This parameter is reserved.

    +
    +

    dr_type

    +

    String

    +

    Specifies the deployment model. The default value is migration, indicating migration within a VPC.

    +

    created_at

    +

    String

    +

    Specifies the time when a protection group was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protection group was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    protection_type

    +

    String

    +

    Specifies the protection mode.

    +
    • null: indicates that data synchronization is performed at the replication consistency group level. No partial synchronization failure will occur.
    • replication-pair: indicates that data synchronization is performed at the replication pair level.
    +

    replication_model

    +

    String

    +

    Specifies the protection mode.

    +
    NOTE:

    This parameter is reserved.

    +
    +

    server_type

    +

    String

    +

    Specifies the type of managed servers.

    +
    • ECS: indicates that ECSs are managed.
    +
    +
    +
+
  • Example response
    {
    +    "server_group": {
    +        "id": "decf224d-87fe-403a-8721-037a1a45c287",
    +        "name": "Protection-Group-lwx",
    +        "description": null,
    +        "source_availability_zone": "eu-de-01",
    +        "target_availability_zone": "eu-de-02",
    +        "domain_id": "fb4bb8e3-a574-4437-a156-78c916aeea4d",
    +        "domain_name": "ActiveactiveDomain",
    +        "status": "available",
    +        "protected_status": null,
    +        "replication_status": null,
    +        "health_status": null,
    +        "progress": 0,
    +        "priority_station": "source",
    +        "protected_instance_num": 0,
    +        "replication_num": 0,
    +        "disaster_recovery_drill_num": 0,
    +        "source_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +        "target_vpc_id": "046852ef-c49d-409b-8389-546aaaa5701f",
    +        "test_vpc_id": null,
    +        "dr_type": "migration",
    +        "server_type": "ECS",
    +        "created_at": "2019-05-22 08:16:54.413",
    +        "updated_at": "2019-05-23 09:11:10.856",
    +        "protection_type": "replication-pair",
    +        "replication_model": null
    +    }
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In the preceding example, error indicates a general error, for example, badrequest or itemNotFound. An example is provided as follows:

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0404.html b/docs/sdrs/api-ref/sdrs_05_0404.html new file mode 100644 index 000000000..5145f4866 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0404.html @@ -0,0 +1,191 @@ + + +

Deleting a Protection Group

+

Function

This API is used to delete the specified protection group.

+
+

Constraints and Limitations

The protection group does not have protected instances, replication pairs, or DR drills.

+

A protection group cannot be deleted if it has protected instances, replication pairs, or DR drills. To delete a protected instance, a replication pair, or a DR drill, see Deleting a Protected Instance, Deleting a Replication Pair, and Deleting a DR Drill.

+
+
+

URI

  • URI format

    DELETE /v1/{project_id}/server-groups/{server_group_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/server-groups/e98cefcd-2398-4a4d-8c52-c79f00e21484

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {
    +"job_id": "0000000062db92d70162db9d200f0011"
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0405.html b/docs/sdrs/api-ref/sdrs_05_0405.html new file mode 100644 index 000000000..779926b87 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0405.html @@ -0,0 +1,471 @@ + + +

Changing the Name of a Protection Group

+

Function

This API is used to change the name of a protection group.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    PUT /v1/{project_id}/server-groups/{server_group_id}

    +
+
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group

    +

    Yes

    +

    Object

    +

    Specifies the information about a protection group.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 server_group field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a protection group.

    +
    • The name can contain a maximum of 64 bytes.
    • The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).
    +
    +
    +
  • Example request
    PUT https://{endpoint}/v1/{project_id}/server-groups/ e98cefcd-2398-4a4d-8c52-c79f00e21484
    { 
    +     "server_group": { 
    +         "name": "my_test_server_group" 
    +     } 
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +
    Table 2 Parameter description

    Parameter

    +

    Type

    +

    Description

    +

    server_group

    +

    Object

    +

    Specifies the details of a protection group.

    +

    For details, see Table 3.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 server_group field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    name

    +

    String

    +

    Specifies the name of a protection group. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    String

    +

    Specifies the description of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protection group.

    +

    For details, see Protection Group Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protection group.

    +

    Unit: %

    +

    source_availability_zone

    +

    String

    +

    Specifies the production site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    target_availability_zone

    +

    String

    +

    Specifies the DR site AZ configured when a protection group is created.

    +

    The value does not change after a planned failover or failover.

    +

    domain_id

    +

    String

    +

    Specifies the ID of an active-active domain.

    +

    domain_name

    +

    String

    +

    Specifies the name of an active-active domain.

    +

    protected_status

    +

    String

    +

    Specifies whether protection is enabled or not.

    +
    • started: Protection is enabled.
    • stopped: Protection is disabled.
    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +

    health_status

    +

    String

    +

    Specifies the health status of a protection group.

    +
    • normal: The protection group is normal.
    • abnormal: The protection group is abnormal.
    +

    priority_station

    +

    String

    +

    Specifies the current production site of a protection group.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    protected_instance_num

    +

    Integer

    +

    Specifies the number of protected instances in a protection group.

    +

    replication_num

    +

    Integer

    +

    Specifies the number of replication pairs in a protection group.

    +

    disaster_recovery_drill_num

    +

    Integer

    +

    Specifies the number of DR drills in a protection group.

    +

    source_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the production site.

    +

    target_vpc_id

    +

    String

    +

    Specifies the ID of the VPC for the DR site.

    +

    test_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +

    dr_type

    +

    String

    +

    Specifies the deployment model. The default value is migration, indicating migration within a VPC.

    +

    server_type

    +

    String

    +

    Specifies the type of managed servers.

    +
    • ECS: indicates that ECSs are managed.
    +

    created_at

    +

    String

    +

    Specifies the time when a protection group was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.S", for example, 2019-04-01 12:00:00.0.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protection group was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.S", for example, 2019-04-01 12:00:00.0.

    +

    protection_type

    +

    String

    +

    Specifies the protection mode.

    +
    • null: indicates that data synchronization is performed at the replication consistency group level. No partial synchronization failure will occur.
    • replication-pair: indicates that data synchronization is performed at the replication pair level.
    +

    replication_model

    +

    String

    +

    Specifies the protection mode.

    +
    NOTE:

    This parameter is reserved.

    +
    +
    +
    +
+
+
  • Example response
    {
    +   "server_group": {
    +       "id": "e98cefcd-2398-4a4d-8c52-c79f00e21484",
    +       "name": "my_test_server_group",
    +       "description": "test_server_group_sdrs",
    +       "status": "available",
    +       "progress": 0,
    +       "source_availability_zone": "eu-de-01",
    +       "target_availability_zone": "eu-de-02",
    +       "domain_id": "523ab8ad-3759-4933-9436-4cf4ebb20867",
    +       "domain_name": "my domain",
    +       "protected_status": "stopped",
    +       "replication_status": "active-stopped",
    +       "health_status": "normal",
    +       "priority_station": "source",
    +       "protected_instance_num": 0,
    +       "replication_num": 0,
    +       "disaster_recovery_drill_num": 0,  
    +       "source_vpc_id": "ac784bd6-a79c-4def-9ff8-dc87940d5335",
    +       "target_vpc_id": "ac784bd6-a79c-4def-9ff8-dc87940d5335",
    +       "test_vpc_id": null,
    +       "dr_type": "migration",
    +       "server_type":"ECS",
    +       "created_at": "2018-05-09 22:11:45.0",
    +       "updated_at": "2018-05-09 22:11:54.0",
    +       "protection_type": "replication-pair",
    +       "replication_model": null
    +   }
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0406.html b/docs/sdrs/api-ref/sdrs_05_0406.html new file mode 100644 index 000000000..2492bc107 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0406.html @@ -0,0 +1,218 @@ + + +

Enabling Protection or Enabling Protection Again for a Protection Group

+

Function

This API is used to enable protection or enable protection again for a protection group.

+
+

Constraints and Limitations (Enabling Protection)

  • The protection group must have replication pairs.
  • status of the protection group must be available or error-starting.
  • After you create a protected instance and enable protection on servers at the production site, modifications to the Hostname, Name, Security Group, Agency, ECS Group, Tags, and Auto Recovery configurations of servers on the production site will not synchronize to the servers at the DR site. You can manually add the configuration items to the servers at the DR site on the management console.
+
+

Constraints and Limitations (Enabling Protection Again)

  • status of the protection group must be failed-over or error-reprotecting.
  • Before you enable the protection again, ensure that the servers at the DR site are stopped.
+
+

URI

  • URI format

    POST /v1/{project_id}/server-groups/{server_group_id}/action

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    start-server-group

    +

    Yes

    +

    Object

    +

    Enables protection for a protection group.

    +

    This parameter is left empty.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/server-groups/40df180b-9fe2-471a-8c64-1b758dc84189/action
    {
    +    "start-server-group": {}
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {
    +    "job_id": "ff8080826adfae02016ae2d123fc05ed"
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0407.html b/docs/sdrs/api-ref/sdrs_05_0407.html new file mode 100644 index 000000000..1bcf09f1f --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0407.html @@ -0,0 +1,216 @@ + + +

Disabling Protection for a Protection Group

+

Function

This API is used to disable protection for a protection group.

+
+

Constraints and Limitations

  • status of the protection group must be protected or error-stopping.
+
+

URI

  • URI format

    POST /v1/{project_id}/server-groups/{server_group_id}/action

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    stop-server-group

    +

    Yes

    +

    Object

    +

    Disables protection for a protection group.

    +

    This parameter is left empty by default.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/server-groups/40df180b-9fe2-471a-8c64-1b758dc84189/action
    {
    +    "stop-server-group": {}
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {
    +    "job_id": "ff8080826adfae02016ae2d123fc05ed"
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0408.html b/docs/sdrs/api-ref/sdrs_05_0408.html new file mode 100644 index 000000000..61b15a41c --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0408.html @@ -0,0 +1,269 @@ + + +

Performing a Failover for a Protection Group

+

Function

When the production site of a protection group becomes faulty, services of the protection group are switched over to the DR site, and servers and disks at the DR site start. After a failover is performed, the current production site of the protection group will become the DR site before the failover. Data synchronization between the production and DR sites will stop. To resume the data synchronization, you need to perform steps provided in Enabling Protection or Enabling Protection Again for a Protection Group to enable protection.

+
+

Constraints and Limitations

  • The protection group must have replication pairs.
  • status of the protection group must be protected, error-failing-over, or error-reversing.
  • If the server at the production site or DR site in a protected instance is deleted using the native interface, no operations can be performed on the protected instance or the protection group of the protected instance.
+
+

Constraints on Logging In to the Server After a Planned Failover, Failover, or Disaster Recovery Drill Is Executed First Time Ever

After you have performed a planned failover, failover, or DR drill for the first time:

+
  • If your servers are installed with Cloud-Init/Cloudbase-Init, Cloud-Init/Cloudbase-Init will start along with the server's first startup to inject the initial data. In this case, the password or key pair used to log in to the production site server, disaster recovery site server, or drill server will change.
  • If your servers are not installed with Cloud-Init/Cloudbase-Init, the password or key pair used to log in to the production site server, disaster recovery site server, or drill server will not change.
+

The following uses a planned failover or failover as the example operation. For the login constraints on drill servers, see those for disaster recovery site servers.

+

In the following example, Server A and server B are deployed. Table 1 shows the servers before and after the operation.

+ +
+ + + + + + + + + + + + + +
Table 1 Servers before and after a planned failover or failover

-

+

Production Site Server

+

Disaster Recovery Site Server

+

Before

+

Server A

+

Server B

+

After

+

Server B

+

Server A

+
+
+

Detailed login constraints are described as follows:

+
Scenario 1: Server A runs Windows and does not have Cloudbase-Init installed. After the first time planned failover or failover:
  • If your servers use password for login, you can use the password of Server A to log in to the production site server (Server B) or disaster recovery site server (Server A).
  • If your servers use key pair for login, you can use the obtained password of Server A to log in to the production site server (Server B) or disaster recovery site server (Server A).
+

After the first time planned failover or failover, the password or key pair remains the same for the subsequent planned failovers or failovers. In this example:

+

You can use the password of Server A to log in to the production site server or disaster recovery site server.

+
+
+
Scenario 2: Server A runs Windows and already has Cloudbase-Init installed. After the first time planned failover or failover:
  • When your servers use password for login,

    If Cloudbase-Init is not started (normally within 3 to 5 minutes after the production site server starts), you can use the password of Server B for login.

    +

    After Cloudbase-Init is started, the login password of Server B becomes invalid. Reset the password and use the new password for login.

    +
  • When your servers use key pair for login,

    If Cloudbase-Init is not started (normally within 3 to 5 minutes after the production site server starts), you can use the obtained login password of Server B for login.

    +

    After Cloudbase-Init is started, the obtained login password of Server B becomes invalid. Obtain the password again.

    +
+

After the first time planned failover or failover, the password or key pair remains the same for the subsequent planned failovers or failovers. In this example:

+
  • Login using a password: Reset the password of Server B and use the new password for login.
  • Login using a key pair: Obtain the password of Server B again and use the obtained password to log in to Server B.
+
+
+
Scenario 3: Server A runs Linux. After the first time planned failover or failover:
  • If your servers use password for login, you can use the password of Server A to log in to the production site server (Server B) or disaster recovery site server (Server A). Specifically:

    If the login password of Server A is not changed before the operation, use this password for login.

    +
    If the login password of server A has been changed before the operation, use the new password for login.

    For ECS OSs other than CoreOS, the login password does not change after the first time planned failover or failover.

    +

    For ECSs running CoreOS, the login password of Server A will restore to the initial one after the first time planned failover or failover. In this case, use the login password configured when Server A is created to log in to production site Server A or disaster recovery site Server B.

    +
    +
    +
  • If your server uses key pair for login, use the SSH key pair of Server A to log in to production site Server B or disaster recovery site Server A.
+
+
+

URI

  • URI format

    POST /v1/{project_id}/server-groups/{server_group_id}/action

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    failover-server-group

    +

    Yes

    +

    Object

    +

    Performs a failover for a protection group.

    +

    This parameter is left empty by default.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/server-groups/40df180b-9fe2-471a-8c64-1b758dc84189/action
    {
    +    "failover-server-group": {}
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {
    +    "job_id": "ff8080826adfae02016ae2d123fc05ed"
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0409.html b/docs/sdrs/api-ref/sdrs_05_0409.html new file mode 100644 index 000000000..df27cad80 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0409.html @@ -0,0 +1,255 @@ + + +

Performing a Planned Failover for a Protection Group

+

Function

When you perform a planned failover for a protection group, the current production site of the protection group is switched to the DR site specified when the protection group is created, or reverse. After the planned failover is performed, data synchronization between the production site and DR site continues, but the direction is reverse.

+
+

Constraints and Limitations

  • The protection group must have replication pairs.
  • status of the protection group must be protected or error-reversing.
  • All servers at the current production site of the protection group are stopped. During a planned failover, do not start servers at the production site and DR site. Otherwise, the planned failover may fail.
  • If the production site server or DR site server of a protected instance is deleted using the native interface, the planned failover or planned failback will fail, and the protected instance as well as the protection group will become unavailable.
+
+

Restrictions on Logging In to a Server After You Perform a Planned Failover for the First Time

  • If the production site server (when the protected instance is created) runs Windows and has Cloudbase-Init installed, pay attention to the following restrictions after you perform a planned failover for the first time:
    • If you choose to use a password for the server login, you can use the password of the production site server 3 to 5 minutes after the DR site server starts and before Cloudbase-Init starts. It takes 1 to 2 minutes for the server to display the login UI.

      After Cloudbase-Init starts, manually reset the password on the DR site server.

      +

      After you perform a planned failback, use the configured password to log in to the production site server.

      +
    • If you choose to use a key for the server login, you can use the password obtained from the production site server 3 to 5 minutes after the DR site server starts and before Cloudbase-Init starts. It takes 1 to 2 minutes for the server to display the login UI.

      After Cloudbase-Init starts, use the password obtained from the DR site server for the login.

      +

      After you perform a planned failback, use the obtained password to log in to the production site server.

      +
    +

    If you change the login password of the DR site server after you perform a planned failover for the first time, log in to the DR site server using the new password. After you perform a planned failback again, use the new password to log in to the production site server.

    +
    +
  • If the production site server (when the protected instance is created) runs Windows and has no Cloudbase-Init installed, pay attention to the following restrictions after you perform a planned failover or failover for the first time:
    • If you choose to use a password for the server login, use the password of the production site server to log in to the production site or DR site server.
    • If you choose to use a key for the server login, use the password obtained from the production site server to log in to the production site or DR site server.
    +
  • If the production site server (when the protected instance is created) runs Linux, pay attention to the following restrictions after you perform a planned failover or failover for the first time:
    • If you choose to use a password for the server login, use the password of the production site server to log in to the production site or DR site server.

      For servers running CoreOS, if you change the login password of the production site server after you perform a planned failover for the first time, log in to the DR site server using the new password. After you perform a planned failback again, use the initial password to log in to the production site server.

      +
      +
    • If you choose to use a key for the server login, use the password obtained from the production site server to log in to the production site or DR site server.
    +
+
+

URI

  • URI format

    POST /v1/{project_id}/server-groups/{server_group_id}/action

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    reverse-server-group

    +

    Yes

    +

    Object

    +

    Performs a planned failover for a protection group.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 reverse-server-group field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    priority_station

    +

    Yes

    +

    String

    +

    Specifies the direction of the planned failover.

    +
    • target: indicates to fail services from the production site specified when the protection group is created to the DR site specified when a protection group is created.
    • source: indicates to fail services from the DR site specified when the protection group is created to the production site specified when a protection group is created.
    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/server-groups/40df180b-9fe2-471a-8c64-1b758dc84189/action
    {
    +  "reverse-server-group": {
    +    "priority_station": "source"
    +  }
    +} 
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db9d200f002d" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0500.html b/docs/sdrs/api-ref/sdrs_05_0500.html new file mode 100644 index 000000000..1d4d3679b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0500.html @@ -0,0 +1,33 @@ + + +

Protected Instance

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0501.html b/docs/sdrs/api-ref/sdrs_05_0501.html new file mode 100644 index 000000000..33c1b6af8 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0501.html @@ -0,0 +1,355 @@ + + +

Creating a Protected Instance

+

Function

This API is used to create a protected instance. When a protected instance is created, the default name of the server at the DR site is the same as that of the server at the production site, but their IDs are different. To modify a server name, click the server name on the protected instance details page to switch to the server details page and modify the server name. Alternatively, you can call the API in Changing the Name of a Protected Instance to modify the name.

+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • No shared disk has been attached to the server.
  • No protected instance has been created using the server.
  • The server must be in the same VPC as the protection group.
  • The physical host housing the production site server cannot be a DeH.
  • If protection is enabled for servers created during capacity expansion of an Auto Scaling (AS) group, these servers cannot be deleted when the capacity of the AS group is reduced.
  • If the server at the production site runs Windows and you choose the key login mode, ensure that the key pair of the server exists when you create a protected instance. Otherwise, the server at the DR site may fail to create, causing the protected instance creation failure.

    If the key pair of the production site server has been deleted, create a key pair with the same name.

    +
    +
  • After you create a protected instance and enable protection on servers at the production site, modifications to the Hostname, Name, Security Group, Agency, ECS Group, Tags, and Auto Recovery configurations of servers on the production site will not synchronize to the servers at the DR site. You can manually add the configuration items to the servers at the DR site on the management console.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    protected_instance

    +

    Yes

    +

    Object

    +

    Specifies the information about a protected instance.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 protected_instance field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of the protection group where a protected instance is added.

    +

    For details, see Querying Protection Groups.

    +

    server_id

    +

    Yes

    +

    String

    +

    Specifies the ID of the production site server.

    +
    NOTE:

    When the API is successfully invoked, the DR site server will be automatically created.

    +
    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a protected instance. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    No

    +

    String

    +

    Specifies the description of a protected instance. The description can contain a maximum of 64 bytes. The value cannot contain the left angle bracket (<) or right angle bracket (>).

    +

    primary_subnet_id

    +

    No

    +

    String

    +

    Specifies the network ID of the subnet for the primary NIC on the DR site server. The value is the same as that of neutron_network_id obtained using the VPC API.

    +

    For details about how to query the subnets, see Querying Subnets.

    +

    primary_ip_address

    +

    No

    +

    String

    +

    Specifies the IP address of the primary NIC on the DR site server.

    +

    This parameter is valid only when primary_subnet_id is specified.

    +

    If this parameter is not specified when primary_subnet_id is specified, the system automatically assigns an IP address to the primary NIC on the DR site server

    +

    flavorRef

    +

    No

    +

    String

    +

    Specifies the flavor ID of the DR site server

    +
    NOTE:
    • If this parameter is not specified, the flavor ID of the DR site server is the same as that of the production site server by default.
    • Servers of different specifications have different performance, which may affect applications running on the servers. To ensure the server performance after a planned failover or failover, you are recommended to use servers of specifications (CPU and memory) same or higher than the specifications of the production site servers at the DR site.
    +
    +

    tags

    +

    No

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 2.

    +
    NOTE:

    You can add up to 10 tags for each protected instance.

    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 2 resource_tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the value.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances
    {  
    +         "protected_instance":{  
    +               "server_group_id": "523ab8ad-3759-4933-9436-4cf4ebb20867",  
    +               "server_id": "403b603d-1d91-42cc-a357-81f3c2daf43f",  
    +               "name": "test_protected_instance_name",  
    +               "description": "my description",
    +               "primary_subnet_id": "a32217fh-3413-c313-6342-3124d3491502", 
    +               "primary_ip_address": "192.168.0.5",
    +               "flavorRef": "s3.large.2", 
    +               "tags": [ 
    +                  { 
    +                      "key": "key1", 
    +                      "value":"value1" 
    +                  },
    +                  {
    +                       "key": "key",
    +                       "value": "value3" 
    +                  }
    +               ]
    +         }  
    +  }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db9d200f00bb" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0502.html b/docs/sdrs/api-ref/sdrs_05_0502.html new file mode 100644 index 000000000..827965698 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0502.html @@ -0,0 +1,225 @@ + + +

Deleting a Protected Instance

+

Function

This API is used to delete a specified protected instance.

+
+

Constraints and Limitations

status of the protected instance must be available, protected, failed-over, error, error-starting, error-stopping, error-reversing, error-failing-over, error-deleting, error-reprotecting, error-resizing, invalid, or fault.

+
+

URI

  • URI format

    DELETE /v1/{project_id}/protected-instances/{protected_instance_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    delete_target_server

    +

    No

    +

    Boolean

    +

    Specifies whether to delete the DR site server. The default value is false.

    +

    delete_target_eip

    +

    No

    +

    Boolean

    +

    Specifies whether to delete the EIP of the DR site server. The default value is false.

    +
    +
    +
+
  • Example request
    DELETE https://{Endpoint}/v1/{project_id}/protected-instances/67a2cc7e-fb87-41a8-ba28-9c032abcaee1
    {
    +   "delete_target_server": false,
    +   "delete_target_eip": false
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db3ab00f00df" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0503.html b/docs/sdrs/api-ref/sdrs_05_0503.html new file mode 100644 index 000000000..d04a559be --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0503.html @@ -0,0 +1,547 @@ + + +

Querying Protected Instances

+

Function

This API is used to query all protected instances of the current tenant.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/protected-instances

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+
  • Request filter field description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    No

    +

    String

    +

    Specifies the ID of the protection group, in which all protected instances are queried.

    +

    For details, see the parameter description in Querying Protection Groups.

    +

    server_group_ids

    +

    No

    +

    Array of strings

    +

    Specifies the protection group ID list. The value is in the following format: server_group_ids=['server_group_id1','server_group_id2',...,'server_group_idx']. Convert it using URL encoding.

    +
    • All the protected instances with valid server_group_id in server_group_ids are returned.
    • The protected instances of a maximum of 30 server_group_id values can be queried.
    • If parameters server_group_id and server_group_ids are both specified in the request, server_group_id will be ignored.
    +

    protected_instance_ids

    +

    No

    +

    Array of strings

    +

    Specifies the protected instance ID list. The value is in the following format: protected_instance_ids=['protected_instance_id1','protected_instance_id2',...,'protected_instance_idx']. Convert it using URL encoding.

    +
    • All the protected instances with valid protected_instance_id in protected_instance_ids are returned.
    • The protected instances of a maximum of 30 protected_instance_id values can be queried.
    • If parameter server_group_id or server_group_ids is specified in the request, protected_instance_ids will be ignored.
    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum number of results returned each time. The value is a positive integer from 0 to 1000. The default value is 1000.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the offset of each request. The default value is 0. The value must be a number and cannot be negative.

    +

    status

    +

    No

    +

    String

    +

    Specifies the status of a protected instance.

    +

    For details, see Protected Instance Status.

    +

    name

    +

    No

    +

    String

    +

    Specifies the name of a protected instance. Fuzzy search is supported.

    +

    query_type

    +

    No

    +

    String

    +

    Specifies the query type.

    +
    • status_abnormal: indicates to query protected instances in the abnormal status.
    • This parameter is invalid when the value is set to general or left empty.
    +

    availability_zone

    +

    No

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the protected instance.

    +

    You can obtain this value by calling the API described in Querying an Active-Active Domain.

    +
    +
    +
+

Request

  • Request parameter description

    None

    +
  • Example request
    GET https://{Endpoint}/v1/{project_id}/protected-instances?server_group_ids=%5b%2221d65fa4-430e-4761-b9ad-4e27364f874c%22%2c%22943c7d15-0371-4b89-b1a6-db1ef35c9263%22%5d&status=available
    +

    Use URL encoding for server_group_ids or protected_instance_ids.

    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    protected_instances

    +

    Array of objects

    +

    Specifies the information about protected instances.

    +

    For details, see Table 1.

    +

    count

    +

    Integer

    +

    Specifies the number of protected instances.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 protected_instances field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    name

    +

    String

    +

    Specifies the name of a protected instance.

    +

    description

    +

    String

    +

    Specifies the description of a protected instance.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protected instance.

    +

    For details, see Protected Instance Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protected instance.

    +

    Unit: %

    +

    source_server

    +

    String

    +

    Specifies the production site server ID.

    +

    target_server

    +

    String

    +

    Specifies the DR site server ID.

    +

    created_at

    +

    String

    +

    Specifies the time when a protected instance was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protected instance was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the protected instance.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    attachment

    +

    Array of objects

    +

    Specifies the attached replication pairs.

    +

    For details, see Table 2.

    +

    tags

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 3.

    +

    metadata

    +

    Object

    +

    Specifies the metadata of a protected instance.

    +

    For details, see Table 4.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    device

    +

    String

    +

    Specifies the device name.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 tags field description

    Parameter

    +

    Type

    +

    Description

    +

    key

    +

    String

    +

    Specifies the tag key.

    +

    value

    +

    String

    +

    Specifies the tag value.

    +
    +
    + +
    + + + + + + + + + +
    Table 4 Field metadata description

    Parameter

    +

    Type

    +

    Description

    +

    __system__frozen

    +

    String

    +

    Specifies whether the resource is frozen.

    +
    • true: indicates that the resource is frozen.
    • Empty: indicates that the resource is not frozen.
    +
    +
    +
+
  • Example response
    {
    +    "protected_instances": [
    +        {
    +            "id": "67a2cc7e-fb87-41a8-ba28-9c032abcaee1",
    +            "name": "protected_instance_xff",
    +            "description": "protected_instance_xff",
    +            "server_group_id": "21d65fa4-430e-4761-b9ad-4e27364f874c",
    +            "status": "available",
    +            "progress": 0,
    +            "source_server": "d1e8e8a7-ae6f-4f40-bead-20093976961e",
    +            "target_server": "9bad52b9-ca5a-4274-ba9e-3c8ca9843fa1",
    +            "created_at": "2018-11-06 11:09:25.861",
    +            "updated_at": "2018-11-06 11:12:11.716",
    +            "priority_station": "source",
    +            "attachment": [
    +                {
    +                    "replication": "08d6b5a0-9a12-4263-a468-30d71d10498c",
    +                    "device": "/dev/vdb"
    +                },
    +                {
    +                    "replication": "4c332757-dc77-458d-9883-03d701cde2f2",
    +                    "device": "/dev/vda"
    +                }
    +            ],
    +            "tags": [
    +                {                   
    +                   "key": "aaaaaaa",                   
    +                   "value": "01234567889"               
    +                 },                
    +                {                   
    +                    "key": "ffffff",                   
    +                    "value": "dddd"
    +                }
    +            ],
    +            "metadata": {} 
    +        },
    +        {
    +            "id": "50f5091e-9e9e-473c-a932-2a2cbcbeb1ff",
    +            "name": "ecs_sdrs_test",
    +            "description": "1111",
    +            "server_group_id": "943c7d15-0371-4b89-b1a6-db1ef35c9263",
    +            "status": "protected",
    +            "progress": 100,
    +            "source_server": "5fb92d6c-b0cb-46c9-824b-b90ec5500ae6",
    +            "target_server": "c6c0ff54-fa1f-43ef-9ccc-1774e40c8745",
    +            "created_at": "2018-11-06 09:27:52.258",
    +            "updated_at": "2018-11-06 09:44:59.853",
    +            "priority_station": "target",
    +            "attachment": [
    +                {
    +                    "replication": "6568f7c4-0510-4f39-929d-8ffccbd4fd47",
    +                    "device": "/dev/vda"
    +                }
    +            ],
    +            "tags": [
    +                {                   
    +                     "key": "aaaaaaa",                   
    +                     "value": "01234567889"               
    +                },                
    +                {                   
    +                     "key": "ffffff",                   
    +                     "value": "dddd"                }
    +            ],
    +            "metadata": {} 
    +        }
    +    ],
    +    "count": 2
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0504.html b/docs/sdrs/api-ref/sdrs_05_0504.html new file mode 100644 index 000000000..613fc6dd9 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0504.html @@ -0,0 +1,411 @@ + + +

Querying Details About a Protected Instance

+

Function

This API is used to query the details about a protected instance, such as the protected instance ID and name.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/protected-instances/{protected_instance_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/protected-instances/50f5091e-9e9e-473c-a932-2a2cbcbeb1ff

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    Object

    +

    Specifies the details about a protected instance.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 protected_instances field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    name

    +

    String

    +

    Specifies the name of a protected instance.

    +

    description

    +

    String

    +

    Specifies the description of a protected instance.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protected instance.

    +

    For details, see Protected Instance Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protected instance.

    +

    Unit: %

    +

    source_server

    +

    String

    +

    Specifies the production site server ID.

    +

    target_server

    +

    String

    +

    Specifies the DR site server ID.

    +

    created_at

    +

    String

    +

    Specifies the time when a protected instance was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protected instance was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the protected instance.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    attachment

    +

    Array of objects

    +

    Specifies the attached replication pairs.

    +

    For details, see Table 2.

    +

    tags

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 3.

    +

    metadata

    +

    Object

    +

    Specifies the metadata of a protected instance.

    +

    For details, see Table 4.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    device

    +

    String

    +

    Specifies the device name.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 tags field description

    Parameter

    +

    Type

    +

    Description

    +

    key

    +

    String

    +

    Specifies the tag key.

    +

    value

    +

    String

    +

    Specifies the tag value.

    +
    +
    + +
    + + + + + + + + + +
    Table 4 Field metadata description

    Parameter

    +

    Type

    +

    Description

    +

    __system__frozen

    +

    String

    +

    Specifies whether the resource is frozen.

    +
    • true: indicates that the resource is frozen.
    • Empty: indicates that the resource is not frozen.
    +
    +
    +
+
  • Example response
    {
    +    "protected_instance": {
    +        "id": "50f5091e-9e9e-473c-a932-2a2cbcbeb1ff",
    +        "name": "ecs_sdrs_test",
    +        "description": "1111",
    +        "server_group_id": "943c7d15-0371-4b89-b1a6-db1ef35c9263",
    +        "status": "available",
    +        "progress": 0,
    +        "source_server": "5fb92d6c-b0cb-46c9-824b-b90ec5500ae6",
    +        "target_server": "c6c0ff54-fa1f-43ef-9ccc-1774e40c8745",
    +        "created_at": "2018-11-06 09:27:52.258",
    +        "updated_at": "2018-11-06 09:44:59.853",
    +        "priority_station": "target",
    +        "attachment": [
    +            {
    +                "replication": "6568f7c4-0510-4f39-929d-8ffccbd4fd47",
    +                "device": "/dev/vda"
    +            }
    +        ],
    +        "tags": [
    +            {                   
    +                "key": "aaaaaaa",                   
    +                "value": "01234567889"               
    +             },                
    +             {                   
    +                "key": "ffffff",                   
    +                "value": "dddd"
    +              }
    +            ],
    +         "metadata": {} 
    +    }
    +}
    +
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0505.html b/docs/sdrs/api-ref/sdrs_05_0505.html new file mode 100644 index 000000000..a80dae768 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0505.html @@ -0,0 +1,461 @@ + + +

Changing the Name of a Protected Instance

+

Function

This API is used to change the name of a protected instance.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    PUT /v1/{project_id}/protected-instances/{protected_instance_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    protected_instance

    +

    Yes

    +

    Object

    +

    Specifies the information about a protected instance.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 protected_instance field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a protected instance. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +
    +
    +
+
  • Example request
    PUT https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e
    {  
    +      "protected_instance": {  
    +          "name": "test_protected_instance_name"  
    +      }  
    +  }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    Object

    +

    Specifies the details about a protected instance.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 protected_instance field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    name

    +

    String

    +

    Specifies the name of a protected instance. The name can contain a maximum of 64 bytes consisting of only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    String

    +

    Specifies the description of a protected instance.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protected instance. For details, see Protected Instance Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protected instance.

    +

    Unit: %

    +

    source_server

    +

    String

    +

    Specifies the production site server ID.

    +

    target_server

    +

    String

    +

    Specifies the DR site server ID.

    +

    created_at

    +

    String

    +

    Specifies the time when a protected instance was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.S", for example, 2019-04-01 12:00:00.0.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protected instance was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.S", for example, 2019-04-01 12:00:00.0.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the protected instance.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    attachment

    +

    Array of objects

    +

    Specifies the attached replication pairs.

    +

    For details, see Table 3.

    +

    tags

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 4.

    +

    metadata

    +

    Object

    +

    Specifies the metadata of a protected instance.

    +

    For details, see Table 5.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    device

    +

    String

    +

    Specifies the device name.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 4 tags field description

    Parameter

    +

    Type

    +

    Description

    +

    key

    +

    String

    +

    Specifies the tag key.

    +

    value

    +

    String

    +

    Specifies the tag value.

    +
    +
    + +
    + + + + + + + + + +
    Table 5 metadata field description

    Parameter

    +

    Type

    +

    Description

    +

    __system__frozen

    +

    String

    +

    Specifies whether the resource is frozen.

    +
    • true: indicates that the resource is frozen.
    • Empty: indicates that the resource is not frozen.
    +
    +
    +
+
  • Example response
    {  
    +      "protected_instance": {  
    +         "id": "00000000632302f501632305f63c000e",
    +         "name": "test_protected_instance_name",
    +         "description": "_sdrs_protected_instance",
    +         "server_group_id": "00000000632302f501632305ac75000a",
    +         "status": "available",
    +         "progress": 0,
    +         "source_server": "5597a320-7a36-4462-9f85-a0d01edfb416",
    +         "target_server": "e37ed7de-bd76-4189-8445-be747205322d",
    +         "created_at": "2018-05-02 22:43:03.0",
    +         "updated_at": "2018-05-02 22:47:27.0",
    +         "priority_station": "target",
    +         "attachment": [
    +            {
    +                "replication": "6568f7c4-0510-4f39-929d-8ffccbd4fd47",
    +                "device": "/dev/vda"
    +            }
    +        ],
    +        "tags": [
    +            {                   
    +                "key": "aaaaaaa",                   
    +                "value": "01234567889"               
    +             },                
    +             {                   
    +                "key": "ffffff",                   
    +                "value": "dddd"
    +              }
    +            ],
    +         "metadata": {} 
    +  }  
    +  }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0506.html b/docs/sdrs/api-ref/sdrs_05_0506.html new file mode 100644 index 000000000..edc6481b4 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0506.html @@ -0,0 +1,255 @@ + + +

Attaching a Replication Pair to a Protected Instance

+

Function

This API is used to attach the specified replication pair to the specified protected instance.

+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • status of the protected instance must be available or protected.
  • status of the replication pair must be available or protected.
  • The non-shared replication pair has not been attached to any protected instance.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/attachreplication

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    replicationAttachment

    +

    Yes

    +

    Object

    +

    Attaches a replication pair to a protected instance.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 replicationAttachment field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    replication_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    You can obtain this value by calling the API described in Querying Replication Pairs.

    +

    device

    +

    Yes

    +

    String

    +

    Specifies the disk device name of a replication pair.

    +
    NOTE:
    • The new disk device name cannot be the same as an existing one.
    • Set the parameter value to /dev/sda for the system disks of protected instances created using Xen servers and to /dev/sdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the device names of the two data disks to /dev/sdb and /dev/sdc, respectively. If you set a device name starting with /dev/vd, the system uses /dev/sd by default.
    • Set the parameter value to /dev/vda for the system disks of protected instances created using KVM servers and to /dev/vdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the device names of the two data disks to /dev/vdb and /dev/vdc, respectively. If you set a device name starting with /dev/sd, the system uses /dev/vd by default.
    +
    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/attachreplication
    { 
    +     "replicationAttachment": { 
    +        "replication_id": "6568f7c4-0510-4f39-929d-8ffccbd4fd47",
    +        "device": "/dev/vda"
    +     } 
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db9d200f00bb" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0507.html b/docs/sdrs/api-ref/sdrs_05_0507.html new file mode 100644 index 000000000..8eb1a5a66 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0507.html @@ -0,0 +1,203 @@ + + +

Detaching a Replication Pair from a Protected Instance

+

Function

This API is used to detach a specified replication pair from a specified protected instance.

+
+

Constraints and Limitations

  • status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-reversing, or error-failing-over.
  • status of the protected instance must be available, protected, failed-over, error-starting, error-stopping, error-reversing, error-failing-over, error-deleting, error-reprotecting, error-resizing, invalid, or fault.
  • status of the replication pair must be available, protected, failed-over, error-attaching, error-detaching, error-starting, error-stopping, error-reversing, error-failing-over, error-deleting, error-reprotecting, error-extending, invalid, or fault.
  • The replication pair has been attached to a protected instance.
+
  • A system disk (attached to /dev/sda or /dev/vda) can be detached only when the server is in the Stopped state. Therefore, stop the server before detaching the system disk.
  • Data disks can be detached online or offline, which means that the server containing the disks can either be in the Running or Stopped state.

    For details about how to detach a disk online, see Storage > Detaching an EVS Disk from a Running ECS in the Elastic Cloud Server User Guide.

    +
+
+
+

URI

  • URI format

    DELETE /v1/{project_id}/protected-instances/{protected_instance_id}/detachreplication/{replication_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +

    replication_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    You can query replication pairs attached to the protected instance by calling the API described in Querying Replication Pairs.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE http://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/detachreplication/6568f7c4-0510-4f39-929d-8ffccbd4fd47

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db921dgf00bb" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0508.html b/docs/sdrs/api-ref/sdrs_05_0508.html new file mode 100644 index 000000000..e82092a62 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0508.html @@ -0,0 +1,266 @@ + + +

Adding an NIC to a Protected Instance

+

Function

This API is used to add an NIC to the specified protected instance.

+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • status of the protected instance must be available or protected.
  • The subnet of the NIC to be added must belong to the same VPC of the protected group and protected instance.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/nic

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    subnet_id

    +

    Yes

    +

    String

    +

    Specifies the subnet ID of the NIC to be added. It is network_id of the subnet, which is the same as the neutron_network_id value.

    +

    security_groups

    +

    No

    +

    Array of objects

    +

    Specifies the security group of the NIC to be added. Specifies the security group of the NIC.

    +

    For details, see Table 1.

    +

    ip_address

    +

    No

    +

    String

    +

    Specifies an IP address. If this parameter is not included, an IP address is automatically assigned.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 security_groups field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    id

    +

    Yes

    +

    String

    +

    Specifies the ID of a security group.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/nic
    {
    +       
    +            "subnet_id": "d32019d3-bc6e-4319-9c1d-6722fc136a23",
    +            "security_groups": [
    +                {
    +                    "id": "f0ac4394-7e4a-4409-9701-ba8be283dbc3"
    +                }
    +            ],
    +            "ip_address": "192.168.97.25",
    +       
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000062db92d70162db9d200f32dh" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0509.html b/docs/sdrs/api-ref/sdrs_05_0509.html new file mode 100644 index 000000000..1d894a332 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0509.html @@ -0,0 +1,216 @@ + + +

Deleting an NIC from a Protected Instance

+

Function

This API is used to delete an NIC from the specified protected instance.

+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • status of the protected instance must be available or protected.
  • The primary NIC cannot be deleted.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/nic/delete

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    nic_id

    +

    Yes

    +

    String

    +

    Specifies the port ID of the NIC.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/nic/delete
    { 
    +     "nic_id": "f0ac4394-7e4a-4409-9701-husge283dbc3" 
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000011db92d70162db9d20df32ch" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0510.html b/docs/sdrs/api-ref/sdrs_05_0510.html new file mode 100644 index 000000000..3cdc7da8b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0510.html @@ -0,0 +1,296 @@ + + +

Modifying the Specifications of a Protected Instance

+

Function

This API is used to modify the specifications of a server in a protected instance, including:

+
  • Modify the specifications of both the production and DR site servers.
  • Modify the specifications of only the production site server.
  • Modify the specifications of only the DR site server.
+

You can perform this operation only when the servers of which the specifications to be modified are stopped.

+

Servers of different specifications have different performance, which may affect applications running on the servers. To ensure the server performance after a planned failover or failover, you are recommended to use servers of specifications (CPU and memory) same or higher than the specifications of the production site servers at the DR site.

+
+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • status of the protected instance must be available, protected, or error-resizing.
  • Servers of which the specifications to be modified are stopped.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/resize

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    resize

    +

    Yes

    +

    Object

    +

    Modifies the specifications of a protected instance.

    +

    The target server flavors to which a flavor can be changed are the same as those for ECS. You can use the ECS API to query these flavors. For details, see section "Querying the Target ECS Flavors to Which a Flavor Can Be Changed" in Elastic Cloud Server API Reference.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 1 resize field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    flavorRef

    +

    No

    +

    String

    +

    Specifies the flavor ID of the production and DR site servers after the modification.

    +
    NOTE:

    If you specify this parameter, the system modifies the specifications of both the production and DR site servers. After the modification, the production site server and DR site server use the same specifications.

    +
    +

    production_flavorRef

    +

    No

    +

    String

    +

    Specifies the flavor ID of the production site server after the modification.

    +
    NOTE:
    • If you specify this parameter, the system modifies the specifications of only the production site server.
    • If flavorRef is specified, production_flavorRef does not take effect.
    +
    +

    dr_flavorRef

    +

    No

    +

    String

    +

    Specifies the flavor ID of the DR site server after the modification.

    +
    NOTE:
    • If you specify this parameter, the system modifies the specifications of only the DR site server.
    • If flavorRef is specified, dr_flavorRef does not take effect.
    +
    +
    +
    +
+
  • Example request

    POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize

    +
    Example 1: Modify the specifications of the production and DR site servers to e2.small. Example request:
    {   
    +      "resize": {   
    +           "flavorRef": "e2.small"
    +       }   
    + }
    +
    +

    +

    Example 2: Modify the specifications of the production and DR site serves to s3.small.1 and s3.large.2 respectively. Example request:

    +
    {   
    +      "resize": {   
    +           "production_flavorRef": "s3.small.1",
    +           "dr_flavorRef": "s3.large.2"
    +       }   
    + }
    +

    +
    Example 3: Modify the specifications of the production site server to e2.small, and retain the DR site server specifications. Example request:
    {   
    +      "resize": {   
    +           "production_flavorRef": "e2.small"
    +       }   
    + }
    +
    +

    +

    Example 4: Modify the specifications of the DR site server to e2.small, and retain the production site server specifications. Example request:

    +
    {   
    +      "resize": {   
    +           "dr_flavorRef": "e2.small"
    +       }   
    + }
    +

    +

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {  
    +    "job_id": "0000000011db92d70162db9d20df32ch"  
    +  }
    +

    Or

    +
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0600.html b/docs/sdrs/api-ref/sdrs_05_0600.html new file mode 100644 index 000000000..92efcd32b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0600.html @@ -0,0 +1,26 @@ + + +

Replication Pair

+

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0601.html b/docs/sdrs/api-ref/sdrs_05_0601.html new file mode 100644 index 000000000..71fab7e2a --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0601.html @@ -0,0 +1,265 @@ + + +

Creating a Replication Pair

+

Function

This API is used to create a replication pair and add it to the specified protection group.

+
+

Constraints and Limitations

  • status of the protection group must be available or protected.
  • If server_type of the protection group is set to ECS, the disk status is Available.
+
+

URI

  • URI format

    POST /v1/{project_id}/replications

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    replication

    +

    Yes

    +

    Object

    +

    Specifies the information about a replication pair.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 replication field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    You can obtain this value by calling the API described in Querying Protection Groups.

    +

    volume_id

    +

    Yes

    +

    String

    +

    Specifies the ID of the production site disk.

    +
    NOTE:

    When the API is successfully invoked, the DR site disk will be automatically created.

    +
    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a replication pair. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    No

    +

    String

    +

    Specifies the description of a replication pair. The value can contain a maximum of 64 bytes and cannot contain the left angle bracket (<) or right angle bracket (>).

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/replications
    { 
    +    "replication": { 
    +       "server_group_id": "c79fba33-b165-4c69-80c1-d7e590691162", 
    +       "volume_id": "b6f71149-7b9c-4f36-8ff0-1c4809a6f2c2", 
    +       "name": "replication_name", 
    +       "description": "replication_description" 
    +   } 
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000011db92d36662db9d20df32ch" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0602.html b/docs/sdrs/api-ref/sdrs_05_0602.html new file mode 100644 index 000000000..706e80fd8 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0602.html @@ -0,0 +1,252 @@ + + +

Deleting a Replication Pair

+

Function

This API is used to delete a specified replication pair.

+
+

Constraints and Limitations

  • status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-reversing, or error-failing-over, error-deleting, or error-reprotecting.
  • status of the replication pair must be available, protected, failed-over, error, error-starting, error-stopping, error-reversing, error-failing-over, error-deleting, error-reprotecting, error-attaching, error-extending, invalid, or fault.
  • The replication pair has not been attached to a protected instance.
+
+

URI

  • URI format

    DELETE /v1/{project_id}/replications/{replication_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    replication_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    You can obtain this value by calling the API described in Querying Replication Pairs.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    replication

    +

    Yes

    +

    Object

    +

    Specifies the information about a replication pair.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 replication field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    No

    +

    String

    +

    Specifies the ID of a protection group.

    +

    delete_target_volume

    +

    No

    +

    Boolean

    +

    Specifies whether to delete the DR site disk. The default value is false.

    +
    +
    +
+
  • Example request
    DELETE https://{Endpoint}/v1/{project_id}/replications/b93bc1c4-67ee-45a1-bc8a-d022fdd28811
    { 
    +   "replication": {
    +       "server_group_id": "c79fba33-b165-4c69-80c1-d7e590691162",
    +        "delete_target_volume": false
    +   }
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000011db92d34587db9d20df32ch" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0603.html b/docs/sdrs/api-ref/sdrs_05_0603.html new file mode 100644 index 000000000..2194eaf79 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0603.html @@ -0,0 +1,534 @@ + + +

Querying Replication Pairs

+

Function

This API is used to query all replication pairs in a specified protection group. If you do not specify the protection group, the system lists all the replication pairs of the tenant.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/replications

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+
  • Request filter field description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    No

    +

    String

    +

    Specifies the ID of a protection group.

    +

    You can obtain this value by calling the API described in Querying Protection Groups.

    +

    server_group_ids

    +

    No

    +

    Array of strings

    +

    Specifies the protection group ID list. The value is in the following format: server_group_ids=['server_group_id1','server_group_id2',...,'server_group_idx']. Convert it using URL encoding.

    +
    • All the replication pairs with valid server_group_id in server_group_ids are returned.
    • The replication pairs of a maximum of 30 server_group_id values can be queried.
    • If parameters server_group_id and server_group_ids are both specified in the request, server_group_id will be ignored.
    +

    protected_instance_id

    +

    No

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    You can obtain this value by calling the API described in Querying Protected Instances.

    +

    protected_instance_ids

    +

    No

    +

    Array of strings

    +

    Specifies the protected instance ID list. The value is in the following format: protected_instance_ids=['protected_instance_id1','protected_instance_id2',...,'protected_instance_idx']. Convert it using URL encoding.

    +
    • All the replication pairs with valid protected_instance_id in protected_instance_ids are returned.
    • The replication pairs of a maximum of 30 protected_instance_id values can be queried.
    • If parameters protected_instance_id and protected_instance_ids are both specified in the request, protected_instance_id will be ignored.
    +

    name

    +

    No

    +

    String

    +

    Specifies the name of a replication pair. Fuzzy search is supported.

    +

    status

    +

    No

    +

    String

    +

    Specifies the status of a replication pair.

    +

    For details, see Replication Pair Status.

    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum number of results returned each time. The value is a positive integer from 0 to 1000. The default value is 1000.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the offset of each request. The default value is 0. The value must be a number and cannot be negative.

    +

    query_type

    +

    No

    +

    String

    +

    Specifies the query type.

    +
    • To query replication pairs in the abnormal status, set query_type to status_abnormal.
    • Otherwise, set query_type to general or leave it empty.
    +

    availability_zone

    +

    No

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the replication pair.

    +

    You can obtain this value by calling the API described in Querying an Active-Active Domain.

    +
    +
    +
+

Request

  • Request parameters

    None

    +
  • Example request
    https://{Endpoint}/v1/{project_id}/replications?server_group_ids=%5b%2221d65fa4-430e-4761-b9ad-4e27364f874c%22%2c%22943c7d15-0371-4b89-b1a6-db1ef35c9263&status=available
    +

    Use URL encoding for server_group_ids or protected_instance_ids.

    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    replications

    +

    Array of objects

    +

    Specifies the information about replication pairs.

    +

    For details, see Table 1.

    +

    count

    +

    Integer

    +

    Specifies the number of replication pairs.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 replications field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    name

    +

    String

    +

    Specifies the name of a replication pair.

    +

    description

    +

    String

    +

    Specifies the description of a replication pair.

    +

    replication_model

    +

    String

    +

    Specifies the replication mode of a replication pair. The default value is hypermetro, indicating synchronous replication.

    +

    status

    +

    String

    +

    Specifies the status of a replication pair.

    +

    For details, see Replication Pair Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a replication pair.

    +

    Unit: %

    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +

    attachment

    +

    Array of objects

    +

    Specifies the device name.

    +

    For details, see Table 2.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    volume_ids

    +

    String

    +

    Specifies the ID of the disk used to create a replication pair.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the replication pair.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    fault_level

    +

    String

    +

    Specifies the fault level of a replication pair.

    +
    • 0: No fault occurs.
    • 2: The disk of the current production site does not have read/write permissions. In this case, you are advised to perform a failover.
    • 5: The replication link is disconnected. In this case, a failover is not allowed. Contact customer service.
    +

    created_at

    +

    String

    +

    Specifies the time when a replication pair was created.

    +

    The default format is as follows: ""yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a replication pair was updated.

    +

    The default format is as follows: ""yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    record_metadata

    +

    Object

    +

    Specifies the SDR data of a replication pair.

    +

    For details, see Table 3.

    +

    failure_detail

    +

    String

    +

    Specifies the error code returned only when status of a replication pair is error.

    +

    For details, see the returned value in Error Codes.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    device

    +

    String

    +

    Specifies the device name.

    +

    protected_instance

    +

    String

    +

    Specifies the ID of the protected instance to which the replication pair is attached.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 3 record_metadata field description

    Parameter

    +

    Type

    +

    Description

    +

    multiattach

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a shared disk.

    +

    bootable

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a system disk.

    +

    volume_size

    +

    Integer

    +

    Specifies the size of the disk in a replication pair. Unit: GB

    +

    volume_type

    +

    String

    +

    Specifies the type of the disk in a replication pair.

    +
    Currently, the value can be SSD, SAS, SATA, co-p1, uh-l1, GPSSD, or ESSD.
    • SSD: specifies the ultra-high I/O disk type.
    • SAS: specifies the high I/O disk type.
    • SATA: specifies the common I/O disk type.
    • co-p1: specifies the high I/O (performance-optimized I) disk type.
    • uh-l1: specifies the ultra-high I/O (latency-optimized) disk type.
    • GPSSD: specifies the general purpose SSD disk type.
    • ESSD: specifies the extreme SSD disk type.

      Disks of the co-p1 and uh-l1 types are used exclusively for HPC ECSs and SAP HANA ECSs.

      +
    +
    +
    +
    +
+
  • Example response
    {
    +    "count": 1,
    +    "replications": [
    +        {
    +            "id": "b93bc1c4-67ee-45a1-bc8a-d022fdd28811",
    +            "name": "test_replication_name",
    +            "description": "description_test",
    +            "replication_model": "hypermetro",
    +            "status": "available",
    +            "progress": 0,
    +            "replication_status": "active",
    +            "attachment": [               
    +                {     
    +                    "device": "/dev/vda",                   
    +                    "protected_instance": "8a7a6339-679b-452b-948c-144e0ef85d9e"               
    +                }           
    +            ],
    +            "server_group_id": "c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +            "volume_ids": "48dda0c0-c800-46f2-9728-a519ff783d35,388b324a-a9d1-44a4-a00d-42085f22a9bc",
    +            "priority_station": "source",
    +            "fault_level": "0",
    +            "created_at": "2018-05-04T03:43:24.108526",
    +            "updated_at": "2018-05-04T03:44:28.322873",
    +            "record_metadata": {
    +                "multiattach": false,
    +                "bootable": false,
    +                "volume_size": 10,
    +                "volume_type": "SATA"
    +            }
    +        }
    +    ]
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0604.html b/docs/sdrs/api-ref/sdrs_05_0604.html new file mode 100644 index 000000000..c71593629 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0604.html @@ -0,0 +1,414 @@ + + +

Querying Details About a Replication Pair

+

Function

This API is used to query the details about a replication pair.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/replications/{replication_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID.

    +

    replication_id

    +

    Yes

    +

    Specifies the ID of a replication pair.

    +

    You can obtain this value by calling the API described in Querying Replication Pairs.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/replications/b93bc1c4-67ee-45a1-bc8a-d022fdd28811

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    Object

    +

    Specifies the information about a replication pair.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 replication field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    name

    +

    String

    +

    Specifies the name of a replication pair.

    +

    description

    +

    String

    +

    Specifies the description of a replication pair.

    +

    replication_model

    +

    String

    +

    Specifies the replication mode of a replication pair. The default value is hypermetro, indicating synchronous replication.

    +

    status

    +

    String

    +

    Specifies the status of a replication pair. For details, see Replication Pair Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a replication pair.

    +

    Unit: %

    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +

    attachment

    +

    Array of objects

    +

    Specifies the device name.

    +

    For details, see Table 2.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    volume_ids

    +

    String

    +

    Specifies the ID of the disk used to create a replication pair.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the replication pair.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    fault_level

    +

    String

    +

    Specifies the fault level of a replication pair.

    +
    • 0: No fault occurs.
    • 2: The disk of the current production site does not have read/write permissions. In this case, you are advised to perform a failover.
    • 5: The replication link is disconnected. In this case, a failover is not allowed. Contact customer service.
    +

    created_at

    +

    String

    +

    Specifies the time when a replication pair was created.

    +

    The default format is as follows: ""yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a replication pair was updated.

    +

    The default format is as follows: ""yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    record_metadata

    +

    Object

    +

    Specifies the SDR data of a replication pair.

    +

    For details, see Table 3.

    +

    failure_detail

    +

    String

    +

    Specifies the error code returned only when status of a replication pair is error.

    +

    For details, see the returned value in Error Codes.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    device

    +

    String

    +

    Specifies the device name.

    +

    protected_instance

    +

    String

    +

    Specifies the ID of the protected instance to which the replication pair is attached.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 3 record_metadata field description

    Parameter

    +

    Type

    +

    Description

    +

    multiattach

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a shared disk.

    +

    bootable

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a system disk.

    +

    volume_size

    +

    Integer

    +

    Specifies the size of the disk in a replication pair. Unit: GB

    +

    volume_type

    +

    String

    +

    Specifies the type of the disk in a replication pair.

    +
    Currently, the value can be SSD, SAS, SATA, co-p1, uh-l1, GPSSD, or ESSD.
    • SSD: specifies the ultra-high I/O disk type.
    • SAS: specifies the high I/O disk type.
    • SATA: specifies the common I/O disk type.
    • co-p1: specifies the high I/O (performance-optimized I) disk type.
    • uh-l1: specifies the ultra-high I/O (latency-optimized) disk type.
    • GPSSD: specifies the general purpose SSD disk type.
    • ESSD: specifies the extreme SSD disk type.

      Disks of the co-p1 and uh-l1 types are used exclusively for HPC ECSs and SAP HANA ECSs.

      +
    +
    +
    +
    +
+
  • Example response
    {
    +    "replication": 
    +        {
    +            "id": "b93bc1c4-67ee-45a1-bc8a-d022fdd28811",
    +            "name": "test_sdrs_replication",
    +            "description": "test_description",
    +            "replication_model": "hypermetro",
    +            "status": "available",
    +            "progress": 0,
    +            "replication_status": "active",
    +            "attachment": [               
    +                {     
    +                    "device": "/dev/vda",                   
    +                    "protected_instance": "8a7a6339-679b-452b-948c-144e0ef85d9c"               
    +                }           
    +            ],
    +            "server_group_id": "c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +            "volume_ids": "48dda0c0-c800-46f2-9728-a519ff783d35,388b324a-a9d1-44a4-a00d-42085f22a9bc",
    +            "priority_station": "source",
    +            "fault_level": "0",
    +            "created_at": "2018-05-04T03:43:24.108526",
    +            "updated_at": "2018-05-04T03:44:28.322873",
    +            "record_metadata": {
    +                "multiattach": false,
    +                "bootable": false,
    +                "volume_size": 10,
    +                "volume_type": "SATA"
    +            }
    +        }
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0605.html b/docs/sdrs/api-ref/sdrs_05_0605.html new file mode 100644 index 000000000..842f286fc --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0605.html @@ -0,0 +1,250 @@ + + +

Expanding the Capacity of a Replication Pair

+

Function

This API is used to expand the capacity of the two disks in a replication pair.

+
+

Constraints and Limitations

  • status of the replication pair must be available, protected, or error-extending.
  • status of disks in the replication pair is available or in-use.
+
  • When the disks in a replication pair are not shared

    If the disks in the replication pair are in the in-use state, the replication pair capacity can be expanded only when online capacity expansion is supported.

    +
+
  • When the disks in a replication pair are shared

    The replication pair capacity cannot be expanded online if the disks are in the in-use state.

    +
+
+
+

URI

  • URI format

    POST /v1/{project_id}/replications/{replication_id}/action

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    replication_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    You can obtain this value by calling the API described in Querying Replication Pairs.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    extend-replication

    +

    Yes

    +

    Object

    +

    Expands disk capacity.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 extend-replication field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    new_size

    +

    Yes

    +

    Integer

    +

    Specifies the disk capacity after expansion in a replication pair.

    +

    Unit: GB

    +
    NOTE:

    If the value has a decimal point, the system takes the integer before the decimal point by default.

    +
    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/replications/b93bc1c4-67ee-45a1-bc8a-d022fdd28811/action
    {  
    +    "extend-replication": { 
    +        "new_size": 10 
    +    } 
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    { 
    +   "job_id": "0000000011db92d34587db9d20df32ch" 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0606.html b/docs/sdrs/api-ref/sdrs_05_0606.html new file mode 100644 index 000000000..469f95d42 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0606.html @@ -0,0 +1,474 @@ + + +

Changing the Name of a Replication Pair

+

Function

This API is used to change the name of a replication pair.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    PUT /v1/{project_id}/replications/{replication_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    replication_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    You can obtain this value by calling the API described in Querying Replication Pairs.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    replication

    +

    Yes

    +

    Object

    +

    Specifies the information about a replication pair.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 replication field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a replication pair.

    +
    • The name can contain a maximum of 64 bytes.
    • The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).
    +
    +
    +
+
  • Example request
    PUT https://{Endpoint}/v1/{project_id}/replications/b93bc1c4-67ee-45a1-bc8a-d022fdd28811
    {   
    +     "replication": {  
    +         "name": "new_name"
    +     }  
    + }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    Object

    +

    Specifies the information about a replication pair.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 replication field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    name

    +

    String

    +

    Specifies the name of a replication pair. The name can contain a maximum of 64 bytes consisting of only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    description

    +

    String

    +

    Specifies the description of a replication pair.

    +

    replication_model

    +

    String

    +

    Specifies the replication mode of a replication pair. The default value is hypermetro, indicating synchronous replication.

    +

    status

    +

    String

    +

    Specifies the status of a replication pair.

    +

    For details, see Replication Pair Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a replication pair.

    +

    Unit: %

    +

    replication_status

    +

    String

    +

    Specifies the data synchronization status.

    +
    • active: Data has been synchronized.
    • inactive: Data is not synchronized.
    • copying: Data is being synchronized.
    • active-stopped: Data synchronization is stopped.
    +

    attachment

    +

    Array of objects

    +

    Specifies the device name.

    +

    For details, see Table 3.

    +

    volume_ids

    +

    String

    +

    Specifies the ID of the disk used to create a replication pair.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the replication pair.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    fault_level

    +

    String

    +

    Specifies the fault level of a replication pair.

    +
    • 0: No fault occurs.
    • 2: The disk of the current production site does not have read/write permissions. In this case, you are advised to perform a failover.
    • 5: The replication link is disconnected. In this case, a failover is not allowed. Contact customer service.
    +

    created_at

    +

    String

    +

    Specifies the time when a replication pair was created.

    +

    The default format is as follows: ""yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a replication pair was updated.

    +

    The default format is as follows: "yyyy-MM-ddTHH:mm:ss.SSSSSS", for example, 2019-04-01T12:00:00.000000.

    +

    record_metadata

    +

    Object

    +

    Specifies the SDR data of a replication pair.

    +

    For details, see Table 4.

    +

    failure_detail

    +

    String

    +

    Specifies the error code returned only when status of a replication pair is error.

    +

    For details, see the returned value in Error Codes.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    String

    +

    Specifies the ID of the protected instance to which the replication pair is attached.

    +

    device

    +

    String

    +

    Specifies the device name.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 4 record_metadata field description

    Parameter

    +

    Type

    +

    Description

    +

    multiattach

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a shared disk.

    +

    bootable

    +

    Boolean

    +

    Specifies whether the disk in a replication pair is a system disk.

    +

    volume_size

    +

    Integer

    +

    Specifies the size of the disk in a replication pair. Unit: GB

    +

    volume_type

    +

    String

    +

    Specifies the type of the disk in a replication pair.

    +
    Currently, the value can be SSD, SAS, SATA, co-p1, uh-l1, GPSSD, or ESSD.
    • SSD: specifies the ultra-high I/O disk type.
    • SAS: specifies the high I/O disk type.
    • SATA: specifies the common I/O disk type.
    • co-p1: specifies the high I/O (performance-optimized I) disk type.
    • uh-l1: specifies the ultra-high I/O (latency-optimized) disk type.
    • GPSSD: specifies the general purpose SSD disk type.
    • ESSD: specifies the extreme SSD disk type.

      Disks of the co-p1 and uh-l1 types are used exclusively for HPC ECSs and SAP HANA ECSs.

      +
    +
    +
    +
    +
+
  • Example response
    { 
    +     "replication":  
    +         { 
    +             "id": "b93bc1c4-67ee-45a1-bc8a-d022fdd28811", 
    +             "name": "new_name", 
    +             "description": "test_description", 
    +             "replication_model": "hypermetro", 
    +             "status": "available", 
    +             "progress": 0, 
    +             "replication_status": "active",
    +             "attachment": [               
    +                 {     
    +                     "device": "/dev/vda",                   
    +                     "protected_instance": "8a7a6339-679b-452b-948c-144e0ef85d9c"               
    +                 }           
    +             ],
    +             "volume_ids": "48dda0c0-c800-46f2-9728-a519ff783d35,388b324a-a9d1-44a4-a00d-42085f22a9bc", 
    +             "server_group_id": "0000000062d194520162d196f0fe0007", 
    +             "priority_station": "source", 
    +             "fault_level": "0", 
    +             "created_at": "2018-05-04T03:43:24.108526", 
    +             "updated_at": "2018-05-04T03:44:28.322873", 
    +             "record_metadata": { 
    +                 "multiattach": false, 
    +                 "bootable": false, 
    +                 "volume_size": "10", 
    +                 "volume_type": "SATA" 
    +             } 
    +         } 
    + }
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0700.html b/docs/sdrs/api-ref/sdrs_05_0700.html new file mode 100644 index 000000000..fa9e634c6 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0700.html @@ -0,0 +1,23 @@ + + +

DR Drill

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0701.html b/docs/sdrs/api-ref/sdrs_05_0701.html new file mode 100644 index 000000000..a6aff2552 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0701.html @@ -0,0 +1,255 @@ + + +

Creating a DR Drill

+

Function

This API is used to create a disaster recovery (DR) drill.

+
+

Constraints and Limitations

  • status of the protection group must be available, protected, failed-over, error-starting, error-stopping, error-reversing, error-reprotecting, or error-failing-over.
  • Do not perform a DR drill before the first time data synchronization completes. Otherwise, the drill server may not start properly.
  • If drill_vpc_id is specified (the system uses an existing drill VPC), the drill VPC CIDR block must be consistent with that of the VPC for the protection group. If drill_vpc_id is not specified, the system automatically creates a drill VPC.
  • When you use a created drill VPC to create a drill, the subnet ACL rule of the drill VPC will be different from that of the VPC of the protection group. You need to manually set them to be the same one if needed.
  • When you create a DR drill, if the VPC of the protection group has a customized routing table and subnets configured, the corresponding routing table will not be automatically created for the drill VPC. You need to manually create it if needed.
+
+

URI

  • URI format

    POST /v1/{project_id}/disaster-recovery-drills

    +
+
  • Parameter description
+ +
+ + + + + + + + + + + +

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Specifies the project ID.

+
+
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    disaster_recovery_drill

    +

    Yes

    +

    Object

    +

    Specifies the information about a DR drill.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 1 disaster_recovery_drill field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +

    drill_vpc_id

    +

    No

    +

    String

    +

    Specifies the drill VPC ID. If you do not specify this parameter, the system will automatically create a drill VPC.

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the name of a DR drill. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/disaster-recovery-drills
    {
    +         "disaster_recovery_drill": {
    +                  "name": "dr_drill_test",
    +                  "server_group_id":"c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +                  "drill_vpc_id":"87d505be-e984-455e-ad84-588c73fb258b"
    +    }
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
+
  • Example response
    {  
    +    "job_id": "0000000011db92d36662db9d20df32ch"  
    +  }
    +
    Or
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0702.html b/docs/sdrs/api-ref/sdrs_05_0702.html new file mode 100644 index 000000000..d0c84aad6 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0702.html @@ -0,0 +1,191 @@ + + +

Deleting a DR Drill

+

Function

This API is used to delete a specified DR drill. After you delete the specified DR drill:

+
  • The DR drill as well as the disks and NICs attached to the DR drill will be deleted.
  • The drill VPC and subnets of the drill VPC will not be deleted. You can create other servers using this VPC.
+
+

Constraints and Limitations

The status of the DR drill must be available, error, or error-deleting.

+
+

URI

  • URI format

    DELETE /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    disaster_recovery_drill_id

    +

    Yes

    +

    String

    +

    Specifies the DR drill ID.

    +

    To query details, see Querying DR Drills.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/disaster-recovery-drills/f96ac55f-35dd-4cc3-ba61-36c168900c99

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    job_id

    +

    String

    +

    Specifies the job ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +
    +
    +
  • Example response
    {  
    +    "job_id": "0000000011db92d34587db9d20df32ch"  
    +  }
    +
    Or
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0703.html b/docs/sdrs/api-ref/sdrs_05_0703.html new file mode 100644 index 000000000..e882e48da --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0703.html @@ -0,0 +1,387 @@ + + +

Querying DR Drills

+

Function

This API is used to query all DR drills in a specified protection group. If you do not specify the protection group, the system lists all the DR drills of the tenant.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/disaster-recovery-drills

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+
  • Request filter field description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    server_group_id

    +

    No

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +

    name

    +

    No

    +

    String

    +

    Specifies the DR drill name. Fuzzy search is supported.

    +

    status

    +

    No

    +

    String

    +

    Specifies the DR drill status.

    +

    For details, see DR Drill Status.

    +

    drill_vpc_id

    +

    No

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum number of results returned each time. The value is a positive integer from 0 to 1000. The default value is 1000.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the offset of each request. The default value is 0. The value must be a number and cannot be negative.

    +
    +
    +
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/disaster-recovery-drills

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    disaster_recovery_drills

    +

    Array of objects

    +

    Specifies the DR drills.

    +

    For details, see Table 1.

    +

    count

    +

    Integer

    +

    Specifies the number of DR drills.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 disaster_recovery_drills field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the DR drill ID.

    +

    name

    +

    String

    +

    Specifies the DR drill name.

    +

    status

    +

    String

    +

    Specifies the DR drill status. For details, see DR Drill Status.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    drill_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +

    created_at

    +

    String

    +

    Specifies the time when a DR drill was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a DR drill was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    drill_servers

    +

    Array of objects

    +

    Specifies the drill servers.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 drill_servers field description

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    String

    +

    Specifies the protected instance ID of the drill server.

    +

    drill_server_id

    +

    String

    +

    Specifies the drill server ID.

    +
    +
    +
+
  • Example response
    { 
    +     "count": 2,
    +     "disaster_recovery_drills": [
    +        {
    +            "id": "e472d26f-9624-42fb-8bfc-717d4714c225",
    +            "name": "dr_drill_test",
    +            "status": "available",
    +            "server_group_id": "c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +            "drill_vpc_id": "7881f1d2-1f41-419c-873a-14ac620bc46e",
    +            "created_at": "2018-07-18 06:41:58.681",
    +            "updated_at": "2018-07-18 09:41:14.677",
    +            "drill_servers": [
    +                {
    +                    "protected_instance": "d08ca8d7-a784-41ae-b32a-c592943f5dfc",
    +                    "drill_server_id": "9de0439a-4ee4-4199-919a-44afd20952dc"
    +                },
    +                {
    +                    "protected_instance": "ea308e8b-043c-4fc6-a53c-856eae137b13",
    +                    "drill_server_id": "3eaa1c70-9719-4eb5-b577-cb92ddbffd03"
    +                }
    +            ]
    +        },
    +        {
    +            "id": "f96ac55f-35dd-4cc3-ba61-36c168900c99",
    +            "name": "drill_test",
    +            "status": "available",
    +            "server_group_id": "3a60f45d-cf5b-49f1-a05e-ddee78cb6eef",
    +            "drill_vpc_id": "ac784bd6-a79c-4def-9ff8-dc87940d5335",
    +            "created_at": "2018-07-17 22:38:21.111",
    +            "updated_at": "2018-07-17 22:47:54.845",
    +            "drill_servers": []
    +        }
    +    ] 
    +}
    +
    Or
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0704.html b/docs/sdrs/api-ref/sdrs_05_0704.html new file mode 100644 index 000000000..03b50713b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0704.html @@ -0,0 +1,300 @@ + + +

Querying Details About a DR Drill

+

Function

This API is used to query the details about a DR drill.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID.

    +

    disaster_recovery_drill_id

    +

    Yes

    +

    Specifies the DR drill ID.

    +

    To query details, see Querying DR Drills.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/disaster-recovery-drills/e472d26f-9624-42fb-8bfc-717d4714c225

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    disaster_recovery_drill

    +

    Object

    +

    Specifies the information about a DR drill.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 disaster_recovery_drill field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the DR drill ID.

    +

    name

    +

    String

    +

    Specifies the DR drill name.

    +

    status

    +

    String

    +

    Specifies the DR drill status. For details, see DR Drill Status.

    +

    drill_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +

    created_at

    +

    String

    +

    Specifies the time when a DR drill was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a DR drill was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    drill_servers

    +

    Array of objects

    +

    Specifies the drill servers.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 2 drill_servers field description

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    String

    +

    Specifies the protected instance ID of the drill server.

    +

    drill_server_id

    +

    String

    +

    Specifies the drill server ID.

    +
    +
    +
  • Example response
    { 
    +     "disaster_recovery_drill":  
    +         { 
    +             "id": "e472d26f-9624-42fb-8bfc-717d4714c225",
    +            "name": "dr_drill_test",
    +            "status": "available",
    +            "server_group_id": "c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +            "drill_vpc_id": "7881f1d2-1f41-419c-873a-14ac620bc46e",
    +            "created_at": "2018-07-18 06:41:58.681",
    +            "updated_at": "2018-07-18 00:41:14.677",
    +            "drill_servers": [
    +                {
    +                    "protected_instance": "d08ca8d7-a784-41ae-b32a-c592943f5dfc",
    +                    "drill_server_id": "9de0439a-4ee4-4199-919a-44afd20952dc"
    +                },
    +                {
    +                    "protected_instance": "ea308e8b-043c-4fc6-a53c-856eae137b13",
    +                    "drill_server_id": "3eaa1c70-9719-4eb5-b577-cb92ddbffd03"
    +                }
    +            ]
    +         } 
    + }
    +
    Or
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0705.html b/docs/sdrs/api-ref/sdrs_05_0705.html new file mode 100644 index 000000000..302324d0a --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0705.html @@ -0,0 +1,354 @@ + + +

Updating a DR Drill Name

+

Function

This API is used to update a DR drill name.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    PUT /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID.

    +

    disaster_recovery_drill_id

    +

    Yes

    +

    Specifies the DR drill ID.

    +

    To query details, see Querying DR Drills.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    disaster_recovery_drill

    +

    Yes

    +

    Object

    +

    Specifies the information about a DR drill.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + +
    Table 1 disaster_recovery_drill field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    name

    +

    Yes

    +

    String

    +

    Specifies the DR drill name.

    +
    • The name can contain a maximum of 64 bytes.
    • The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).
    +
    +
    +
  • Example request
    PUT https://{Endpoint}/v1/{project_id}/disaster-recovery-drills/e472d26f-9624-42fb-8bfc-717d4714c225
    {    
    +      "disaster_recovery_drill": {   
    +          "name": "new_dr_drill_name" 
    +      }   
    +  }
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    disaster_recovery_drill

    +

    Object

    +

    Specifies the information about a DR drill.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 disaster_recovery_drill field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the DR drill ID.

    +

    name

    +

    String

    +

    Specifies the DR drill name. Specifies the name of a DR drill. The name can contain a maximum of 64 bytes. The value can contain only letters (a to z and A to Z), digits (0 to 9), decimal points (.), underscores (_), and hyphens (-).

    +

    status

    +

    String

    +

    Specifies the DR drill status.

    +

    For details, see DR Drill Status.

    +

    drill_vpc_id

    +

    String

    +

    Specifies the ID of the VPC used for a DR drill.

    +

    created_at

    +

    String

    +

    Specifies the time when a DR drill was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a DR drill was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    drill_servers

    +

    Array of objects

    +

    Specifies the drill servers.

    +

    For details, see Table 3.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 3 drill_servers field description

    Parameter

    +

    Type

    +

    Description

    +

    protected_instance

    +

    String

    +

    Specifies the protected instance ID of the drill server.

    +

    drill_server_id

    +

    String

    +

    Specifies the drill server ID.

    +
    +
    +
+
  • Example response
    {  
    +      "disaster_recovery_drill":  
    +         { 
    +             "id": "e472d26f-9624-42fb-8bfc-717d4714c225",
    +            "name": "new_dr_drill_name",
    +            "status": "available",
    +            "server_group_id": "c2aee29a-2959-4d01-9755-01cc76a4d17d",
    +            "drill_vpc_id": "7881f1d2-1f41-419c-873a-14ac620bc46e",
    +            "created_at": "2018-07-18 06:41:58.681",
    +            "updated_at": "2018-07-18 00:41:14.677",
    +            "drill_servers": [
    +                {
    +                    "protected_instance": "d08ca8d7-a784-41ae-b32a-c592943f5dfc",
    +                    "drill_server_id": "9de0439a-4ee4-4199-919a-44afd20952dc"
    +                },
    +                {
    +                    "protected_instance": "ea308e8b-043c-4fc6-a53c-856eae137b13",
    +                    "drill_server_id": "3eaa1c70-9719-4eb5-b577-cb92ddbffd03"
    +                }
    +            ]
    +         }
    +  }
    +

    Or

    +
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0800.html b/docs/sdrs/api-ref/sdrs_05_0800.html new file mode 100644 index 000000000..6dbc3ced5 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0800.html @@ -0,0 +1,28 @@ + + +

Tag Management

+

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0801.html b/docs/sdrs/api-ref/sdrs_05_0801.html new file mode 100644 index 000000000..dbab3e55e --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0801.html @@ -0,0 +1,712 @@ + + +

Querying Protected Instances by Tag

+

Function

This API is used to query protected instances by tag.

+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/resource_instances/action

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    offset

    +

    No

    +

    String

    +

    Specifies the index position. This parameter is unavailable when action is set to count. If offset is set to N, the resource query starts from the N+1 piece of data. If action is set to filter, the value of offset is 0 by default, indicating that the query starts from the first piece of data. The offset value must be a number and cannot be a negative number.

    +

    limit

    +

    No

    +

    String

    +

    Specifies the number of limited queries. This parameter is unavailable when action is set to count. The default value is 1000 when action is set to filter. The maximum value is 1000, and the minimum value is 1. The value cannot be a negative number.

    +

    action

    +

    Yes

    +

    String

    +

    Specifies the operation to be performed. The value can be filter (filtering) or count (querying the total number).

    +

    If action is set to filter, the query is performed based on the filter conditions. If action is set to count, only the total number of records is returned.

    +

    matches

    +

    No

    +

    Array of objects

    +

    Specifies the search field. The tag key is the field to be matched, for example, resource_name. The tag value indicates the value to be matched. The key is a fixed dictionary value and cannot contain duplicate keys or unsupported keys.

    +

    Determine whether fuzzy match is required based on the keys. For example, if key is resource_name, fuzzy search (case insensitive) is used by default. If value is an empty string, exact match is used. Currently, only resource_name for key is supported. Other key values will be available later.

    +

    For details, see Table 2.

    +

    not_tags

    +

    No

    +

    Array of objects

    +

    The resources to be queried do not contain tags listed in not_tags. Each resource to be queried contains a maximum of 20 keys. Each tag key can have a maximum of 20 tag values. The tag value corresponding to each tag key can be an empty array but the structure cannot be missing. Each tag key must be unique, and each tag value in a tag must be unique. The response returns resources containing no tags in this list. Keys in this list are in an AND relationship while values in each key-value structure are in an OR relationship. If no tag filtering condition is specified, full data is returned.

    +

    For details, see Table 1.

    +

    tags

    +

    No

    +

    Array of objects

    +

    The resources to be queried contain tags listed in tags. Each resource to be queried contains a maximum of 20 keys. Each tag key can have a maximum of 20 tag values. The tag value corresponding to each tag key can be an empty array but the structure cannot be missing. Each tag key must be unique, and each tag value in a tag must be unique. The response returns resources containing all tags in this list. Keys in this list are in an AND relationship while values in each key-value structure are in an OR relationship. If no tag filtering condition is specified, full data is returned.

    +

    For details, see Table 1.

    +

    tags_any

    +

    No

    +

    Array of objects

    +

    The resources to be queried contain any tags listed in tags_any. Each resource to be queried contains a maximum of 20 keys. Each tag key can have a maximum of 20 tag values. The tag value corresponding to each tag key can be an empty array but the structure cannot be missing. Each tag key must be unique, and each tag value in a tag must be unique. The response returns resources containing the tags in this list. Keys in this list are in an OR relationship and values in each key-value structure are also in an OR relationship. If no tag filtering condition is specified, full data is returned.

    +

    For details, see Table 1.

    +

    not_tags_any

    +

    No

    +

    Array of objects

    +

    The resources to be queried do not contain any tags listed in not_tags_any. Each resource to be queried contains a maximum of 20 keys. Each tag key can have a maximum of 20 tag values. The tag value corresponding to each tag key can be an empty array but the structure cannot be missing. Each tag key must be unique, and each tag value in a tag must be unique. The response returns resources containing no tags in this list. Keys in this list are in an OR relationship and values in each key-value structure are also in an OR relationship. If no tag filtering condition is specified, full data is returned.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. It contains a maximum of 127 Unicode characters. It cannot be left blank. key cannot be empty, an empty string, or spaces. Before using key, delete spaces of single-byte character (SBC) before and after the value.

    +

    values

    +

    Yes

    +

    Array of strings

    +

    Lists the tag values. Each value contains a maximum of 255 Unicode characters. Before using values, delete SBC spaces before and after the value.

    +

    The asterisk (*) is reserved for the system. If the value starts with *, it indicates that fuzzy match is performed based on the value following *. The value cannot contain only asterisks (*).

    +

    If the values are null, it indicates any_value (querying any value). The resources containing one or more values listed in values will be found and displayed.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 2 Description of the match field

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key.

    +

    Currently, only resource_name for key is supported. Other key values will be available later.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the tag value.

    +

    Each value can contain a maximum of 255 Unicode characters.

    +
    +
    +
+
  • Sample request when action is set to filter
    POST https://{Endpoint}/v1/{project_id}/protected-instances/resource_instances/action
    {
    +    "offset": "100",
    +    "limit": "100",
    +    "action": "filter",
    +    "matches": [
    +        {
    +            "key": "resource_name",
    +            "value": "resource1"
    +        }
    +    ],
    +    "not_tags": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "*value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "tags": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "*value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "tags_any": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "not_tags_any": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ]
    +}
    +
    +
  • Sample request when action is set to count
    POST https://{Endpoint}/v1/{project_id}/protected-instances/resource_instances/action
    {
    +    "action": "count",
    +    "not_tags": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "*value2"
    +            ]
    +        }
    +    ],
    +    "tags": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        },
    +        {
    +            "key": "key2",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "tags_any": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "not_tags_any": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ],
    +    "matches": [
    +        {
    +            "key": "resource_name",
    +            "value": "resource1"
    +        }
    +    ]
    +}
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    resources

    +

    Yes

    +

    Array of objects

    +

    Specifies the returned protected instances.

    +

    For details, see Table 3.

    +

    total_count

    +

    Yes

    +

    Integer

    +

    Specifies the total number of resources.

    +

    The value is not affected by the filtering criteria.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3 Description of field resource

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    resource_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    resource_name

    +

    Yes

    +

    String

    +

    Specifies the protected instance name. This parameter is left blank by default if there is no name.

    +

    resource_detail

    +

    Yes

    +

    Object

    +

    Specifies the details of a protected instance.

    +

    For details, see Table 4.

    +

    tags

    +

    Yes

    +

    Array of objects

    +

    Specifies the tag list. If there is no tag in the list, tags is taken as an empty array.

    +

    For details, see Table 8.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4 protected_instances field description

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    name

    +

    String

    +

    Specifies the name of a protected instance.

    +

    description

    +

    String

    +

    Specifies the description of a protected instance.

    +

    server_group_id

    +

    String

    +

    Specifies the ID of a protection group.

    +

    status

    +

    String

    +

    Specifies the status of a protected instance.

    +

    For details, see Protected Instance Status.

    +

    progress

    +

    Integer

    +

    Specifies the synchronization progress of a protected instance.

    +

    Unit: %

    +

    source_server

    +

    String

    +

    Specifies the production site server ID.

    +

    target_server

    +

    String

    +

    Specifies the DR site server ID.

    +

    created_at

    +

    String

    +

    Specifies the time when a protected instance was created.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    updated_at

    +

    String

    +

    Specifies the time when a protected instance was updated.

    +

    The default format is as follows: "yyyy-MM-dd HH:mm:ss.SSS", for example, 2019-04-01 12:00:00.000.

    +

    priority_station

    +

    String

    +

    Specifies the current production site AZ of the protection group containing the protected instance.

    +
    • source: indicates that the current production site AZ is the source_availability_zone value.
    • target: indicates that the current production site AZ is the target_availability_zone value.
    +

    attachment

    +

    Array of objects

    +

    Specifies the attached replication pairs.

    +

    For details, see Table 2.

    +

    tags

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 3.

    +

    metadata

    +

    Object

    +

    Specifies the metadata of a protected instance.

    +

    For details, see Table 4.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 5 attachment field description

    Parameter

    +

    Type

    +

    Description

    +

    replication

    +

    String

    +

    Specifies the ID of a replication pair.

    +

    device

    +

    String

    +

    Specifies the device name.

    +
    +
    + +
    + + + + + + + + + + + + + +
    Table 6 tags field description

    Parameter

    +

    Type

    +

    Description

    +

    key

    +

    String

    +

    Specifies the tag key.

    +

    value

    +

    String

    +

    Specifies the tag value.

    +
    +
    + +
    + + + + + + + + + +
    Table 7 Field metadata description

    Parameter

    +

    Type

    +

    Description

    +

    __system__frozen

    +

    String

    +

    Specifies whether the resource is frozen.

    +
    • true: indicates that the resource is frozen.
    • Empty: indicates that the resource is not frozen.
    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 8 resource_tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the value.

    +
    +
    +
+
  • Example response

    Example response when action is set to filter

    +
    {
    +    "resources": [
    +        {
    +            "resource_id": "d5a00c87-6b82-414a-a09e-59c37fff44d0",
    +            "resource_name": "Protected-Instance-c801",
    +            "resource_detail": {
    +                "id": "d5a00c87-6b82-414a-a09e-59c37fff44d0",
    +                "name": "Protected-Instance-c801",
    +                "description": null,
    +                "server_group_id": "525fbd01-d4d1-44fc-b341-6d734bcce245",
    +                "status": "protected",
    +                "progress": 100,
    +                "source_server": "73aff1d7-48d2-494e-a9f1-a7d3ffad31ff",
    +                "target_server": "0f6bc56b-a3bb-4707-a4fb-ccd4db5fac59",
    +                "created_at": "2019-05-28 08:17:50.066",
    +                "updated_at": "2019-05-30 01:40:00.74",
    +                "priority_station": "source",
    +                "attachment": [
    +                    {
    +                        "replication": "42e2016e-b96e-4f75-aa57-1377a9cb45e4",
    +                        "device": "/dev/vda"
    +                    }
    +                ],
    +                "tags": [
    +                    {
    +                        "key": "GH1111113fffffKdddddd",
    +                        "value": "aaappppppppddddddd"
    +                    }
    +                ],
    +                "metadata": {}
    +            },
    +            "tags": [
    +                {
    +                    "key": "GH1111113fffffKdddddd",
    +                    "value": "aaappppppppddddddd"
    +                }
    +            ]
    +        }
    +    ],
    +    "total_count": 1
    +}
    +
  • Example response when action is set to count
    {
    +    "total_count": 1000
    +}
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    OK

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0802.html b/docs/sdrs/api-ref/sdrs_05_0802.html new file mode 100644 index 000000000..c98db81f7 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0802.html @@ -0,0 +1,191 @@ + + +

Adding Protected Instance Tags in Batches

+

Function

This API is used to add protected instance tags for a specified protected instance in batches.

+

You can add a maximum of 20 tags to a protected instance.

+

This API is idempotent.

+
  • If there are duplicate keys in the request body when you add tags, an error is reported.
  • During tag creation, duplicate keys are not allowed. If a key exists in the database, its value will be overwritten.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/tags/action

    +
+
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    action

    +

    Yes

    +

    String

    +

    Identifies the operation. The value can be create or delete.

    +
    • create: indicates to create a tag.
    +

    tags

    +

    Yes

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 resource_tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the tag value.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances/67a2cc7e-fb87-41a8-ba28-9c032abcaee1/tags/action
    {
    +    "action": "create",
    +    "tags": [
    +        {
    +            "key": "key1",
    +            "value": "value1"
    +        },
    +        {
    +            "key": "key",
    +            "value": "value3"
    +        }
    +    ]
    +}
    +
    +
+
+

Response

  • Parameter description

    None

    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0803.html b/docs/sdrs/api-ref/sdrs_05_0803.html new file mode 100644 index 000000000..c69539c52 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0803.html @@ -0,0 +1,172 @@ + + +

Adding a Protected Instance Tag

+

Function

You can add a maximum of 20 tags to a protected instance.

+

This API is idempotent.

+

If a to-be-created tag has the same key as an existing tag, the tag will be created and overwrite the existing one.

+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/tags

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    tag

    +

    Yes

    +

    Object

    +

    Specifies the tag to be added.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the tag value.

    +
    +
    +
+
  • Example request
    POST https://{Endpoint}/v1/{project_id}/protected-instances/67a2cc7e-fb87-41a8-ba28-9c032abcaee1/tags
    {
    +    "tag": {
    +        "key": "DEV",
    +        "value": "DEV1"
    +    }
    +}
    +
    +
+
+

Response

  • Example response

    None

    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0804.html b/docs/sdrs/api-ref/sdrs_05_0804.html new file mode 100644 index 000000000..c8a0900bb --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0804.html @@ -0,0 +1,121 @@ + + +

Deleting a Protected Instance Tag

+

Function

This API is idempotent.

+
  • During deletion, the tag character set is not verified. The URI must be encoded before the API is invoked. Other services need to decode the URI.

    Select a desired tool for URI encoding.

    +
    +
  • The tag key cannot be left blank or be an empty string. If the key of the tag to be deleted does not exist, 404 will be returned.
+
+

URI

  • URI format

    DELETE /v1/{project_id}/protected-instances/{protected_instance_id}/tags/{key}

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/protected-instances/67a2cc7e-fb87-41a8-ba28-9c032abcaee1/tags/DEV

    +
+
+

Response

  • Response parameter

    None

    +
  • Example response

    None

    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0805.html b/docs/sdrs/api-ref/sdrs_05_0805.html new file mode 100644 index 000000000..0cdbc0028 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0805.html @@ -0,0 +1,176 @@ + + +

Querying a Protected Instance Tag

+

Function

This API is used to query tags of a specified protected instance.

+
+

URI

  • URI format

    GET /v1/{project_id}/protected-instances/{protected_instance_id}/tags

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/protected-instances/50f5091e-9e9e-473c-a932-2a2cbcbeb1ff/tags

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    tags

    +

    Yes

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 resource_tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    Yes

    +

    String

    +

    Specifies the tag value.

    +
    +
    +
+
  • Example response
    {
    +    "tags": [
    +        {
    +            "key": "key1",
    +            "value": "value1"
    +        },
    +        {
    +            "key": "key2",
    +            "value": "value3"
    +        }
    +    ]
    +}
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    OK

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0806.html b/docs/sdrs/api-ref/sdrs_05_0806.html new file mode 100644 index 000000000..5d7243027 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0806.html @@ -0,0 +1,172 @@ + + +

Querying Tags of All Protected Instances in a Specified Project

+

Function

This API is used to query all resource tags of a protected instance in a specified project.

+
+

URI

  • URI format

    GET /v1/{project_id}/protected-instances/tags

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/protected-instances/tags

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    tags

    +

    Yes

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 Data structure of the tag field

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    values

    +

    Yes

    +

    Array of strings

    +

    Lists the tag values.

    +
    +
    +
+
  • Example response
    {
    +    "tags": [
    +        {
    +            "key": "key1",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        },
    +        {
    +            "key": "key2",
    +            "values": [
    +                "value1",
    +                "value2"
    +            ]
    +        }
    +    ]
    +}
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    OK

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0807.html b/docs/sdrs/api-ref/sdrs_05_0807.html new file mode 100644 index 000000000..f04d3c3da --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0807.html @@ -0,0 +1,190 @@ + + +

Deleting Protected Instance Tags in Batches

+

Function

This API is used to delete protected instance tags for a specified protected instance in batches.

+

You can add a maximum of 20 tags to a protected instance.

+

This API is idempotent.

+
  • During tag deletion, if some tags do not exist, the operation is considered to be successful by default. The character set of the tags will not be checked. When you delete tags, the tag structure cannot be missing, and the key cannot be left blank or be an empty string.
+
+

URI

  • URI format

    POST /v1/{project_id}/protected-instances/{protected_instance_id}/tags/action

    +
+
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    protected_instance_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protected instance.

    +

    For details, see Querying Protected Instances.

    +
    +
    +
+
+

Request

  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    action

    +

    Yes

    +

    String

    +

    Identifies the operation. The value can be create or delete.

    +
    • delete: indicates to delete a tag.
    +

    tags

    +

    Yes

    +

    Array of objects

    +

    Specifies the tag list.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + + + + + + + + +
    Table 1 resource_tag field description

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    key

    +

    Yes

    +

    String

    +

    Specifies the tag key. The tag key of a resource must be unique.

    +

    value

    +

    No

    +

    String

    +

    Specifies the tag value.

    +
    +
    +
+
  • Example request

    POST https://{Endpoint}/v1/{project_id}/protected-instances/67a2cc7e-fb87-41a8-ba28-9c032abcaee1/tags/action

    +
    {
    +    "action": "delete",
    +    "tags": [
    +        {
    +            "key": "key1"
    +        },
    +        {
    +            "key": "key2",
    +            "value": "value3"
    +        }
    +    ]
    +}
    +
+
+

Response

  • Parameter description

    None

    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
+
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400

    +

    Invalid parameters.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Insufficient permission.

    +

    404

    +

    The requested resource was not found.

    +

    500

    +

    Internal service error.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0900.html b/docs/sdrs/api-ref/sdrs_05_0900.html new file mode 100644 index 000000000..7c94bde94 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0900.html @@ -0,0 +1,22 @@ + + +

Task Center

+

You can use the APIs described in this section to query failed tasks of the protection group level, and the failed tasks in a protection group.

+
+ + diff --git a/docs/sdrs/api-ref/sdrs_05_0901.html b/docs/sdrs/api-ref/sdrs_05_0901.html new file mode 100644 index 000000000..46a0172bb --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0901.html @@ -0,0 +1,379 @@ + + +

Querying Failed Tasks

+

Function

This API is used to query failed tasks of all protection groups or failed tasks in a specified protection group.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/task-center/failure-jobs

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+
  • Request filter field description +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    failure_status

    +

    No

    +

    String

    +

    Query the task failure status.

    +
    • createFail: indicates a creation failure.
    • deleteFail: indicates a deletion failure.
    • attachFail: indicates an attachment failure.
    • detachFail: indicates a detachment failure.
    • expandFail: indicates an expansion failure.
    • resizeFail: indicates a specification change failure.
    • startFail: indicates a protection enabling failure.
    • stopFail: indicates a protection disabling failure.
    • reverseFail: indicates a planned failover failure.
    • failoverFail: indicates a failover failure.
    • reprotectFail: indicates a re-protection enabling failure.
    +

    resource_name

    +

    No

    +

    String

    +

    Specifies the resource name of a protection group.

    +

    server_group_id

    +

    No

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +

    resource_type

    +

    No

    +

    String

    +

    Specifies the resource type.

    +
    • server_groups: indicates a protection group.
    • protected_instances: indicates a protected instance.
    • replications: indicates a replication pair.
    • disaster_recovery_drills: indicates a DR drill.
    +

    limit

    +

    No

    +

    Integer

    +

    Specifies the maximum number of results returned each time.

    +

    The value is a positive integer ranging from 0 to 1000, and is 1000 by default.

    +

    offset

    +

    No

    +

    Integer

    +

    Specifies the offset of each request. The default value is 0.

    +

    The value must be a number and cannot be negative.

    +
    +
    +
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/task-center/failure-jobs

    +

    GET https://{Endpoint}/v1/{project_id}/task-center/failure-jobs?server_group_id=XXXXX

    +
    • If you do not specify filter in the request, the system displays failed tasks of the protection group level, such as failed protection group creation or deletion tasks.
    • To query failed tasks in a protection group, specify server_group_id in filter.
    +
    +
+
+

Response

  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    failure_jobs

    +

    list

    +

    Specifies the list of the failed tasks.

    +

    For details, see Table 1.

    +

    count

    +

    Integer

    +

    Specifies the number of failed tasks in the list.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1 failure_jobs field description

    Parameter

    +

    Type

    +

    Description

    +

    job_status

    +

    String

    +

    Specifies the task status.

    +

    The value can be FAIL only in current version.

    +
    • FAIL: The task failed.
    +

    resource_id

    +

    String

    +

    Specifies the resource ID.

    +

    resource_name

    +

    String

    +

    Specifies the resource name.

    +

    resource_type

    +

    String

    +

    Specifies the resource type.

    +
    • server_groups: indicates a protection group.
    • protected_instances: indicates a protected instance.
    • replications: indicates a replication pair.
    • disaster_recovery_drills: indicates a DR drill.
    +

    failure_status

    +

    String

    +

    Specifies the failed task status.

    +
    • createFail: indicates a creation failure.
    • deleteFail: indicates a deletion failure.
    • attachFail: indicates an attachment failure.
    • detachFail: indicates a detachment failure.
    • expandFail: indicates an expansion failure.
    • resizeFail: indicates a specification change failure.
    • startFail: indicates a protection enabling failure.
    • stopFail: indicates a protection disabling failure.
    • reverseFail: indicates a planned failover failure.
    • failoverFail: indicates a failover failure.
    • reprotectFail: indicates a re-protection enabling failure.
    +

    job_id

    +

    String

    +

    Specifies the task ID.

    +

    This is a returned parameter when the asynchronous API command is issued successfully. For details about the task execution result, see the description in Querying the Job Status.

    +

    job_type

    +

    String

    +

    Specifies the task name.

    +

    begin_time

    +

    String

    +

    Specifies the task operation time.

    +

    The default format is as follows: "yyyy-MM-ddTHH:mm:ss.SSSZ", for example, 2019-04-01T12:00:00.000Z.

    +

    error_code

    +

    String

    +

    Specifies the error code for a failed task.

    +

    fail_reason

    +

    String

    +

    Specifies the task failure cause.

    +
    +
    +
+
  • Example response
    {
    +    "count": 2,
    +    "failure_jobs": [
    +        {
    +            "job_status": "FAIL",
    +            "resource_id": "17984002-ad8a-438b-8ba6-b850224634c5",
    +            "resource_name": "Protected-Instance-ab14",
    +            "resource_type": "protectedInstance",
    +            "failure_status": "createFail",
    +            "job_id": "ff808082686f229a0168707beaab014e",
    +            "job_type": "createProtectedInstance",
    +            "begin_time": "2019-01-21T12:56:35.754Z",
    +            "error_code": "EVS.2024",
    +            "fail_reason": "SdrsGenerateNativeServerParamsTask-fail:volume is error!"
    +        },
    +        {
    +            "job_status": "FAIL",
    +            "resource_id": "897f57b2-6e94-4179-b414-9532726c59f2",
    +            "resource_name": "Protected-Instance-5e2e",
    +            "resource_type": "protectedInstance",
    +            "failure_status": "createFail",
    +            "job_id": "ff808082686f229a0168707b9be9013e",
    +            "job_type": "createProtectedInstance",
    +            "begin_time": "2019-01-21T12:56:15.591Z",
    +            "error_code": "EVS.2024",
    +            "fail_reason": "SdrsGenerateNativeServerParamsTask-fail:volume is error!"
    +        }
    +    ]
    +}
    +
    Or
    {  
    +      "error": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.
    {  
    +      "badrequest": {  
    +          "message": "XXXX",   
    +          "code": "XXX"  
    +      }  
    +  }
    +
    +
+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0902.html b/docs/sdrs/api-ref/sdrs_05_0902.html new file mode 100644 index 000000000..a837a3436 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0902.html @@ -0,0 +1,147 @@ + + +

Deleting a Failed Task

+

Function

This API is used to delete a failed task.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    DELETE /v1/{project_id}/task-center/failure-jobs/{failure_job_id}

    +
  • Parameter description +
    + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Description

    +

    project_id

    +

    Yes

    +

    Specifies the project ID.

    +

    failure_job_id

    +

    Yes

    +

    Specifies the ID of a failed task.

    +

    For details, see Querying Failed Tasks.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/task-center/failure-jobs/897f57b2-6e94-4179-b414-9532726c59f2

    +
+
+

Response

None

+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0903.html b/docs/sdrs/api-ref/sdrs_05_0903.html new file mode 100644 index 000000000..5fa86a666 --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0903.html @@ -0,0 +1,141 @@ + + +

Deleting All Failed Tasks of All Protection Groups

+

Function

This API is used to delete all the failed tasks of the protection group level, such as failed protection group creation or deletion tasks.

+
+

URI

  • URI format

    DELETE /v1/{project_id}/task-center/failure-jobs/batch

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/task-center/failure-jobs/batch

    +
+
+

Response

None

+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_0904.html b/docs/sdrs/api-ref/sdrs_05_0904.html new file mode 100644 index 000000000..9159fc60a --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_0904.html @@ -0,0 +1,153 @@ + + +

Deleting All Failed Tasks of a Protection Group

+

Function

This API is used to delete failed tasks in a protection group, such as failed protected instance creation or deletion tasks, and failed replication pair creation and deletion tasks.

+
+

Constraints and Limitations

  • None
+
+

URI

  • URI format

    DELETE /v1/{project_id}/task-center/{server_group_id}/failure-jobs/batch

    +
  • Parameter description +
    + + + + + + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +

    server_group_id

    +

    Yes

    +

    String

    +

    Specifies the ID of a protection group.

    +

    For details, see Querying Protection Groups.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    DELETE https://{Endpoint}/v1/{project_id}/task-center/decf224d-87fe-403a-8721-037a1a45c287/failure-jobs/batch

    +
+
+

Response

None

+
+

Returned Value

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    204

    +

    No Content

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_1100.html b/docs/sdrs/api-ref/sdrs_05_1100.html new file mode 100644 index 000000000..575cd1bae --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_1100.html @@ -0,0 +1,16 @@ + + +

Tenant Quota Management

+

+
+
+ + + +
+ diff --git a/docs/sdrs/api-ref/sdrs_05_1101.html b/docs/sdrs/api-ref/sdrs_05_1101.html new file mode 100644 index 000000000..3bdfec86b --- /dev/null +++ b/docs/sdrs/api-ref/sdrs_05_1101.html @@ -0,0 +1,267 @@ + + +

Querying the Tenant Quota

+

Function

This API is used to query the tenant quota.

+
+

Constraints and Limitations

None

+
+

URI

  • URI format

    GET /v1/{project_id}/sdrs/quotas

    +
  • Parameter description +
    + + + + + + + + + + + +

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    project_id

    +

    Yes

    +

    String

    +

    Specifies the project ID.

    +
    +
    +
+
+

Request

  • Request parameters

    None

    +
  • Example request

    GET https://{Endpoint}/v1/{project_id}/sdrs/quotas

    +
+
+

Response

  • Parameter description +
    + + + + + + + + + +

    Parameter

    +

    Type

    +

    Description

    +

    quotas

    +

    Object

    +

    Specifies the tenant quota information.

    +

    For details, see Table 1.

    +
    +
    + +
    + + + + + + + + + +
    Table 1 quotas field description

    Parameter

    +

    Type

    +

    Description

    +

    resources

    +

    Array of objects

    +

    Lists the tenant's resource quota.

    +

    For details, see Table 2.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2 resources field description

    Parameter

    +

    Type

    +

    Description

    +

    type

    +

    String

    +

    Specifies the resource type. The value can be server_groups or replications.

    +
    • server_groups: indicates protection groups.
    • replications: indicates replication pairs.
    +

    used

    +

    Integer

    +

    Specifies the number of used resources.

    +

    quota

    +

    Integer

    +

    Specifies the resource quota.

    +

    If the value is –1, the resource is not limited.

    +

    min

    +

    Integer

    +

    Specifies the minimally allowed resource quota.

    +

    max

    +

    Integer

    +

    Specifies the maximally allowed resource quota.

    +

    If the value is –1, the resource is not limited.

    +
    +
    +
  • Example response
    {
    +    "quotas": {
    +        "resources": [
    +            {
    +                "type": "server_groups",
    +                "used": 10,
    +                "quota": 50,
    +                "min": 0,
    +                "max": -1
    +            },
    +            {
    +                "type": "replications",
    +                "used": 1,
    +                "quota": 100,
    +                "min": 0,
    +                "max": -1
    +            }
    +        ]
    +    }
    +}
    +

    Or

    +
    { 
    +     "error": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +

    In this example, error represents a general error, including badrequest (shown below) and itemNotFound.

    +
    { 
    +     "badrequest": { 
    +         "message": "XXXX",  
    +         "code": "XXX" 
    +     } 
    + }
    +
+
+

Returned Values

  • Normal +
    + + + + + + + +

    Returned Value

    +

    Description

    +

    200

    +

    The server has accepted the request.

    +
    +
    +
  • Abnormal +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Returned Value

    +

    Description

    +

    400 Bad Request

    +

    The server failed to process the request.

    +

    401 Unauthorized

    +

    You must enter a username and the password to access the requested page.

    +

    403 Forbidden

    +

    You are forbidden to access the requested page.

    +

    404 Not Found

    +

    The server could not find the requested page.

    +

    405 Method Not Allowed

    +

    You are not allowed to use the method specified in the request.

    +

    406 Not Acceptable

    +

    The response generated by the server could not be accepted by the client.

    +

    407 Proxy Authentication Required

    +

    You must use the proxy server for authentication so that the request can be processed.

    +

    408 Request Timeout

    +

    The request timed out.

    +

    409 Conflict

    +

    The request could not be processed due to a conflict.

    +

    500 Internal Server Error

    +

    Failed to complete the request because of a service error.

    +

    501 Not Implemented

    +

    Failed to complete the request because the server does not support the requested function.

    +

    502 Bad Gateway

    +

    Failed to complete the request because the server receives an invalid response from an upstream server.

    +

    503 Service Unavailable

    +

    Failed to complete the request because the system is unavailable.

    +

    504 Gateway Timeout

    +

    A gateway timeout error occurred.

    +
    +
    +
+
+
+
+ +
+