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 @@ + + +
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: + + |
+
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: +
Deleted the following content: +
|
+
2018-07-30 + |
+This issue is the first official release. + |
+
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. + |
+
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. + |
+
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. + |
+
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. + |
+
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. + |
+
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.
+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.
+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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
status + |
+String + |
+Specifies the job status. +
|
+
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. +
|
+
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. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query all available API versions of SDRS.
+None
+Parameter + |
+Type + |
+Description + |
+
|---|---|---|
versions + |
+Array of objects + |
+Specifies the API version list. +For details, see Table 1. + |
+
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. + |
+
{
+ "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 + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query a specified API version.
+None
+Parameter + |
+Type + |
+Description + |
+
|---|---|---|
version + |
+Object + |
+Specifies the version of an API. +For details, see Table 1. + |
+
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. + |
+
{
+ "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 + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+None
+Parameter + |
+Type + |
+Description + |
+
|---|---|---|
domains + |
+Array of objects + |
+Specifies the information about an active-active domain. +For details, see Table 1. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
server_group + |
+Yes + |
+Object + |
+Specifies the information about a protection group. +For details, see Table 1. + |
+
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. + |
+
{
+ "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",
+
+ }
+}
+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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query all protection groups of the current tenant.
+None
+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. +
|
+
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. + |
+
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. + |
+
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. +
|
+
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. +
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. +
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. +
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. +
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. +
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query the details about a protection group, such as the protection group ID and name.
+None
+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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
server_group + |
+Object + |
+Specifies the details of a protection group. +For details, see Table 1. + |
+
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. +
|
+
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. +
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. +
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. +
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. +
|
+
replication_model + |
+String + |
+Specifies the protection mode. + NOTE:
+This parameter is reserved. + |
+
server_type + |
+String + |
+Specifies the type of managed servers. +
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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 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.
+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. + |
+
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. + |
+
{
+"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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to change the name of a protection group.
+None
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
server_group + |
+Yes + |
+Object + |
+Specifies the information about a protection group. +For details, see Table 1. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
name + |
+Yes + |
+String + |
+Specifies the name of a protection group. +
|
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
server_group + |
+Object + |
+Specifies the details of a protection group. +For details, see Table 3. + |
+
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. +
|
+
replication_status + |
+String + |
+Specifies the data synchronization status. +
|
+
health_status + |
+String + |
+Specifies the health status of a protection group. +
|
+
priority_station + |
+String + |
+Specifies the current production site of a protection group. +
|
+
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. +
|
+
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. +
|
+
replication_model + |
+String + |
+Specifies the protection mode. + NOTE:
+This parameter is reserved. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to enable protection or enable protection again for a protection group.
+POST /v1/{project_id}/server-groups/{server_group_id}/action
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
start-server-group + |
+Yes + |
+Object + |
+Enables protection for a protection group. +This parameter is left empty. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to disable protection for a protection group.
+POST /v1/{project_id}/server-groups/{server_group_id}/action
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
stop-server-group + |
+Yes + |
+Object + |
+Disables protection for a protection group. +This parameter is left empty by default. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+After you have performed a planned failover, failover, or DR drill for the first time:
+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.
+ +- + |
+Production Site Server + |
+Disaster Recovery Site Server + |
+
|---|---|---|
Before + |
+Server A + |
+Server B + |
+
After + |
+Server B + |
+Server A + |
+
Detailed login constraints are described as follows:
+
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.
+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.
+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:
+If the login password of Server A is not changed before the operation, use this 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.
+POST /v1/{project_id}/server-groups/{server_group_id}/action
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
failover-server-group + |
+Yes + |
+Object + |
+Performs a failover for a protection group. +This parameter is left empty by default. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+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.
+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.
+
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.
+POST /v1/{project_id}/server-groups/{server_group_id}/action
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
reverse-server-group + |
+Yes + |
+Object + |
+Performs a planned failover for a protection group. +For details, see Table 1. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
priority_station + |
+Yes + |
+String + |
+Specifies the direction of the planned failover. +
|
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+
If the key pair of the production site server has been deleted, create a key pair with the same name.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
protected_instance + |
+Yes + |
+Object + |
+Specifies the information about a protected instance. +For details, see Table 1. + |
+
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:
+
|
+
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. + |
+
{
+ "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"
+ }
+ ]
+ }
+ }
+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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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-stopping, error-reversing, error-failing-over, error-deleting, error-reprotecting, error-resizing, invalid, or fault.
+DELETE /v1/{project_id}/protected-instances/{protected_instance_id}
+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. + |
+
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. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query all protected instances of the current tenant.
+None
+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. +
|
+
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. +
|
+
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. +
|
+
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. + |
+
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.
+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. + |
+
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. +
|
+
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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+String + |
+Specifies the ID of a replication pair. + |
+
device + |
+String + |
+Specifies the device name. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query the details about a protected instance, such as the protected instance ID and name.
+None
+GET /v1/{project_id}/protected-instances/{protected_instance_id}
+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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
protected_instance + |
+Object + |
+Specifies the details about a protected instance. +For details, see Table 1. + |
+
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. +
|
+
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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+String + |
+Specifies the ID of a replication pair. + |
+
device + |
+String + |
+Specifies the device name. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
key + |
+String + |
+Specifies the tag key. + |
+
value + |
+String + |
+Specifies the tag value. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
__system__frozen + |
+String + |
+Specifies whether the resource is frozen. +
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to change the name of a protected instance.
+None
+PUT /v1/{project_id}/protected-instances/{protected_instance_id}
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
protected_instance + |
+Yes + |
+Object + |
+Specifies the information about a protected instance. +For details, see Table 1. + |
+
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 (-). + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
protected_instance + |
+Object + |
+Specifies the details about a protected instance. +For details, see Table 2. + |
+
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. +
|
+
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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+String + |
+Specifies the ID of a replication pair. + |
+
device + |
+String + |
+Specifies the device name. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to attach the specified replication pair to the specified protected instance.
+POST /v1/{project_id}/protected-instances/{protected_instance_id}/attachreplication
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
replicationAttachment + |
+Yes + |
+Object + |
+Attaches a replication pair to a protected instance. +For details, see Table 1. + |
+
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:
+
|
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to detach a specified replication pair from a specified protected instance.
+
For details about how to detach a disk online, see in the Elastic Cloud Server User Guide.
+DELETE /v1/{project_id}/protected-instances/{protected_instance_id}/detachreplication/{replication_id}
+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. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to add an NIC to the specified protected instance.
+POST /v1/{project_id}/protected-instances/{protected_instance_id}/nic
+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. + |
+
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. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to delete an NIC from the specified protected instance.
+POST /v1/{project_id}/protected-instances/{protected_instance_id}/nic/delete
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
nic_id + |
+Yes + |
+String + |
+Specifies the port ID of the NIC. + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to modify the specifications of a server in a protected instance, including:
+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.
+POST /v1/{project_id}/protected-instances/{protected_instance_id}/resize
+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. + |
+
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. + |
+
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:
+
|
+
dr_flavorRef + |
+No + |
+String + |
+Specifies the flavor ID of the DR site server after the modification. + NOTE:
+
|
+
POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
+{
+ "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"
+ }
+ }
+
+{
+ "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"
+ }
+ }
+
+
+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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to create a replication pair and add it to the specified protection group.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
replication + |
+Yes + |
+Object + |
+Specifies the information about a replication pair. +For details, see Table 1. + |
+
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 (>). + |
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to delete a specified replication pair.
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
replication + |
+Yes + |
+Object + |
+Specifies the information about a replication pair. +For details, see Table 1. + |
+
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. + |
+
{
+ "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 + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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.
+None
+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. +
|
+
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. +
|
+
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. +
|
+
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. + |
+
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. + |
+
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. +
|
+
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. +
|
+
fault_level + |
+String + |
+Specifies the fault level of a replication pair. +
|
+
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. + |
+
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. + |
+
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.
+
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query the details about a replication pair.
+None
+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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+Object + |
+Specifies the information about a replication pair. +For details, see Table 1. + |
+
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. +
|
+
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. +
|
+
fault_level + |
+String + |
+Specifies the fault level of a replication pair. +
|
+
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. + |
+
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. + |
+
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.
+
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to expand the capacity of the two disks in a replication pair.
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
extend-replication + |
+Yes + |
+Object + |
+Expands disk capacity. +For details, see Table 1. + |
+
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. + |
+
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. + |
+
{
+ "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 + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to change the name of a replication pair.
+None
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
replication + |
+Yes + |
+Object + |
+Specifies the information about a replication pair. +For details, see Table 1. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
name + |
+Yes + |
+String + |
+Specifies the name of a replication pair. +
|
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+Object + |
+Specifies the information about a replication pair. +For details, see Table 2. + |
+
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. +
|
+
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. +
|
+
fault_level + |
+String + |
+Specifies the fault level of a replication pair. +
|
+
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. + |
+
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. + |
+
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.
+
|
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to create a disaster recovery (DR) drill.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
project_id + |
+Yes + |
+String + |
+Specifies the project ID. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
disaster_recovery_drill + |
+Yes + |
+Object + |
+Specifies the information about a DR drill. +For details, see Table 1. + |
+
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 (-). + |
+
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. + |
+
{
+ "job_id": "0000000011db92d36662db9d20df32ch"
+ }
+{
+ "error": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+{
+ "badrequest": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to delete a specified DR drill. After you delete the specified DR drill:
+The status of the DR drill must be available, error, or error-deleting.
+DELETE /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}
+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. + |
+
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. + |
+
{
+ "job_id": "0000000011db92d34587db9d20df32ch"
+ }
+{
+ "error": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+{
+ "badrequest": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
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
+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. + |
+
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. + |
+
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. + |
+
{
+ "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": []
+ }
+ ]
+}
+{
+ "error": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+{
+ "badrequest": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query the details about a DR drill.
+None
+GET /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}
+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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
disaster_recovery_drill + |
+Object + |
+Specifies the information about a DR drill. +For details, see Table 1. + |
+
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. + |
+
{
+ "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"
+ }
+ ]
+ }
+ }
+{
+ "error": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+{
+ "badrequest": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to update a DR drill name.
+None
+PUT /v1/{project_id}/disaster-recovery-drills/{disaster_recovery_drill_id}
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
disaster_recovery_drill + |
+Yes + |
+Object + |
+Specifies the information about a DR drill. +For details, see Table 1. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
name + |
+Yes + |
+String + |
+Specifies the DR drill name. +
|
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
disaster_recovery_drill + |
+Object + |
+Specifies the information about a DR drill. +For details, see Table 2. + |
+
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. + |
+
{
+ "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 + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to query protected instances by tag.
+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. + |
+
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. + |
+
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. + |
+
{
+ "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"
+ ]
+ }
+ ]
+}
+{
+ "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"
+ }
+ ]
+}
+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. + |
+
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. + |
+
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. +
|
+
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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
replication + |
+String + |
+Specifies the ID of a replication pair. + |
+
device + |
+String + |
+Specifies the device name. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
key + |
+String + |
+Specifies the tag key. + |
+
value + |
+String + |
+Specifies the tag value. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
__system__frozen + |
+String + |
+Specifies whether the resource is frozen. +
|
+
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
+}
+{
+ "total_count": 1000
+}
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+OK + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
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.
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
action + |
+Yes + |
+String + |
+Identifies the operation. The value can be create or delete. +
|
+
tags + |
+Yes + |
+Array of objects + |
+Specifies the tag list. +For details, see Table 1. + |
+
Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
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.
+POST /v1/{project_id}/protected-instances/{protected_instance_id}/tags
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tag + |
+Yes + |
+Object + |
+Specifies the tag to be added. +For details, see Table 1. + |
+
Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
This API is idempotent.
+
Select a desired tool for URI encoding.
+DELETE /v1/{project_id}/protected-instances/{protected_instance_id}/tags/{key}
+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. + |
+
Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
This API is used to query tags of a specified protected instance.
+GET /v1/{project_id}/protected-instances/{protected_instance_id}/tags
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+Yes + |
+Array of objects + |
+Specifies the tag list. +For details, see Table 1. + |
+
{
+ "tags": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value3"
+ }
+ ]
+}
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+OK + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
This API is used to query all resource tags of a protected instance in a specified project.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+Yes + |
+Array of objects + |
+Specifies the tag list. +For details, see Table 1. + |
+
{
+ "tags": [
+ {
+ "key": "key1",
+ "values": [
+ "value1",
+ "value2"
+ ]
+ },
+ {
+ "key": "key2",
+ "values": [
+ "value1",
+ "value2"
+ ]
+ }
+ ]
+}
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+OK + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
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.
+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. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
action + |
+Yes + |
+String + |
+Identifies the operation. The value can be create or delete. +
|
+
tags + |
+Yes + |
+Array of objects + |
+Specifies the tag list. +For details, see Table 1. + |
+
Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
Returned Value + |
+Description + |
+
|---|---|
400 + |
+Invalid parameters. + |
+
401 + |
+Authentication failed. + |
+
403 + |
+Insufficient permission. + |
+
404 + |
+The requested resource was not found. + |
+
500 + |
+Internal service error. + |
+
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.
+This API is used to query failed tasks of all protection groups or failed tasks in a specified protection group.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
failure_status + |
+No + |
+String + |
+Query the task failure status. +
|
+
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. +
|
+
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. + |
+
GET https://{Endpoint}/v1/{project_id}/task-center/failure-jobs
+GET https://{Endpoint}/v1/{project_id}/task-center/failure-jobs?server_group_id=XXXXX
+
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. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
job_status + |
+String + |
+Specifies the task status. +The value can be FAIL only in current version. +
|
+
resource_id + |
+String + |
+Specifies the resource ID. + |
+
resource_name + |
+String + |
+Specifies the resource name. + |
+
resource_type + |
+String + |
+Specifies the resource type. +
|
+
failure_status + |
+String + |
+Specifies the failed task status. +
|
+
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. + |
+
{
+ "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!"
+ }
+ ]
+}
+{
+ "error": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+{
+ "badrequest": {
+ "message": "XXXX",
+ "code": "XXX"
+ }
+ }
+Returned Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+
This API is used to delete a failed task.
+None
+DELETE /v1/{project_id}/task-center/failure-jobs/{failure_job_id}
+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. + |
+
None
+Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
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. + |
+
This API is used to delete all the failed tasks of the protection group level, such as failed protection group creation or deletion tasks.
+None
+Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
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. + |
+
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.
+DELETE /v1/{project_id}/task-center/{server_group_id}/failure-jobs/batch
+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. + |
+
None
+Returned Value + |
+Description + |
+
|---|---|
204 + |
+No Content + |
+
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. + |
+
This API is used to query the tenant quota.
+None
+Parameter + |
+Type + |
+Description + |
+
|---|---|---|
quotas + |
+Object + |
+Specifies the tenant quota information. +For details, see Table 1. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
resources + |
+Array of objects + |
+Lists the tenant's resource quota. +For details, see Table 2. + |
+
Parameter + |
+Type + |
+Description + |
+
|---|---|---|
type + |
+String + |
+Specifies the resource type. The value can be server_groups or replications. +
|
+
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. + |
+
{
+ "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 Value + |
+Description + |
+
|---|---|
200 + |
+The server has accepted the request. + |
+
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. + |
+