diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/hdr | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/hdr')
| -rw-r--r-- | data/en_us/hdr/2017-09-25/api-docs.php | 7153 |
1 files changed, 2958 insertions, 4195 deletions
diff --git a/data/en_us/hdr/2017-09-25/api-docs.php b/data/en_us/hdr/2017-09-25/api-docs.php index c38a74d..16b3fdc 100644 --- a/data/en_us/hdr/2017-09-25/api-docs.php +++ b/data/en_us/hdr/2017-09-25/api-docs.php @@ -1,232 +1,155 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'hdr', - 'version' => '2017-09-25', - ], + 'info' => ['style' => 'RPC', 'product' => 'hdr', 'version' => '2017-09-25'], 'directories' => [ [ - 'id' => 151406, - 'title' => null, + 'children' => ['RegisterServers', 'UnregisterServer', 'DescribeServer', 'DescribeServers'], 'type' => 'directory', - 'children' => [ - 'RegisterServers', - 'UnregisterServer', - 'DescribeServer', - 'DescribeServers', - ], + 'title' => 'Server management', ], [ - 'id' => 151411, - 'title' => null, + 'children' => ['DescribeSitePairs', 'DescribeSite', 'DeleteSitePair', 'CreateSitePair', 'DescribeSitePair'], 'type' => 'directory', - 'children' => [ - 'DescribeSitePairs', - 'DescribeSite', - 'DeleteSitePair', - 'CreateSitePair', - 'DescribeSitePair', - ], + 'title' => 'Site pair management', ], [ - 'id' => 151417, - 'title' => null, + 'children' => ['EnableReplication', 'DisableReplication', 'TestFailover', 'TestCleanup', 'DescribeRecoveryPoints', 'ChangeRecoveryPoint', 'CommitFailover', 'ForcedFailover'], 'type' => 'directory', - 'children' => [ - 'EnableReplication', - 'DisableReplication', - 'TestFailover', - 'TestCleanup', - 'DescribeRecoveryPoints', - 'ChangeRecoveryPoint', - 'CommitFailover', - 'ForcedFailover', - ], + 'title' => 'Failover', ], [ - 'id' => 151426, - 'title' => null, + 'children' => ['TriggerReversedRegister', 'DescribeInfrastructures', 'ReversedEnableReplication', 'ReversedDisableReplication', 'Failback'], 'type' => 'directory', - 'children' => [ - 'TriggerReversedRegister', - 'DescribeInfrastructures', - 'ReversedEnableReplication', - 'ReversedDisableReplication', - 'Failback', - ], + 'title' => 'Failback', ], [ - 'id' => 180810, - 'title' => null, + 'children' => ['CreateRecoveryPlan', 'DeleteRecoveryPlan', 'DescribeRecoveryPlan', 'DescribeRecoveryPlans', 'UpdateRecoveryPlan'], 'type' => 'directory', - 'children' => [ - 'CreateRecoveryPlan', - 'DeleteRecoveryPlan', - 'DescribeRecoveryPlan', - 'DescribeRecoveryPlans', - 'UpdateRecoveryPlan', - ], + 'title' => 'Recovery plan', ], [ - 'id' => 151432, - 'title' => null, + 'children' => ['DescribeAvailableInstanceTypes', 'DescribeTask', 'DescribeTasks'], 'type' => 'directory', - 'children' => [ - 'DescribeAvailableInstanceTypes', - 'DescribeTasks', - 'DescribeTask', - ], + 'title' => 'Others', ], [ - 'id' => 193000, - 'title' => null, + 'children' => ['DescribeSitePairStatistics', 'DescribeSummary'], 'type' => 'directory', - 'children' => [ - 'DescribeSitePairStatistics', - 'DescribeSummary', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'RegisterServers' => [ - 'summary' => '注册保护实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ChangeRecoveryPoint' => [ + 'summary' => 'Changes a recovery point.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'SitePairId', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'title' => '站点对ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-000cm9ax8sgzwujrzdwt', - ], + 'schema' => ['description' => 'ID of the protected server', 'type' => 'string', 'required' => false, 'example' => 'sr-000bak4sdet6gv8q0c2j', 'title' => ''], ], [ - 'name' => 'ServerInstancesInfo', + 'name' => 'RecoveryInstanceName', 'in' => 'query', - 'schema' => [ - 'title' => '注册服务器信息', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '"[{\\"instanceId\\":\\"i-uf60ngpe9sseu5gsgu45\\",\\"privateIpAddress\\":\\"192.168.1.198\\",\\"osType\\":\\"linux\\",\\"osName\\":\\"CentOS 7.8 64位\\",\\"cpu\\":2,\\"memory\\":4294967296,\\"hostName\\":\\"hdr-test\\"}]"', - ], + 'schema' => ['description' => 'Name of the recovered instance', 'type' => 'string', 'required' => false, 'example' => 'HDR_Recovery-sr-000c9550g8gycc8oi4fb-cpr', 'title' => ''], ], [ - 'name' => 'AgentPort', + 'name' => 'RecoveryCpu', 'in' => 'query', - 'schema' => [ - 'title' => '代理服务端口,默认9080', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '9080', - 'default' => '9080', - ], + 'schema' => ['description' => 'Number of vCPUs for the recovered instance', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D76E741C-68B7-5281-8C5B-698AD06B0D89', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0001nlbcl4bynbb67x4w', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], + [ + 'name' => 'RecoveryMemory', + 'in' => 'query', + 'schema' => ['description' => 'Memory size (bytes) for the recovered instance', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4294967296', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"D76E741C-68B7-5281-8C5B-698AD06B0D89\\",\\n \\"TaskId\\": \\"t-0001nlbcl4bynbb67x4w\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'UnregisterServer' => [ - 'summary' => '注销保护实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'RecoveryInstanceType', + 'in' => 'query', + 'schema' => ['description' => 'Instance type of the recovered instance', 'type' => 'string', 'required' => false, 'example' => 'ecs.r6.3xlarge', 'title' => ''], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', + [ + 'name' => 'RecoveryUseSsd', + 'in' => 'query', + 'schema' => ['description' => 'Whether the recovered instance uses SSD storage', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'RecoveryUseEssd', + 'in' => 'query', + 'schema' => ['description' => 'Whether the recovered instance uses ESSD storage', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RecoveryNetwork', + 'in' => 'query', + 'schema' => ['description' => 'VSwitch ID for the recovered instance', 'type' => 'string', 'required' => false, 'example' => 'vsw-uf61v3bg6r790ir22jqv4', 'title' => ''], + ], + [ + 'name' => 'RecoveryReserveIp', + 'in' => 'query', + 'schema' => ['description' => 'Whether the recovered instance retains the source server\'s IP address', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RecoveryUseDhcp', + 'in' => 'query', + 'schema' => ['description' => 'Whether the recovered instance uses DHCP to assign an IP address', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'RecoveryIpAddress', + 'in' => 'query', + 'schema' => ['description' => 'Manually specified IP address for the recovered instance', 'type' => 'string', 'required' => false, 'example' => '192.168.2.2', 'title' => ''], + ], + [ + 'name' => 'RecoveryPostScriptType', + 'in' => 'query', + 'schema' => ['description' => 'Type of script to run after the recovered instance starts', 'type' => 'string', 'required' => false, 'example' => 'SHELL', 'title' => ''], + ], + [ + 'name' => 'RecoveryPostScriptContent', + 'in' => 'query', + 'schema' => ['description' => 'Content of the script to run after the recovered instance starts', 'type' => 'string', 'required' => false, 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', 'title' => ''], + ], + [ + 'name' => 'RecoveryPointId', + 'in' => 'query', + 'schema' => ['description' => 'ID of the recovery point', 'type' => 'string', 'required' => false, 'example' => 'rp-0001625ljmig7ahibe0y', 'title' => ''], + ], + [ + 'name' => 'RecoveryPointTime', + 'in' => 'query', + 'schema' => ['description' => 'Timestamp of the recovery point', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1637002799', 'title' => ''], + ], + [ + 'name' => 'EipAddressId', + 'in' => 'query', + 'schema' => ['description' => 'Elastic Network Interface (ENI) ID attached to the recovered instance', 'type' => 'string', 'required' => false, 'example' => 'eip-2zelae2qye2ztjfj82f9z', 'title' => ''], + ], + [ + 'name' => 'RecoveryEssdPerformanceLevel', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'Performance level (PL) of the ESSD disk. Valid PL levels depend on the minimum disk size.', 'type' => 'string', - 'required' => true, - 'example' => 'sr-000jf20efavec47ucq5g', + 'default' => 'PL1', + 'enum' => ['PL0', 'PL1', 'PL2', 'PL3'], + 'required' => false, + 'example' => 'PL1', + 'title' => '', ], ], ], @@ -235,70 +158,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D2E81EC9-B206-54EA-BBCF-9D4D6AFE7AA8', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'BBCC4082-98DF-5804-96C6-0E74C37C5867', 'title' => ''], + 'TaskId' => ['description' => 'Task ID', 'type' => 'string', 'example' => 't-0007wl5r0hvxrj68rrbg', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"D2E81EC9-B206-54EA-BBCF-9D4D6AFE7AA8\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DescribeServer' => [ - 'summary' => '查询保护实例信息', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"BBCC4082-98DF-5804-96C6-0E74C37C5867\\",\\n \\"TaskId\\": \\"t-0007wl5r0hvxrj68rrbg\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Change the recovery point', + 'changeSet' => [ + ['createdAt' => '2024-01-09T05:42:17.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-09T06:59:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ChangeRecoveryPoint', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ChangeRecoveryPoint'], + ], ], + ], + 'CommitFailover' => [ + 'summary' => 'Confirm the failover.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-0005qxusucbiga738e9s', - ], + 'schema' => ['description' => 'The ID of the protected server.', 'type' => 'string', 'required' => false, 'example' => 'sr-000bzkmmlwghq3soqry2', 'title' => ''], ], ], 'responses' => [ @@ -306,395 +224,134 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PrimarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0001jntih0phb0i2w1ya', - ], - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-0005qxusucbiip0g6t93', - ], - 'RecoveryUseDhcp' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'BBCC4082-98DF-5804-96C6-0E74C37C5867', - ], - 'RecoveryMemory' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4294967296', - ], - 'SourceGatewayVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'IncrementalSyncStartTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'CrashConsistentPointPolicy' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{\\"scheduleType\\":\\"CRON\\",\\"expression\\":\\"0 0 */1 * * 0,1,2,3,4,5,6\\",\\"initialDelay\\":0}', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'RecoveryPostScriptContent' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', - ], - 'TestRecoveredInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp13zgzv13am2n2z92lb', - ], - 'ReplicationNetwork' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', - ], - 'RecoveryUseEssd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TargetGatewayVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp13zgzv13am2n2z92lb', - ], - 'OsType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'linux', - ], - 'FullSyncStartTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ReplicationUseSsd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Rpo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '45', - ], - 'Consistent' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'FullSyncTotalSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '365072220160', - ], - 'RecoveredIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'Alias' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'bsdewmpci_rz', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'replicating', - ], - 'TestFailoverStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'testFailovered', - ], - 'ReplicationUseEssd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'OsDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CentOS;7.9.2009', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'TestRecoveredIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'SecondarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-000imvpcegvbh6i5kd2u', - ], - 'FullSyncProgress' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '17', - ], - 'RecoveryInstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.c5.2xlarge', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '30.42.105.6', - ], - 'RecoveryInstanceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HDR_Recovery-sr-000bzkmmlwghq3soqry2', - ], - 'OriginalInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp19axn91irnsi9204xg', - ], - 'RecoveredInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp19axn91irnsi9204xg', - ], - 'RecoveryReserveIp' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Memory' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8589934591', - ], - 'RecoveryIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'RecoveryNetwork' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-uf61v3bg6r790ir22jqv4', - ], - 'Errno' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cdr.console.plugin.failed_to_connect', - ], - 'ReplicationUseOriginalInstance' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Hostname' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'iZ2ze0jazgwtuxettbk1ywZ', - ], - 'RecoveryCpu' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'AgentPort' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9080', - ], - 'ReplicationUseDhcp' => [ - 'description' => '-', - 'type' => 'boolean', - 'example' => '-', - ], - 'TestRecoveredInstanceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', - ], - 'AgentVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'FullSyncCurrentSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3285276688384', - ], - 'ReplicationInfrastructureType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'aliyun', - ], - 'Cpu' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'RecoveryPostScriptType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SHELL', - ], - 'ReplicationInfrastructureId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'is-000bzkmmlwgibbduuoff', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'Operations' => [ - 'description' => '', - 'type' => 'string', - 'example' => '"{\\"Resynchronize\\":true,\\"TestFailover\\":true,\\"TestCleanup\\":true,\\"ChangeRecoveryPoint\\":true,\\"UnregisterServer\\":true,\\"ReversedEnableReplication\\":true,\\"ReversedDisableReplication\\":true,\\"DisableReplication\\":true,\\"CommitFailover\\":true,\\"RestartServer\\":true,\\"UpgradeServer\\":true,\\"ForcedFailover\\":true,\\"RepairReplication\\":true,\\"EnableReplication\\":true,\\"TriggerReversedRegister\\":true,\\"SetupAgent\\":true,\\"TriggerRegister\\":true,\\"CollectSupportBundle\\":true,\\"Failback\\":true}"', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0004ka624vrza82g46ne', - ], - 'RecoveryUseSsd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Disks' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[{\\"id\\":\\"0\\",\\"boot\\":true,\\"size\\":500363689984}]', - ], - 'RecoveryEssdPerformanceLevel' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PL1', - ], - 'LatestRecoveryPointTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '18603D03-FEA4-5FA8-878F-B03F11578F5F', 'title' => ''], + 'TaskId' => ['description' => 'Task ID.', 'type' => 'string', 'example' => 't-0007wl5r0hvxrj68rrbg', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\",\\n \\"ServerId\\": \\"sr-0005qxusucbiip0g6t93\\",\\n \\"RecoveryUseDhcp\\": false,\\n \\"RequestId\\": \\"BBCC4082-98DF-5804-96C6-0E74C37C5867\\",\\n \\"RecoveryMemory\\": 4294967296,\\n \\"SourceGatewayVersion\\": \\"3.7.3\\",\\n \\"IncrementalSyncStartTime\\": 0,\\n \\"CrashConsistentPointPolicy\\": \\"{\\\\\\\\\\\\\\"scheduleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CRON\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"expression\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0 0 */1 * * 0,1,2,3,4,5,6\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"initialDelay\\\\\\\\\\\\\\":0}\\",\\n \\"Success\\": true,\\n \\"RecoveryPostScriptContent\\": \\"echo \\\\\\\\\\\\\\"127.0.0.1 kubernetes.docker.internal\\\\\\\\\\\\\\" >> /etc/hosts\\",\\n \\"TestRecoveredInstanceId\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"ReplicationNetwork\\": \\"vsw-bp1g0s2u3b2kbn46kiy53\\",\\n \\"RecoveryUseEssd\\": false,\\n \\"TargetGatewayVersion\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"OsType\\": \\"linux\\",\\n \\"FullSyncStartTime\\": 0,\\n \\"ReplicationUseSsd\\": false,\\n \\"Rpo\\": 45,\\n \\"Consistent\\": false,\\n \\"FullSyncTotalSize\\": 365072220160,\\n \\"RecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"Alias\\": \\"bsdewmpci_rz\\",\\n \\"Status\\": \\"replicating\\",\\n \\"TestFailoverStatus\\": \\"testFailovered\\",\\n \\"ReplicationUseEssd\\": false,\\n \\"OsDetail\\": \\"CentOS;7.9.2009\\",\\n \\"Message\\": \\"successful\\",\\n \\"TestRecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"SecondarySiteId\\": \\"si-000imvpcegvbh6i5kd2u\\",\\n \\"FullSyncProgress\\": 17,\\n \\"RecoveryInstanceType\\": \\"ecs.c5.2xlarge\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"RecoveryInstanceName\\": \\"HDR_Recovery-sr-000bzkmmlwghq3soqry2\\",\\n \\"OriginalInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveredInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveryReserveIp\\": false,\\n \\"Code\\": \\"200\\",\\n \\"Memory\\": 8589934591,\\n \\"RecoveryIpAddress\\": \\"192.168.2.2\\",\\n \\"RecoveryNetwork\\": \\"vsw-uf61v3bg6r790ir22jqv4\\",\\n \\"Errno\\": \\"cdr.console.plugin.failed_to_connect\\",\\n \\"ReplicationUseOriginalInstance\\": false,\\n \\"Hostname\\": \\"iZ2ze0jazgwtuxettbk1ywZ\\",\\n \\"RecoveryCpu\\": 4,\\n \\"AgentPort\\": 9080,\\n \\"ReplicationUseDhcp\\": false,\\n \\"TestRecoveredInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"FullSyncCurrentSize\\": 3285276688384,\\n \\"ReplicationInfrastructureType\\": \\"aliyun\\",\\n \\"Cpu\\": 4,\\n \\"RecoveryPostScriptType\\": \\"SHELL\\",\\n \\"ReplicationInfrastructureId\\": \\"is-000bzkmmlwgibbduuoff\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"Operations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"Resynchronize\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestCleanup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ChangeRecoveryPoint\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UnregisterServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedEnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedDisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"DisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CommitFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RestartServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UpgradeServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ForcedFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RepairReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"EnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerReversedRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"SetupAgent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CollectSupportBundle\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"Failback\\\\\\\\\\\\\\":true}\\\\\\"\\",\\n \\"TaskId\\": \\"t-0004ka624vrza82g46ne\\",\\n \\"RecoveryUseSsd\\": false,\\n \\"Disks\\": \\"[{\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boot\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":500363689984}]\\",\\n \\"RecoveryEssdPerformanceLevel\\": \\"PL1\\",\\n \\"LatestRecoveryPointTime\\": \\"1661419052\\"\\n}","type":"json"}]', - ], - 'DescribeServers' => [ - 'summary' => '查询受保护服务器列表', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"18603D03-FEA4-5FA8-878F-B03F11578F5F\\",\\n \\"TaskId\\": \\"t-0007wl5r0hvxrj68rrbg\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Confirm failover', + 'changeSet' => [ + ['createdAt' => '2024-01-09T05:42:18.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:CommitFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CommitFailover'], + ], ], + ], + 'CreateRecoveryPlan' => [ + 'summary' => 'Creates a recovery plan.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-0007rvzart0u501t4e5r', - ], + 'schema' => ['description' => 'The site pair ID.', 'type' => 'string', 'required' => false, 'example' => 's-xxxxxxxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'ServerIds', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '"[\\"sr-0005qxusucbi38lqfc2q\\",\\"sr-0005qxusucbi38lqfc2r\\"]"', - ], + 'schema' => ['description' => 'The recovery plan name.', 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Direction', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The direction of the recovery plan. Supports **forward**.', 'type' => 'string', 'required' => false, 'example' => 'forward', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Content', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The recovery plan details.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "groups": ['."\n" + .' {'."\n" + .' "name": "Group-1",'."\n" + .' "id": "Group-1",'."\n" + .' "servers": ['."\n" + .' {'."\n" + .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "testFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "testCleanupAction": {},'."\n" + .' "changeRecoveryPointAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "forcedFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .'}', 'title' => ''], ], ], 'responses' => [ @@ -702,427 +359,120 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D2B255D3-9736-5169-B488-C735A8BBCD79', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Servers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'server' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RecoveredInstanceName' => [ - 'description' => '-', - 'type' => 'string', - 'example' => '-', - ], - 'PrimarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-000cm9ax8sgplgye2vc4', - ], - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000cm9ax8sh2381wa7kv', - ], - 'RecoveryUseDhcp' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RecoveryMemory' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8589934592', - ], - 'SourceGatewayVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'IncrementalSyncStartTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1646049677', - ], - 'CrashConsistentPointPolicy' => [ - 'description' => '', - 'type' => 'string', - 'example' => '"{\\"scheduleType\\":\\"CRON\\",\\"expression\\":\\"0 0 */1 * * 0,1,2,3,4,5,6\\",\\"initialDelay\\":0}"', - ], - 'RecoveryPostScriptContent' => [ - 'description' => '', - 'type' => 'string', - 'example' => '"echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts"', - ], - 'TestRecoveredInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp13zgzv13am2n2z92lb', - ], - 'ReplicationNetwork' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-2zey7xe0m8dbqrks2jb9h', - ], - 'RecoveryUseEssd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TargetGatewayVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'OsType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'linux', - ], - 'FullSyncStartTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ReplicationUseSsd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Rpo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Consistent' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FullSyncTotalSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '150202220544', - ], - 'RecoveredIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'Alias' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test-ecs', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'replicating', - ], - 'TestFailoverStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'testFailovered', - ], - 'ReplicationUseEssd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'OsDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CentOS;7.9.2009', - ], - 'TestRecoveredIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'SecondarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0007o5em8n6mhm8hee1l', - ], - 'FullSyncProgress' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RecoveryInstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.r6.3xlarge', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '30.42.105.6', - ], - 'RecoveryInstanceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', - ], - 'OriginalInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp19axn91irnsi9204xg', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp19axn91irnsi9204xg', - ], - 'RecoveredInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp19axn91irnsi9204xg', - ], - 'RecoveryReserveIp' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4294967295', - ], - 'RecoveryIpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.2.2', - ], - 'RecoveryNetwork' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-uf63qu8ocjcly44tai570', - ], - 'Errno' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cdr.console.plugin.alicloud.agent_deploy_already_installed', - ], - 'ReplicationUseOriginalInstance' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Hostname' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'RecoveryCpu' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'AgentPort' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9080', - ], - 'ReplicationUseDhcp' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TestRecoveredInstanceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', - ], - 'AgentVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'FullSyncCurrentSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1603469836288', - ], - 'ReplicationInfrastructureType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'aliyun', - ], - 'Cpu' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'RecoveryPostScriptType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SHELL', - ], - 'ReplicationInfrastructureId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'is-0004ka624vrxd9xsvs4f', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'Operations' => [ - 'description' => '', - 'type' => 'string', - 'example' => '"{\\"Resynchronize\\":true,\\"TestFailover\\":true,\\"TestCleanup\\":true,\\"ChangeRecoveryPoint\\":true,\\"UnregisterServer\\":true,\\"ReversedEnableReplication\\":true,\\"ReversedDisableReplication\\":true,\\"DisableReplication\\":true,\\"CommitFailover\\":true,\\"RestartServer\\":true,\\"UpgradeServer\\":true,\\"ForcedFailover\\":true,\\"RepairReplication\\":true,\\"EnableReplication\\":true,\\"TriggerReversedRegister\\":true,\\"SetupAgent\\":true,\\"TriggerRegister\\":true,\\"CollectSupportBundle\\":true,\\"Failback\\":true}"', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0007rvzart0v31c0x93q', - ], - 'RecoveryUseSsd' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Disks' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[{\\"id\\":\\"0\\",\\"boot\\":true,\\"size\\":500363689984}]', - ], - 'RecoveryEssdPerformanceLevel' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PL3', - ], - 'LatestRecoveryPointTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FEC3D491-15BB-5C8F-902E-773794FF1B29', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 't-00055g8sxr0ys0g99n83', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D2B255D3-9736-5169-B488-C735A8BBCD79\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 2,\\n \\"TotalCount\\": 10,\\n \\"Servers\\": {\\n \\"server\\": [\\n {\\n \\"RecoveredInstanceName\\": \\"recovered_server\\",\\n \\"PrimarySiteId\\": \\"si-000cm9ax8sgplgye2vc4\\",\\n \\"ServerId\\": \\"sr-000cm9ax8sh2381wa7kv\\",\\n \\"RecoveryUseDhcp\\": true,\\n \\"RecoveryMemory\\": 8589934592,\\n \\"SourceGatewayVersion\\": \\"3.7.3\\",\\n \\"IncrementalSyncStartTime\\": 1646049677,\\n \\"CrashConsistentPointPolicy\\": \\"\\\\\\"{\\\\\\\\\\\\\\"scheduleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CRON\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"expression\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0 0 */1 * * 0,1,2,3,4,5,6\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"initialDelay\\\\\\\\\\\\\\":0}\\\\\\"\\",\\n \\"RecoveryPostScriptContent\\": \\"\\\\\\"echo \\\\\\\\\\\\\\"127.0.0.1 kubernetes.docker.internal\\\\\\\\\\\\\\" >> /etc/hosts\\\\\\"\\",\\n \\"TestRecoveredInstanceId\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"ReplicationNetwork\\": \\"vsw-2zey7xe0m8dbqrks2jb9h\\",\\n \\"RecoveryUseEssd\\": false,\\n \\"TargetGatewayVersion\\": \\"3.7.3\\",\\n \\"OsType\\": \\"linux\\",\\n \\"FullSyncStartTime\\": 0,\\n \\"ReplicationUseSsd\\": true,\\n \\"Rpo\\": 30,\\n \\"Consistent\\": true,\\n \\"FullSyncTotalSize\\": 150202220544,\\n \\"RecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"Alias\\": \\"test-ecs\\",\\n \\"Status\\": \\"replicating\\",\\n \\"TestFailoverStatus\\": \\"testFailovered\\",\\n \\"ReplicationUseEssd\\": false,\\n \\"OsDetail\\": \\"CentOS;7.9.2009\\",\\n \\"TestRecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"SecondarySiteId\\": \\"si-0007o5em8n6mhm8hee1l\\",\\n \\"FullSyncProgress\\": 0,\\n \\"RecoveryInstanceType\\": \\"ecs.r6.3xlarge\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"RecoveryInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"OriginalInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"InstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveredInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveryReserveIp\\": true,\\n \\"Memory\\": 4294967295,\\n \\"RecoveryIpAddress\\": \\"192.168.2.2\\",\\n \\"RecoveryNetwork\\": \\"vsw-uf63qu8ocjcly44tai570\\",\\n \\"Errno\\": \\"cdr.console.plugin.alicloud.agent_deploy_already_installed\\",\\n \\"ReplicationUseOriginalInstance\\": false,\\n \\"Hostname\\": \\"test\\",\\n \\"RecoveryCpu\\": 4,\\n \\"AgentPort\\": 9080,\\n \\"ReplicationUseDhcp\\": false,\\n \\"TestRecoveredInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"FullSyncCurrentSize\\": 1603469836288,\\n \\"ReplicationInfrastructureType\\": \\"aliyun\\",\\n \\"Cpu\\": 4,\\n \\"RecoveryPostScriptType\\": \\"SHELL\\",\\n \\"ReplicationInfrastructureId\\": \\"is-0004ka624vrxd9xsvs4f\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"Operations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"Resynchronize\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestCleanup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ChangeRecoveryPoint\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UnregisterServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedEnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedDisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"DisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CommitFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RestartServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UpgradeServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ForcedFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RepairReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"EnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerReversedRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"SetupAgent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CollectSupportBundle\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"Failback\\\\\\\\\\\\\\":true}\\\\\\"\\",\\n \\"TaskId\\": \\"t-0007rvzart0v31c0x93q\\",\\n \\"RecoveryUseSsd\\": true,\\n \\"Disks\\": \\"[{\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boot\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":500363689984}]\\",\\n \\"RecoveryEssdPerformanceLevel\\": \\"PL3\\",\\n \\"LatestRecoveryPointTime\\": 1661419052\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'DescribeSitePairs' => [ - 'summary' => '查询站点对列表', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"FEC3D491-15BB-5C8F-902E-773794FF1B29\\",\\n \\"TaskId\\": \\"t-00055g8sxr0ys0g99n83\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Create a recovery plan', + 'changeSet' => [ + ['createdAt' => '2024-01-09T05:42:17.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'hdr:CreateRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CreateRecoveryPlan'], + ], ], + ], + 'CreateSitePair' => [ + 'summary' => 'Creates a disaster recovery site pair.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'SitePairType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The type of the site pair.', + 'enumValueTitles' => ['cloud2cloud' => 'cloud2cloud', 'zone2zone' => 'zone2zone'], 'type' => 'string', 'required' => false, 'example' => 'cloud2cloud', + 'title' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'PrimarySiteName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The name of the primary site.', 'type' => 'string', 'required' => false, 'example' => '杭州可用区G', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'PrimarySiteType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The type of the primary site.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + ], + [ + 'name' => 'PrimarySiteRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the primary site.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], + ], + [ + 'name' => 'PrimarySiteVpcId', + 'in' => 'query', + 'schema' => ['description' => 'The virtual private cloud (VPC) ID of the primary site.', 'type' => 'string', 'required' => false, 'example' => 'vpc-uf6j3rao8wkr7hb4uopv2', 'title' => ''], + ], + [ + 'name' => 'PrimarySiteZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The zone ID of the primary site. This parameter is valid only when the site pair type is cross-zone disaster recovery.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], + ], + [ + 'name' => 'SecondarySiteName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the secondary site.', 'type' => 'string', 'required' => false, 'example' => '杭州可用区F', 'title' => ''], + ], + [ + 'name' => 'SecondarySiteType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the secondary site.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + ], + [ + 'name' => 'SecondarySiteRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the secondary site.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'SecondarySiteVpcId', + 'in' => 'query', + 'schema' => ['description' => 'The VPC ID of the secondary site.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1wu55gbyqd7gh3yu3ey', 'title' => ''], + ], + [ + 'name' => 'SecondarySiteZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The zone ID of the secondary site. This parameter is valid only when the site pair type is cross-zone disaster recovery.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-i', 'title' => ''], ], ], 'responses' => [ @@ -1130,190 +480,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '24CFBF97-EAD7-5D53-8D50-7F9E9D20C3A3', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '28', - ], - 'SitePairs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'sitePair' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SitePairType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud2cloud', - ], - 'LocalSiteName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'local-site', - ], - 'SecondarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0007nrkb2riv9yalg8s8', - ], - 'PrimarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-000as7kbj0cmlp3tt60m', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'ServerCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '14', - ], - 'CloudSiteName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud-site', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-0003obqyc8f8lx2pf6m9', - ], - 'SecondarySiteName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SH', - ], - 'PrimarySiteName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HZ', - ], - 'CreatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1636092147', - ], - 'ReplicationStatistics' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Healthy' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'Warning' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Critical' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'NotApplicable' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D14F1EB0-30B7-5A38-92E7-C2D11077D5CA', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'SitePairId' => ['description' => 'The site pair ID.', 'type' => 'string', 'example' => 's-000bvn4shsuhq4cph5i8', 'title' => ''], + 'SecondarySiteId' => ['description' => 'The ID of the secondary site.', 'type' => 'string', 'example' => 'si-000imvpcegvbh6i5kd2u', 'title' => ''], + 'PrimarySiteId' => ['description' => 'The ID of the primary site.', 'type' => 'string', 'example' => 'si-0001jntih0phb0i2w1ya', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"24CFBF97-EAD7-5D53-8D50-7F9E9D20C3A3\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 5,\\n \\"TotalCount\\": 28,\\n \\"SitePairs\\": {\\n \\"sitePair\\": [\\n {\\n \\"SitePairType\\": \\"cloud2cloud\\",\\n \\"LocalSiteName\\": \\"local-site\\",\\n \\"SecondarySiteId\\": \\"si-0007nrkb2riv9yalg8s8\\",\\n \\"PrimarySiteId\\": \\"si-000as7kbj0cmlp3tt60m\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"ServerCount\\": 14,\\n \\"CloudSiteName\\": \\"cloud-site\\",\\n \\"SitePairId\\": \\"s-0003obqyc8f8lx2pf6m9\\",\\n \\"SecondarySiteName\\": \\"SH\\",\\n \\"PrimarySiteName\\": \\"HZ\\",\\n \\"CreatedTime\\": 1636092147,\\n \\"ReplicationStatistics\\": {\\n \\"Healthy\\": 4,\\n \\"Warning\\": 0,\\n \\"Critical\\": 0,\\n \\"NotApplicable\\": 0\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'DescribeSite' => [ - 'summary' => '查询站点信息', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D14F1EB0-30B7-5A38-92E7-C2D11077D5CA\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"SitePairId\\": \\"s-000bvn4shsuhq4cph5i8\\",\\n \\"SecondarySiteId\\": \\"si-000imvpcegvbh6i5kd2u\\",\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\"\\n}","type":"json"}]', + 'title' => 'Create a site pair', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-03-02T02:04:10.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'hdr:CreateSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CreateSitePair'], + ], ], + ], + 'DeleteRecoveryPlan' => [ + 'summary' => 'Delete a recovery plan by its ID.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'SiteId', + 'name' => 'RecoveryPlanId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'si-000bzkmmlwh01trrecuw', - ], + 'schema' => ['description' => 'The ID of the recovery plan.', 'type' => 'string', 'required' => false, 'example' => 'rp-xxxxxxxxxxxxxxxx', 'title' => ''], ], ], 'responses' => [ @@ -1321,77 +547,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vpc-bp1c3byhnaoj3u96sgk12', - ], - 'Type' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B30A844D-E4CF-5382-A0D4-3DE76A8AD2AE', - ], - 'SiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-000bzkmmlwh01trrecuw', - ], - 'UserSecurityGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sg-bp1466glrmpqfsq4zpjs', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'ZoneId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-shanghai-l', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SH', - ], - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-shanghai', - ], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '36C9E5CF-D575-5074-9A3E-79251448D708', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 't-0006ezqwy1swxqgcrfvx', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpcId\\": \\"vpc-bp1c3byhnaoj3u96sgk12\\",\\n \\"Type\\": \\"cloud\\",\\n \\"RequestId\\": \\"B30A844D-E4CF-5382-A0D4-3DE76A8AD2AE\\",\\n \\"SiteId\\": \\"si-000bzkmmlwh01trrecuw\\",\\n \\"UserSecurityGroupId\\": \\"sg-bp1466glrmpqfsq4zpjs\\",\\n \\"Success\\": true,\\n \\"ZoneId\\": \\"cn-shanghai-l\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Name\\": \\"SH\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n}","type":"json"}]', - ], - 'DeleteSitePair' => [ - 'summary' => '删除站点对', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"36C9E5CF-D575-5074-9A3E-79251448D708\\",\\n \\"TaskId\\": \\"t-0006ezqwy1swxqgcrfvx\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Delete Recovery Plan', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:12:19.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'hdr:DeleteRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DeleteRecoveryPlan'], + ], ], + ], + 'DeleteSitePair' => [ + 'summary' => 'Deletes a site pair.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1402,23 +597,13 @@ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 's-0003obqyc8f8a6u3bfw4', - ], + 'schema' => ['description' => 'ID of the site pair.', 'type' => 'string', 'required' => true, 'example' => 's-0003obqyc8f8a6u3bfw4', 'title' => ''], ], ], 'responses' => [ @@ -1426,173 +611,166 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '26365F46-16D9-5A56-B1EF-62D12C04E071', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '26365F46-16D9-5A56-B1EF-62D12C04E071', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"26365F46-16D9-5A56-B1EF-62D12C04E071\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CreateSitePair' => [ - 'summary' => '创建站点对', - 'methods' => [ - 'post', - 'get', + 'title' => 'Delete a site pair', + 'changeSet' => [ + ['createdAt' => '2022-03-02T02:04:10.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'hdr:DeleteSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DeleteSitePair'], + ], ], + ], + 'DescribeAvailableInstanceTypes' => [ + 'summary' => 'Queries the available instance types for scenarios such as disaster recovery drills, failovers, and failbacks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrF01CKY', 'FEATUREhdrE49XN0'], ], 'parameters' => [ [ - 'name' => 'SitePairType', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'cloud2cloud' => 'cloud2cloud', - 'zone2zone' => 'zone2zone', - ], - 'example' => 'cloud2cloud', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'PrimarySiteName', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-g', 'title' => ''], ], [ - 'name' => 'PrimarySiteType', + 'name' => 'DiskType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The disk type.', + 'enumValueTitles' => ['cloud_efficiency,cloud_essd,cloud_ssd' => 'cloud\\_efficiency,cloud\\_essd,cloud\\_ssd'], 'type' => 'string', - 'required' => false, - 'example' => 'cloud', + 'required' => true, + 'example' => 'cloud_efficiency', + 'title' => '', ], ], [ - 'name' => 'PrimarySiteRegionId', + 'name' => 'ChargeType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The billing method.', + 'enumValueTitles' => ['PostPaid' => 'PostPaid', 'PrePaid' => 'PrePaid'], 'type' => 'string', 'required' => false, - 'example' => 'cn-shanghai', + 'default' => 'PostPaid', + 'enum' => ['PostPaid', 'PrePaid'], + 'example' => 'PostPaid', + 'title' => '', ], ], [ - 'name' => 'PrimarySiteVpcId', + 'name' => 'Network', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The network type.', + 'enumValueTitles' => ['classic' => 'classic', 'vpc' => 'vpc'], 'type' => 'string', 'required' => false, - 'example' => 'vpc-uf6j3rao8wkr7hb4uopv2', + 'default' => 'vpc', + 'example' => 'vpc', + 'title' => '', ], ], [ - 'name' => 'PrimarySiteZoneId', + 'name' => 'IoOptimized', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], + 'schema' => ['description' => 'Specifies whether the instance is I/O optimized.', 'type' => 'boolean', 'required' => false, 'default' => 'true', 'example' => 'true', 'title' => ''], ], [ - 'name' => 'SecondarySiteName', + 'name' => 'SortBy', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The field to sort by.', + 'enumValueTitles' => ['memory' => 'memory', 'vcpu' => 'vcpu'], 'type' => 'string', 'required' => false, - 'example' => '', + 'default' => 'network', + 'example' => 'vcpu', + 'title' => '', ], ], [ - 'name' => 'SecondarySiteType', + 'name' => 'Order', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The sort order.', + 'enumValueTitles' => ['asc' => 'asc', 'desc' => 'desc'], 'type' => 'string', 'required' => false, - 'example' => 'cloud', + 'default' => 'desc', + 'enum' => ['asc', 'desc'], + 'example' => 'asc', + 'title' => '', ], ], [ - 'name' => 'SecondarySiteRegionId', + 'name' => 'Filter', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The filter expression for the query. Separate multiple expressions with semicolons (;). An expression consists of a key, an operator, and a value.'."\n" + ."\n" + .'The supported keys are:'."\n" + ."\n" + .'- vcpu: The number of vCPUs of the instance type.'."\n" + ."\n" + .'- memory: The memory size of the instance type.'."\n" + ."\n" + .'The supported operators include <, <=, >, >=, and =. The value must be an integer.', 'type' => 'string', 'required' => false, 'example' => 'vcpu>=2;vcpu<16;memory>=4;', 'title' => ''], ], [ - 'name' => 'SecondarySiteVpcId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1wu55gbyqd7gh3yu3ey', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'SecondarySiteZoneId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-i', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'UserClient', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use your user role to query for available instance types. By default, the query is performed using the Hybrid Disaster Recovery service account. You must set this parameter to true to find certain instance types that are on a whitelist.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -1600,57 +778,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D14F1EB0-30B7-5A38-92E7-C2D11077D5CA', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-000bvn4shsuhq4cph5i8', - ], - 'SecondarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-000imvpcegvbh6i5kd2u', - ], - 'PrimarySiteId' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1A7577E8-755A-5BF5-A6BA-B87286D0743F', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances found.', 'type' => 'integer', 'format' => 'int32', 'example' => '11', 'title' => ''], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'instanceType' => [ + 'description' => 'A list of available instance types.', + 'type' => 'array', + 'items' => ['description' => 'An available instance type.', 'type' => 'string', 'example' => 'ecs.g5ne.xlarge', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', - 'example' => 'si-0001jntih0phb0i2w1ya', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D14F1EB0-30B7-5A38-92E7-C2D11077D5CA\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"SitePairId\\": \\"s-000bvn4shsuhq4cph5i8\\",\\n \\"SecondarySiteId\\": \\"si-000imvpcegvbh6i5kd2u\\",\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\"\\n}","type":"json"}]', - ], - 'DescribeSitePair' => [ - 'summary' => '查询站点对', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A7577E8-755A-5BF5-A6BA-B87286D0743F\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 11,\\n \\"InstanceTypes\\": {\\n \\"instanceType\\": [\\n \\"ecs.g5ne.xlarge\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query Available Instance Types', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeAvailableInstanceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeAvailableInstanceTypes'], + ], ], + ], + 'DescribeInfrastructures' => [ + 'summary' => 'Queries infrastructure information for a site. Hybrid Disaster Recovery supports disaster recovery across multiple scenarios, such as IDC-to-cloud, cross-region, and cross-zone disaster recovery. Infrastructure varies by scenario. For example, in IDC-to-cloud disaster recovery, the source site may use physical servers or VMware vCenter. In cross-region and cross-zone disaster recovery, Alibaba Cloud serves as the primary infrastructure.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1658,26 +843,26 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ'], ], 'parameters' => [ [ - 'name' => 'SitePairId', + 'name' => 'SiteId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 's-0007rvzart0c4cn130df', - ], + 'schema' => ['description' => 'Site ID', 'type' => 'string', 'required' => false, 'example' => 'si-0005btelnqjwguycypba', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'Page number of the current page', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'Number of entries per page', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -1685,165 +870,238 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SitePairType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud2cloud', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'SecondarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0007rvzart0a2wpup82m', - ], - 'PrimarySiteId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0001jntih0phb0i2w1ya', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '700F1972-16A2-5639-A937-D2A6D61557B8', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-000j6lhiuvdqakqa6k7l', - ], - 'SecondarySiteName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'CreatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1637293095', - ], - 'PrimarySiteName' => [ + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '32AC7E7F-5484-548D-8D3F-905238B75080', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call succeeded', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'Status code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'Page number of the current page', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of entries', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Infrastructures' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'infrastructure' => [ + 'description' => 'List of infrastructure entries', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the infrastructure', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'Infrastructure type', 'type' => 'string', 'example' => 'aliyun', 'title' => ''], + 'Status' => ['description' => 'Status', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'IpAddress' => ['description' => 'IP address', 'type' => 'string', 'example' => '172.18.122.66', 'title' => ''], + 'InfrastructureId' => ['description' => 'Infrastructure ID', 'type' => 'string', 'example' => 'is-0005qxusucbig0c42dlo', 'title' => ''], + 'Errno' => ['description' => 'Reason for abnormal status', 'type' => 'string', 'example' => 'cdr.console.plugin.failed_to_connect', 'title' => ''], + 'Name' => ['description' => 'Infrastructure name', 'type' => 'string', 'example' => 'si-0006w0mxd3w8jiifu77l-infrastructure1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', + 'title' => '', 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SitePairType\\": \\"cloud2cloud\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\",\\n \\"SecondarySiteId\\": \\"si-0007rvzart0a2wpup82m\\",\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\",\\n \\"RequestId\\": \\"700F1972-16A2-5639-A937-D2A6D61557B8\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"Code\\": \\"200\\",\\n \\"SitePairId\\": \\"s-000j6lhiuvdqakqa6k7l\\",\\n \\"SecondarySiteName\\": \\"杭州D区\\",\\n \\"CreatedTime\\": 1637293095,\\n \\"PrimarySiteName\\": \\"杭州F区\\"\\n}","type":"json"}]', - ], - 'EnableReplication' => [ - 'summary' => '启动复制', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"32AC7E7F-5484-548D-8D3F-905238B75080\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 2,\\n \\"TotalCount\\": 1,\\n \\"Infrastructures\\": {\\n \\"infrastructure\\": [\\n {\\n \\"Type\\": \\"aliyun\\",\\n \\"Status\\": \\"connected\\",\\n \\"IpAddress\\": \\"172.18.122.66\\",\\n \\"InfrastructureId\\": \\"is-0005qxusucbig0c42dlo\\",\\n \\"Errno\\": \\"cdr.console.plugin.failed_to_connect\\",\\n \\"Name\\": \\"si-0006w0mxd3w8jiifu77l-infrastructure1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query site infrastructure ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeInfrastructures', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeInfrastructures'], + ], ], + ], + 'DescribeRecoveryPlan' => [ + 'summary' => 'Query the details of a recovery plan.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'RecoveryPlanId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the recovery plan.', 'type' => 'string', 'required' => false, 'example' => 'rp-xxxxxxxxxxxxxxxxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '受保护服务器ID', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the recovery plan. Valid values:'."\n" + ."\n" + .'- **creating**: The plan is being created.'."\n" + ."\n" + .'- **updating**: The plan is being updated.'."\n" + ."\n" + .'- **deleting**: The plan is being deleted.'."\n" + ."\n" + .'- **failed**: The plan failed.'."\n" + ."\n" + .'- **init**: The plan is initialized.'."\n" + ."\n" + .'- **running**: The plan is running.', 'type' => 'string', 'example' => 'init', 'title' => ''], + 'Direction' => ['description' => 'The direction of the recovery plan. Only **forward** is supported.', 'type' => 'string', 'example' => 'forward', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6F3884EC-AECB-52EF-AFE3-BC13A9688DEB', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'Name' => ['description' => 'The name of the recovery plan.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Content' => ['description' => 'The details of the recovery plan.', 'type' => 'string', 'example' => '{'."\n" + .' "groups": ['."\n" + .' {'."\n" + .' "name": "Group-1",'."\n" + .' "id": "Group-1",'."\n" + .' "servers": ['."\n" + .' {'."\n" + .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "testFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "testCleanupAction": {},'."\n" + .' "changeRecoveryPointAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "forcedFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .'}', 'title' => ''], + 'RecoveryPlanId' => ['description' => 'The ID of the recovery plan.', 'type' => 'string', 'example' => 'rp-xxxxxxxxxxxxxxxxxx', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-0005qxusucbo6yomzb9x', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ReplicationUseSsd', - 'in' => 'query', - 'schema' => [ - 'title' => '复影实例是否使用SSD云盘', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"init\\",\\n \\"Direction\\": \\"forward\\",\\n \\"RequestId\\": \\"6F3884EC-AECB-52EF-AFE3-BC13A9688DEB\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Name\\": \\"test\\",\\n \\"Content\\": \\"{\\\\n \\\\\\"groups\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"Group-1\\\\\\",\\\\n \\\\\\"id\\\\\\": \\\\\\"Group-1\\\\\\",\\\\n \\\\\\"servers\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"sr-xxxxxxxxxxxxxxxxxx\\\\\\",\\\\n \\\\\\"serverId\\\\\\": \\\\\\"sr-xxxxxxxxxxxxxxxxxx\\\\\\",\\\\n \\\\\\"testFailoverAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n },\\\\n \\\\\\"testCleanupAction\\\\\\": {},\\\\n \\\\\\"changeRecoveryPointAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n },\\\\n \\\\\\"forcedFailoverAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n }\\\\n }\\\\n ]\\\\n }\\\\n ]\\\\n}\\",\\n \\"RecoveryPlanId\\": \\"rp-xxxxxxxxxxxxxxxxxx\\"\\n}","type":"json"}]', + 'title' => 'Query the details of a recovery plan', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:12:19.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPlan'], + ], + ], + ], + 'DescribeRecoveryPlans' => [ + 'summary' => 'Lists recovery plans for a site pair.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ReplicationUseEssd', - 'in' => 'query', - 'schema' => [ - 'title' => '复影实例是否使用ESSD云盘', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'ReplicationNetwork', + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'title' => '复制网络VSwitch ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', - ], + 'schema' => ['description' => 'ID of the site pair.', 'type' => 'string', 'required' => false, 'example' => 's-0005qxusucbii5ab6wuj', 'title' => ''], ], [ - 'name' => 'RecoveryNetwork', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '恢复网络VSwitch ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', - ], + 'schema' => ['description' => 'Page number for the paged query. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'CrashConsistentPointPolicy', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '恢复点策略', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{"scheduleType":"CRON","expression":"0 0 */1 * * 0,1,2,3,4,5,6","initialDelay":0}', - ], + 'schema' => ['description' => 'Number of entries per page for the paged query. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -1851,69 +1109,109 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E50FE4A6-C876-5D6F-8A09-93442308AA7B', - ], - 'Success' => [ + 'RequestId' => ['description' => 'ID of the request.', 'type' => 'string', 'example' => 'F2812CD7-03E7-5774-9EE5-827D8398A670', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'Return code of the operation.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page for the paged query. Maximum value: 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'Current page number for the paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of recovery plans.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RecoveryPlans' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'recoveryPlan' => [ + 'description' => 'List of recovery plans.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of a recovery plan.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Status of the recovery plan. Valid values:'."\n" + ."\n" + .'- **creating**: The recovery plan is being created.'."\n" + ."\n" + .'- **updating**: The recovery plan is being updated.'."\n" + ."\n" + .'- **deleting**: The recovery plan is being deleted.'."\n" + ."\n" + .'- **failed**: The recovery plan failed to be created, updated, or deleted.'."\n" + ."\n" + .'- **init**: The recovery plan has been initialized.'."\n" + ."\n" + .'- **running**: The recovery plan is being executed.', 'type' => 'string', 'example' => 'init', 'title' => ''], + 'Direction' => ['description' => 'Direction of the recovery plan. Valid value: **forward**.', 'type' => 'string', 'example' => 'forward', 'title' => ''], + 'Name' => ['description' => 'Name of the recovery plan.', 'type' => 'string', 'example' => 'test-1', 'title' => ''], + 'RecoveryPlanId' => ['description' => 'ID of the recovery plan.', 'type' => 'string', 'example' => 'rp-xxxxxxxxxxxxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'boolean', - 'example' => 'True', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"E50FE4A6-C876-5D6F-8A09-93442308AA7B\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DisableReplication' => [ - 'summary' => '停止复制', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F2812CD7-03E7-5774-9EE5-827D8398A670\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RecoveryPlans\\": {\\n \\"recoveryPlan\\": [\\n {\\n \\"Status\\": \\"init\\",\\n \\"Direction\\": \\"forward\\",\\n \\"Name\\": \\"test-1\\",\\n \\"RecoveryPlanId\\": \\"rp-xxxxxxxxxxxxxxxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query the recovery plan list', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:27:23.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPlans', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPlans'], + ], ], + ], + 'DescribeRecoveryPoints' => [ + 'summary' => 'List the available recovery points.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'title' => '受保护服务器ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000cvyfewfi6fzi9zoql', - ], + 'schema' => ['description' => 'ID of the protected server.', 'type' => 'string', 'required' => false, 'example' => 'sr-0008fj9dbe1xzlg6805i', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'Start time for the query. List recovery points created on or after this time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1633503912', 'title' => ''], ], ], 'responses' => [ @@ -1921,261 +1219,451 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B7F69F73-51C4-5D3F-B2BE-E1BD99022C15', - ], - 'Success' => [ + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '8260C928-1A54-545A-A3F2-51E6327D28E6', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of available recovery points.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'RecoveryPoints' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'recoveryPoint' => [ + 'description' => 'Information about each recovery point.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a recovery point.', + 'type' => 'object', + 'properties' => [ + 'ApplicationConsistent' => ['description' => 'Indicates whether the recovery point meets application consistency requirements.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RecoveryPointTime' => ['description' => 'Time when the recovery point was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1637118000', 'title' => ''], + 'Disabled' => ['description' => 'Indicates whether the recovery point is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RecoveryPointId' => ['description' => 'ID of the recovery point.', 'type' => 'string', 'example' => 'rp-0000syrdl2f8a7te4063', 'title' => ''], + 'Used' => ['description' => 'Indicates whether the recovery point has been used.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DisableReason' => ['description' => 'Reason the recovery point was disabled.', 'type' => 'string', 'example' => 'inconsistent', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'boolean', - 'example' => 'True', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"B7F69F73-51C4-5D3F-B2BE-E1BD99022C15\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'TestFailover' => [ - 'summary' => '容灾切换演练', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8260C928-1A54-545A-A3F2-51E6327D28E6\\",\\n \\"TotalCount\\": 15,\\n \\"Success\\": true,\\n \\"RecoveryPoints\\": {\\n \\"recoveryPoint\\": [\\n {\\n \\"ApplicationConsistent\\": false,\\n \\"RecoveryPointTime\\": 1637118000,\\n \\"Disabled\\": false,\\n \\"RecoveryPointId\\": \\"rp-0000syrdl2f8a7te4063\\",\\n \\"Used\\": false,\\n \\"DisableReason\\": \\"inconsistent\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query active recovery points', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:27:24.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPoints', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPoints'], + ], ], + ], + 'DescribeServer' => [ + 'summary' => 'Query information about a protected server.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'title' => '受保护服务器ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000cvyfewfi7eudxml1a', - ], + 'schema' => ['description' => 'ID of the protected server.', 'type' => 'string', 'required' => false, 'example' => 'sr-0005qxusucbiga738e9s', 'title' => ''], ], - [ - 'name' => 'RecoveryInstanceName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '演练的实例名称', + 'type' => 'object', + 'properties' => [ + 'PrimarySiteId' => ['description' => 'ID of the primary site.', 'type' => 'string', 'example' => 'si-0001jntih0phb0i2w1ya', 'title' => ''], + 'ServerId' => ['description' => 'ID of the protected server.', 'type' => 'string', 'example' => 'sr-0005qxusucbiip0g6t93', 'title' => ''], + 'RecoveryUseDhcp' => ['description' => 'Whether to use DHCP to assign an IP address during failover.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RequestId' => ['description' => 'ID of the request.', 'type' => 'string', 'example' => 'BBCC4082-98DF-5804-96C6-0E74C37C5867', 'title' => ''], + 'RecoveryMemory' => ['description' => 'Memory size of the instance used for failover, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '4294967296', 'title' => ''], + 'SourceGatewayVersion' => ['description' => 'Version of the gateway on the primary site.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'IncrementalSyncStartTime' => ['description' => 'Incremental replication start time', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'CrashConsistentPointPolicy' => ['description' => 'Recovery point policy.', 'type' => 'string', 'example' => '{\\"scheduleType\\":\\"CRON\\",\\"expression\\":\\"0 0 */1 * * 0,1,2,3,4,5,6\\",\\"initialDelay\\":0}', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'RecoveryPostScriptContent' => ['description' => 'Script content to run after the failover instance starts.', 'type' => 'string', 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', 'title' => ''], + 'TestRecoveredInstanceId' => ['description' => 'ID of the instance created during disaster recovery drills.', 'type' => 'string', 'example' => 'i-bp13zgzv13am2n2z92lb', 'title' => ''], + 'ReplicationNetwork' => ['description' => 'VSwitch ID of the replication network.', 'type' => 'string', 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', 'title' => ''], + 'RecoveryUseEssd' => ['description' => 'Whether to use ESSD disks for the failover instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TargetGatewayVersion' => ['description' => 'Version of the gateway on the secondary site.', 'type' => 'string', 'example' => 'i-bp13zgzv13am2n2z92lb', 'title' => ''], + 'OsType' => ['description' => 'Operating system type.', 'type' => 'string', 'example' => 'linux', 'title' => ''], + 'FullSyncStartTime' => ['description' => 'The start time of the full replication.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'ReplicationUseSsd' => ['description' => 'Whether to use standard SSD disks for the replica instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Rpo' => ['description' => 'Recovery Point Objective (RPO), in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '45', 'title' => ''], + 'Consistent' => ['description' => 'Indicates whether the server is in a consistent state.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'FullSyncTotalSize' => ['description' => 'Total size of full replication, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '365072220160', 'title' => ''], + 'RecoveredIpAddress' => ['description' => 'IP address of the instance created during switchover.', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'Alias' => ['description' => 'Alias of the server.', 'type' => 'string', 'example' => 'bsdewmpci_rz', 'title' => ''], + 'Status' => ['description' => 'Status of the instance.', 'type' => 'string', 'example' => 'replicating', 'title' => ''], + 'TestFailoverStatus' => ['description' => 'Status of the disaster recovery drill.', 'type' => 'string', 'example' => 'testFailovered', 'title' => ''], + 'ReplicationUseEssd' => ['description' => 'Whether to use ESSD disks for the replica instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'OsDetail' => ['description' => 'Detailed operating system information.', 'type' => 'string', 'example' => 'CentOS;7.9.2009', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'TestRecoveredIpAddress' => ['description' => 'IP address of the instance created during disaster recovery drills.', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'SecondarySiteId' => ['description' => 'ID of the secondary site.', 'type' => 'string', 'example' => 'si-000imvpcegvbh6i5kd2u', 'title' => ''], + 'FullSyncProgress' => ['description' => 'Progress of full replication, as a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '17', 'title' => ''], + 'RecoveryInstanceType' => ['description' => 'Instance type used for failover.', 'type' => 'string', 'example' => 'ecs.c5.2xlarge', 'title' => ''], + 'IpAddress' => ['description' => 'IP address of the protected server.', 'type' => 'string', 'example' => '30.42.105.6', 'title' => ''], + 'RecoveryInstanceName' => ['description' => 'Name of the instance created during failover.', 'type' => 'string', 'example' => 'HDR_Recovery-sr-000bzkmmlwghq3soqry2', 'title' => ''], + 'OriginalInstanceId' => ['description' => 'ID of the source instance.', 'type' => 'string', 'example' => 'i-bp19axn91irnsi9204xg', 'title' => ''], + 'RecoveredInstanceId' => ['description' => 'ID of the instance created during switchover.', 'type' => 'string', 'example' => 'i-bp19axn91irnsi9204xg', 'title' => ''], + 'RecoveryReserveIp' => ['description' => 'Whether the test instance retains the IP address of the source instance. This requires the VSwitch used for the test to include the corresponding CIDR block.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Code' => ['description' => 'Status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Memory' => ['description' => 'Memory size, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '8589934591', 'title' => ''], + 'RecoveryIpAddress' => ['description' => 'Manually assigned IP address for the failover instance.', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'RecoveryNetwork' => ['description' => 'VSwitch ID of the failover instance.', 'type' => 'string', 'example' => 'vsw-uf61v3bg6r790ir22jqv4', 'title' => ''], + 'Errno' => ['description' => 'Error reason.', 'type' => 'string', 'example' => 'cdr.console.plugin.failed_to_connect', 'title' => ''], + 'ReplicationUseOriginalInstance' => ['description' => 'Whether reverse replication uses the source instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Hostname' => ['description' => 'Hostname of the server.', 'type' => 'string', 'example' => 'iZ2ze0jazgwtuxettbk1ywZ', 'title' => ''], + 'RecoveryCpu' => ['description' => 'Number of vCPUs for the failover instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'AgentPort' => ['description' => 'Port number of the client agent.', 'type' => 'integer', 'format' => 'int32', 'example' => '9080', 'title' => ''], + 'ReplicationUseDhcp' => ['description' => 'Whether to use DHCP for replication.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TestRecoveredInstanceName' => ['description' => 'Name of the instance created during disaster recovery drills.', 'type' => 'string', 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', 'title' => ''], + 'AgentVersion' => ['description' => 'Client agent version.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'FullSyncCurrentSize' => ['description' => 'Size of completed full replication, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '3285276688384', 'title' => ''], + 'ReplicationInfrastructureType' => ['description' => 'Type of infrastructure used for replication.', 'type' => 'string', 'example' => 'aliyun', 'title' => ''], + 'Cpu' => ['description' => 'Number of vCPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'RecoveryPostScriptType' => ['description' => 'Script type to run after the test instance starts. Valid values: SHELL.', 'type' => 'string', 'example' => 'SHELL', 'title' => ''], + 'ReplicationInfrastructureId' => ['description' => 'Infrastructure ID of the target site.', 'type' => 'string', 'example' => 'is-000bzkmmlwgibbduuoff', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'Operations' => ['description' => 'Supported operations.', 'type' => 'string', 'example' => '"{\\"Resynchronize\\":true,\\"TestFailover\\":true,\\"TestCleanup\\":true,\\"ChangeRecoveryPoint\\":true,\\"UnregisterServer\\":true,\\"ReversedEnableReplication\\":true,\\"ReversedDisableReplication\\":true,\\"DisableReplication\\":true,\\"CommitFailover\\":true,\\"RestartServer\\":true,\\"UpgradeServer\\":true,\\"ForcedFailover\\":true,\\"RepairReplication\\":true,\\"EnableReplication\\":true,\\"TriggerReversedRegister\\":true,\\"SetupAgent\\":true,\\"TriggerRegister\\":true,\\"CollectSupportBundle\\":true,\\"Failback\\":true}"', 'title' => ''], + 'TaskId' => ['description' => 'ID of the task.', 'type' => 'string', 'example' => 't-0004ka624vrza82g46ne', 'title' => ''], + 'RecoveryUseSsd' => ['description' => 'Whether to use standard SSD disks for the failover instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Disks' => ['description' => 'List of disk information.', 'type' => 'string', 'example' => '[{\\"id\\":\\"0\\",\\"boot\\":true,\\"size\\":500363689984}]', 'title' => ''], + 'RecoveryEssdPerformanceLevel' => ['description' => 'PL level selected for ESSD disks used in test or switchover instances.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'LatestRecoveryPointTime' => ['description' => 'The time when the most recent recovery point was created.', 'type' => 'string', 'example' => '1661419052', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test-failover-instance', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecoveryCpu', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例的CPU核数', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - 'default' => '2', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\",\\n \\"ServerId\\": \\"sr-0005qxusucbiip0g6t93\\",\\n \\"RecoveryUseDhcp\\": false,\\n \\"RequestId\\": \\"BBCC4082-98DF-5804-96C6-0E74C37C5867\\",\\n \\"RecoveryMemory\\": 4294967296,\\n \\"SourceGatewayVersion\\": \\"3.7.3\\",\\n \\"IncrementalSyncStartTime\\": 0,\\n \\"CrashConsistentPointPolicy\\": \\"{\\\\\\\\\\\\\\"scheduleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CRON\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"expression\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0 0 */1 * * 0,1,2,3,4,5,6\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"initialDelay\\\\\\\\\\\\\\":0}\\",\\n \\"Success\\": true,\\n \\"RecoveryPostScriptContent\\": \\"echo \\\\\\\\\\\\\\"127.0.0.1 kubernetes.docker.internal\\\\\\\\\\\\\\" >> /etc/hosts\\",\\n \\"TestRecoveredInstanceId\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"ReplicationNetwork\\": \\"vsw-bp1g0s2u3b2kbn46kiy53\\",\\n \\"RecoveryUseEssd\\": false,\\n \\"TargetGatewayVersion\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"OsType\\": \\"linux\\",\\n \\"FullSyncStartTime\\": 0,\\n \\"ReplicationUseSsd\\": false,\\n \\"Rpo\\": 45,\\n \\"Consistent\\": false,\\n \\"FullSyncTotalSize\\": 365072220160,\\n \\"RecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"Alias\\": \\"bsdewmpci_rz\\",\\n \\"Status\\": \\"replicating\\",\\n \\"TestFailoverStatus\\": \\"testFailovered\\",\\n \\"ReplicationUseEssd\\": false,\\n \\"OsDetail\\": \\"CentOS;7.9.2009\\",\\n \\"Message\\": \\"successful\\",\\n \\"TestRecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"SecondarySiteId\\": \\"si-000imvpcegvbh6i5kd2u\\",\\n \\"FullSyncProgress\\": 17,\\n \\"RecoveryInstanceType\\": \\"ecs.c5.2xlarge\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"RecoveryInstanceName\\": \\"HDR_Recovery-sr-000bzkmmlwghq3soqry2\\",\\n \\"OriginalInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveredInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveryReserveIp\\": false,\\n \\"Code\\": \\"200\\",\\n \\"Memory\\": 8589934591,\\n \\"RecoveryIpAddress\\": \\"192.168.2.2\\",\\n \\"RecoveryNetwork\\": \\"vsw-uf61v3bg6r790ir22jqv4\\",\\n \\"Errno\\": \\"cdr.console.plugin.failed_to_connect\\",\\n \\"ReplicationUseOriginalInstance\\": false,\\n \\"Hostname\\": \\"iZ2ze0jazgwtuxettbk1ywZ\\",\\n \\"RecoveryCpu\\": 4,\\n \\"AgentPort\\": 9080,\\n \\"ReplicationUseDhcp\\": false,\\n \\"TestRecoveredInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"FullSyncCurrentSize\\": 3285276688384,\\n \\"ReplicationInfrastructureType\\": \\"aliyun\\",\\n \\"Cpu\\": 4,\\n \\"RecoveryPostScriptType\\": \\"SHELL\\",\\n \\"ReplicationInfrastructureId\\": \\"is-000bzkmmlwgibbduuoff\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"Operations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"Resynchronize\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestCleanup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ChangeRecoveryPoint\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UnregisterServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedEnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedDisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"DisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CommitFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RestartServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UpgradeServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ForcedFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RepairReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"EnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerReversedRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"SetupAgent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CollectSupportBundle\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"Failback\\\\\\\\\\\\\\":true}\\\\\\"\\",\\n \\"TaskId\\": \\"t-0004ka624vrza82g46ne\\",\\n \\"RecoveryUseSsd\\": false,\\n \\"Disks\\": \\"[{\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boot\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":500363689984}]\\",\\n \\"RecoveryEssdPerformanceLevel\\": \\"PL1\\",\\n \\"LatestRecoveryPointTime\\": \\"1661419052\\"\\n}","type":"json"}]', + 'title' => 'Query protected servers', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:27:22.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-09T07:04:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Response parameters changed, Error codes changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'RecoveryMemory', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例的内存大小,单位MB', - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4294967296', - ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeServer'], ], + ], + ], + 'DescribeServers' => [ + 'summary' => 'Queries protected servers.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecoveryInstanceType', - 'in' => 'query', - 'schema' => [ - 'title' => '演练的实例规格,未指定时按照指定的CPU核数、内存大小自动寻找可用规格', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.large ', - 'default' => 'null', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'RecoveryUseSsd', + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'title' => '演练实例是否使用SSD类型的云盘', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Site pair ID', 'type' => 'string', 'required' => false, 'example' => 's-0007rvzart0u501t4e5r', 'title' => ''], ], [ - 'name' => 'RecoveryUseEssd', + 'name' => 'ServerIds', 'in' => 'query', - 'schema' => [ - 'title' => '演练实例是否使用ESSD类型的云盘', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'List of protected server IDs', 'type' => 'string', 'required' => false, 'example' => '"[\\"sr-0005qxusucbi38lqfc2q\\",\\"sr-0005qxusucbi38lqfc2r\\"]"', 'title' => ''], ], [ - 'name' => 'RecoveryNetwork', + 'name' => 'PageNumber', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '演练实例所在的VSwitch ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', - ], + 'schema' => ['description' => 'Page number', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'RecoveryReserveIp', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '演练实例是否保留源机的IP(需要演练所在的VSwitch包含相应网段)', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Number of entries per page', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], - [ - 'name' => 'RecoveryUseDhcp', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '演练实例是否使用DHCP指定IP', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'D2B255D3-9736-5169-B488-C735A8BBCD79', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'Status code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page for paged queries', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'Page number', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of entries', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Servers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'server' => [ + 'description' => 'Protected server information', + 'type' => 'array', + 'items' => [ + 'description' => 'Protected server information', + 'type' => 'object', + 'properties' => [ + 'RecoveredInstanceName' => ['description' => 'Switchover instance name', 'type' => 'string', 'example' => 'recovered_server', 'title' => ''], + 'PrimarySiteId' => ['description' => 'Primary site ID', 'type' => 'string', 'example' => 'si-000cm9ax8sgplgye2vc4', 'title' => ''], + 'ServerId' => ['description' => 'Protected server ID', 'type' => 'string', 'example' => 'sr-000cm9ax8sh2381wa7kv', 'title' => ''], + 'RecoveryUseDhcp' => ['description' => 'Indicates whether the switchover instance uses DHCP to assign IP addresses', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RecoveryMemory' => ['description' => 'Memory size of the switchover instance', 'type' => 'integer', 'format' => 'int64', 'example' => '8589934592', 'title' => ''], + 'SourceGatewayVersion' => ['description' => 'Primary site gateway version', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'IncrementalSyncStartTime' => ['description' => 'Start time of incremental replication', 'type' => 'integer', 'format' => 'int64', 'example' => '1646049677', 'title' => ''], + 'CrashConsistentPointPolicy' => ['description' => 'Recovery point policy', 'type' => 'string', 'example' => '"{\\"scheduleType\\":\\"CRON\\",\\"expression\\":\\"0 0 */1 * * 0,1,2,3,4,5,6\\",\\"initialDelay\\":0}"', 'title' => ''], + 'RecoveryPostScriptContent' => ['description' => 'Script content to run after disaster recovery drills or switchover', 'type' => 'string', 'example' => '"echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts"', 'title' => ''], + 'TestRecoveredInstanceId' => ['description' => 'Instance ID for disaster recovery drills', 'type' => 'string', 'example' => 'i-bp13zgzv13am2n2z92lb', 'title' => ''], + 'ReplicationNetwork' => ['description' => 'VSwitch ID of the replica server', 'type' => 'string', 'example' => 'vsw-2zey7xe0m8dbqrks2jb9h', 'title' => ''], + 'RecoveryUseEssd' => ['description' => 'Indicates whether the disaster recovery drill or switchover instance uses ESSD', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TargetGatewayVersion' => ['description' => 'Secondary site gateway version', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'OsType' => ['description' => 'Operating system type', 'type' => 'string', 'example' => 'linux', 'title' => ''], + 'FullSyncStartTime' => ['description' => 'Start time of full replication', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'ReplicationUseSsd' => ['description' => 'Indicates whether the replica server uses SSD', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Rpo' => ['description' => 'Recovery time objective in seconds', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'Consistent' => ['description' => 'Indicates whether the server is in a consistent state', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'FullSyncTotalSize' => ['description' => 'Full replication size in bytes', 'type' => 'integer', 'format' => 'int64', 'example' => '150202220544', 'title' => ''], + 'RecoveredIpAddress' => ['description' => 'IP address of the switchover instance', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'Alias' => ['description' => 'Alias', 'type' => 'string', 'example' => 'test-ecs', 'title' => ''], + 'Status' => ['description' => 'Status', 'type' => 'string', 'example' => 'replicating', 'title' => ''], + 'TestFailoverStatus' => ['description' => 'Disaster recovery drill status', 'type' => 'string', 'example' => 'testFailovered', 'title' => ''], + 'ReplicationUseEssd' => ['description' => 'Indicates whether the replica server uses ESSD', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'OsDetail' => ['description' => 'Operating system details', 'type' => 'string', 'example' => 'CentOS;7.9.2009', 'title' => ''], + 'TestRecoveredIpAddress' => ['description' => 'IP address of the disaster recovery drill instance', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'SecondarySiteId' => ['description' => 'Secondary site ID', 'type' => 'string', 'example' => 'si-0007o5em8n6mhm8hee1l', 'title' => ''], + 'FullSyncProgress' => ['description' => 'Full replication progress as a percentage', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RecoveryInstanceType' => ['description' => 'Instance type for switchover', 'type' => 'string', 'example' => 'ecs.r6.3xlarge', 'title' => ''], + 'IpAddress' => ['description' => 'Private IP address', 'type' => 'string', 'example' => '30.42.105.6', 'title' => ''], + 'RecoveryInstanceName' => ['description' => 'Switchover instance name', 'type' => 'string', 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', 'title' => ''], + 'OriginalInstanceId' => ['description' => 'Source instance ID', 'type' => 'string', 'example' => 'i-bp19axn91irnsi9204xg', 'title' => ''], + 'InstanceId' => ['description' => 'ECS instance ID', 'type' => 'string', 'example' => 'i-bp19axn91irnsi9204xg', 'title' => ''], + 'RecoveredInstanceId' => ['description' => 'Switchover instance ID', 'type' => 'string', 'example' => 'i-bp19axn91irnsi9204xg', 'title' => ''], + 'RecoveryReserveIp' => ['description' => 'Indicates whether the switchover instance retains the source IP address', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'Memory size in bytes', 'type' => 'integer', 'format' => 'int64', 'example' => '4294967295', 'title' => ''], + 'RecoveryIpAddress' => ['description' => 'Manually assigned IP address for switchover', 'type' => 'string', 'example' => '192.168.2.2', 'title' => ''], + 'RecoveryNetwork' => ['description' => 'VSwitch ID of the replica server', 'type' => 'string', 'example' => 'vsw-uf63qu8ocjcly44tai570', 'title' => ''], + 'Errno' => ['description' => 'Error reason', 'type' => 'string', 'example' => 'cdr.console.plugin.alicloud.agent_deploy_already_installed', 'title' => ''], + 'ReplicationUseOriginalInstance' => ['description' => 'Indicates whether the replica server uses the source instance. This setting applies only during reverse replication', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Hostname' => ['description' => 'Hostname', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RecoveryCpu' => ['description' => 'Number of CPU cores for the switchover instance', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'AgentPort' => ['description' => 'Client agent port', 'type' => 'integer', 'format' => 'int32', 'example' => '9080', 'title' => ''], + 'ReplicationUseDhcp' => ['description' => 'Indicates whether the replica server uses DHCP to assign IP addresses', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TestRecoveredInstanceName' => ['description' => 'Instance name for disaster recovery drills', 'type' => 'string', 'example' => 'HDR_Recovery-sr-000c2rz7q8tak59pt6sw', 'title' => ''], + 'AgentVersion' => ['description' => 'Client version', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'FullSyncCurrentSize' => ['description' => 'Completed size of full replication in bytes', 'type' => 'integer', 'format' => 'int64', 'example' => '1603469836288', 'title' => ''], + 'ReplicationInfrastructureType' => ['description' => 'Infrastructure type used for replication', 'type' => 'string', 'example' => 'aliyun', 'title' => ''], + 'Cpu' => ['description' => 'Number of CPU cores', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'RecoveryPostScriptType' => ['description' => 'Script type to run after the switchover instance starts', 'type' => 'string', 'example' => 'SHELL', 'title' => ''], + 'ReplicationInfrastructureId' => ['description' => 'Infrastructure ID used for replication', 'type' => 'string', 'example' => 'is-0004ka624vrxd9xsvs4f', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'Operations' => ['description' => 'List of supported and disabled operations for this instance', 'type' => 'string', 'example' => '"{\\"Resynchronize\\":true,\\"TestFailover\\":true,\\"TestCleanup\\":true,\\"ChangeRecoveryPoint\\":true,\\"UnregisterServer\\":true,\\"ReversedEnableReplication\\":true,\\"ReversedDisableReplication\\":true,\\"DisableReplication\\":true,\\"CommitFailover\\":true,\\"RestartServer\\":true,\\"UpgradeServer\\":true,\\"ForcedFailover\\":true,\\"RepairReplication\\":true,\\"EnableReplication\\":true,\\"TriggerReversedRegister\\":true,\\"SetupAgent\\":true,\\"TriggerRegister\\":true,\\"CollectSupportBundle\\":true,\\"Failback\\":true}"', 'title' => ''], + 'TaskId' => ['description' => 'ID of the running task', 'type' => 'string', 'example' => 't-0007rvzart0v31c0x93q', 'title' => ''], + 'RecoveryUseSsd' => ['description' => 'Indicates whether the switchover instance uses SSD', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Disks' => ['description' => 'List of disk information', 'type' => 'string', 'example' => '[{\\"id\\":\\"0\\",\\"boot\\":true,\\"size\\":500363689984}]', 'title' => ''], + 'RecoveryEssdPerformanceLevel' => ['description' => 'PL level selected for ESSD used in disaster recovery drills or switchover', 'type' => 'string', 'example' => 'PL3', 'title' => ''], + 'LatestRecoveryPointTime' => ['description' => 'Timestamp of the most recent recovery point creation', 'type' => 'integer', 'format' => 'int64', 'example' => '1661419052', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecoveryIpAddress', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例的IP', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '10.10.10.10', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D2B255D3-9736-5169-B488-C735A8BBCD79\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 2,\\n \\"TotalCount\\": 10,\\n \\"Servers\\": {\\n \\"server\\": [\\n {\\n \\"RecoveredInstanceName\\": \\"recovered_server\\",\\n \\"PrimarySiteId\\": \\"si-000cm9ax8sgplgye2vc4\\",\\n \\"ServerId\\": \\"sr-000cm9ax8sh2381wa7kv\\",\\n \\"RecoveryUseDhcp\\": true,\\n \\"RecoveryMemory\\": 8589934592,\\n \\"SourceGatewayVersion\\": \\"3.7.3\\",\\n \\"IncrementalSyncStartTime\\": 1646049677,\\n \\"CrashConsistentPointPolicy\\": \\"\\\\\\"{\\\\\\\\\\\\\\"scheduleType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CRON\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"expression\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0 0 */1 * * 0,1,2,3,4,5,6\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"initialDelay\\\\\\\\\\\\\\":0}\\\\\\"\\",\\n \\"RecoveryPostScriptContent\\": \\"\\\\\\"echo \\\\\\\\\\\\\\"127.0.0.1 kubernetes.docker.internal\\\\\\\\\\\\\\" >> /etc/hosts\\\\\\"\\",\\n \\"TestRecoveredInstanceId\\": \\"i-bp13zgzv13am2n2z92lb\\",\\n \\"ReplicationNetwork\\": \\"vsw-2zey7xe0m8dbqrks2jb9h\\",\\n \\"RecoveryUseEssd\\": false,\\n \\"TargetGatewayVersion\\": \\"3.7.3\\",\\n \\"OsType\\": \\"linux\\",\\n \\"FullSyncStartTime\\": 0,\\n \\"ReplicationUseSsd\\": true,\\n \\"Rpo\\": 30,\\n \\"Consistent\\": true,\\n \\"FullSyncTotalSize\\": 150202220544,\\n \\"RecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"Alias\\": \\"test-ecs\\",\\n \\"Status\\": \\"replicating\\",\\n \\"TestFailoverStatus\\": \\"testFailovered\\",\\n \\"ReplicationUseEssd\\": false,\\n \\"OsDetail\\": \\"CentOS;7.9.2009\\",\\n \\"TestRecoveredIpAddress\\": \\"192.168.2.2\\",\\n \\"SecondarySiteId\\": \\"si-0007o5em8n6mhm8hee1l\\",\\n \\"FullSyncProgress\\": 0,\\n \\"RecoveryInstanceType\\": \\"ecs.r6.3xlarge\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"RecoveryInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"OriginalInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"InstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveredInstanceId\\": \\"i-bp19axn91irnsi9204xg\\",\\n \\"RecoveryReserveIp\\": true,\\n \\"Memory\\": 4294967295,\\n \\"RecoveryIpAddress\\": \\"192.168.2.2\\",\\n \\"RecoveryNetwork\\": \\"vsw-uf63qu8ocjcly44tai570\\",\\n \\"Errno\\": \\"cdr.console.plugin.alicloud.agent_deploy_already_installed\\",\\n \\"ReplicationUseOriginalInstance\\": false,\\n \\"Hostname\\": \\"test\\",\\n \\"RecoveryCpu\\": 4,\\n \\"AgentPort\\": 9080,\\n \\"ReplicationUseDhcp\\": false,\\n \\"TestRecoveredInstanceName\\": \\"HDR_Recovery-sr-000c2rz7q8tak59pt6sw\\",\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"FullSyncCurrentSize\\": 1603469836288,\\n \\"ReplicationInfrastructureType\\": \\"aliyun\\",\\n \\"Cpu\\": 4,\\n \\"RecoveryPostScriptType\\": \\"SHELL\\",\\n \\"ReplicationInfrastructureId\\": \\"is-0004ka624vrxd9xsvs4f\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"Operations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"Resynchronize\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TestCleanup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ChangeRecoveryPoint\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UnregisterServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedEnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ReversedDisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"DisableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CommitFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RestartServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"UpgradeServer\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ForcedFailover\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"RepairReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"EnableReplication\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerReversedRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"SetupAgent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"TriggerRegister\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"CollectSupportBundle\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"Failback\\\\\\\\\\\\\\":true}\\\\\\"\\",\\n \\"TaskId\\": \\"t-0007rvzart0v31c0x93q\\",\\n \\"RecoveryUseSsd\\": true,\\n \\"Disks\\": \\"[{\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boot\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":500363689984}]\\",\\n \\"RecoveryEssdPerformanceLevel\\": \\"PL3\\",\\n \\"LatestRecoveryPointTime\\": 1661419052\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query protected servers', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:27:22.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-09T07:04:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'RecoveryPostScriptType', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例启动后执行脚本类型,可选项:SHELL', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'SHELL', - ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeServers'], ], + ], + ], + 'DescribeSite' => [ + 'summary' => 'Queries information about a site.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecoveryPostScriptContent', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例启动后执行脚本', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'RecoveryPointId', + 'name' => 'SiteId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the site.', 'type' => 'string', 'required' => true, 'example' => 'si-000bzkmmlwh01trrecuw', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '演练实例使用的恢复点ID', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-bp1c3byhnaoj3u96sgk12', 'title' => ''], + 'Type' => ['description' => 'The type of the site.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B30A844D-E4CF-5382-A0D4-3DE76A8AD2AE', 'title' => ''], + 'SiteId' => ['description' => 'The ID of the site.', 'type' => 'string', 'example' => 'si-000bzkmmlwh01trrecuw', 'title' => ''], + 'UserSecurityGroupId' => ['description' => 'The ID of the user security group.', 'type' => 'string', 'example' => 'sg-bp1466glrmpqfsq4zpjs', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.', 'type' => 'string', 'example' => 'cn-shanghai-l', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'Name' => ['description' => 'The name of the site.', 'type' => 'string', 'example' => 'SH', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the site is located.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-0001cgurtbrvrkj2p2pp', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecoveryPointTime', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1646046000', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpcId\\": \\"vpc-bp1c3byhnaoj3u96sgk12\\",\\n \\"Type\\": \\"cloud\\",\\n \\"RequestId\\": \\"B30A844D-E4CF-5382-A0D4-3DE76A8AD2AE\\",\\n \\"SiteId\\": \\"si-000bzkmmlwh01trrecuw\\",\\n \\"UserSecurityGroupId\\": \\"sg-bp1466glrmpqfsq4zpjs\\",\\n \\"Success\\": true,\\n \\"ZoneId\\": \\"cn-shanghai-l\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Name\\": \\"SH\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n}","type":"json"}]', + 'title' => 'Query site information', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSite', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSite'], + ], + ], + ], + 'DescribeSitePair' => [ + 'summary' => 'Query information about a site pair.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EipAddressId', - 'in' => 'query', - 'schema' => [ - 'title' => '演练实例绑定的弹性公网IP ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'eip-bp1nf283u9p060q4gim7m', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'RecoveryEssdPerformanceLevel', + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PL3', - 'default' => 'PL1', - 'enum' => [ - 'PL0', - 'PL1', - 'PL2', - 'PL3', - ], - ], + 'schema' => ['description' => 'ID of the site pair.', 'type' => 'string', 'required' => true, 'example' => 's-0007rvzart0c4cn130df', 'title' => ''], ], ], 'responses' => [ @@ -2183,75 +1671,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '6758891B-CF5A-5CA6-BF59-633573B91140', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-000h3k00ckeknbukn5a5', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'SitePairType' => ['description' => 'Type of the site pair.', 'type' => 'string', 'example' => 'cloud2cloud', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'SecondarySiteId' => ['description' => 'ID of the secondary site.', 'type' => 'string', 'example' => 'si-0007rvzart0a2wpup82m', 'title' => ''], + 'PrimarySiteId' => ['description' => 'ID of the primary site.', 'type' => 'string', 'example' => 'si-0001jntih0phb0i2w1ya', 'title' => ''], + 'RequestId' => ['description' => 'ID of the request.', 'type' => 'string', 'example' => '700F1972-16A2-5639-A937-D2A6D61557B8', 'title' => ''], + 'Version' => ['description' => 'Version number.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'Code' => ['description' => 'Status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'SitePairId' => ['description' => 'ID of the site pair.', 'type' => 'string', 'example' => 's-000j6lhiuvdqakqa6k7l', 'title' => ''], + 'SecondarySiteName' => ['description' => 'Name of the secondary site.', 'type' => 'string', 'example' => '杭州D区', 'title' => ''], + 'CreatedTime' => ['description' => 'Time when the site pair was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1637293095', 'title' => ''], + 'PrimarySiteName' => ['description' => 'Name of the primary site.', 'type' => 'string', 'example' => '杭州F区', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"6758891B-CF5A-5CA6-BF59-633573B91140\\",\\n \\"TaskId\\": \\"t-000h3k00ckeknbukn5a5\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'TestCleanup' => [ - 'summary' => '清理容灾切换演练', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SitePairType\\": \\"cloud2cloud\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\",\\n \\"SecondarySiteId\\": \\"si-0007rvzart0a2wpup82m\\",\\n \\"PrimarySiteId\\": \\"si-0001jntih0phb0i2w1ya\\",\\n \\"RequestId\\": \\"700F1972-16A2-5639-A937-D2A6D61557B8\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"Code\\": \\"200\\",\\n \\"SitePairId\\": \\"s-000j6lhiuvdqakqa6k7l\\",\\n \\"SecondarySiteName\\": \\"杭州D区\\",\\n \\"CreatedTime\\": 1637293095,\\n \\"PrimarySiteName\\": \\"杭州F区\\"\\n}","type":"json"}]', + 'title' => 'Query site pair information', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-28T07:54:28.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePair'], + ], ], + ], + 'DescribeSitePairStatistics' => [ + 'summary' => 'Query performance statistics for a site.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'title' => '受保护服务器ID', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000cvyfewfi6fzi9zoql', - ], + 'schema' => ['description' => 'ID of the site pair.', 'type' => 'string', 'required' => false, 'example' => 's-0005qxusucbp8acutbrv', 'title' => ''], ], ], 'responses' => [ @@ -2259,47 +1743,121 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', + 'Code' => ['description' => 'Status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'C0D9AAEE-8A21-5693-BCBD-8548914E4F3B', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'PrimarySiteGatewayInfo' => [ + 'description' => 'Information about the primary site gateway.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Gateway status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'GatewayId' => ['description' => 'Gateway ID.', 'type' => 'string', 'example' => 'gw-000bzkmmlwgzptnzsdnh', 'title' => ''], + 'Version' => ['description' => 'Gateway version.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'HeartbeatedTime' => ['description' => 'Timestamp of the last gateway heartbeat.', 'type' => 'integer', 'format' => 'int64', 'example' => '1642562996', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '531E3DB9-3ED6-5F06-A09A-721F279CB64B', + 'SecondarySiteGatewayInfo' => [ + 'description' => 'Information about the secondary site gateway.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Gateway status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'GatewayId' => ['description' => 'Gateway ID.', 'type' => 'string', 'example' => 'gw-0005qxusucbigzug9wpe', 'title' => ''], + 'Version' => ['description' => 'Gateway version.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'HeartbeatedTime' => ['description' => 'Timestamp of the last gateway heartbeat.', 'type' => 'integer', 'format' => 'int64', 'example' => '1642562996', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'TaskId' => [ + 'PrimarySiteServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'server' => [ + 'description' => 'List of protected servers on the primary site.', + 'type' => 'array', + 'items' => [ + 'description' => 'Protected server on the primary site.', + 'type' => 'object', + 'properties' => [ + 'AgentVersion' => ['description' => 'Client version number.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status of the protected server.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'IpAddress' => ['description' => 'IP address of the protected server.', 'type' => 'string', 'example' => '30.42.105.6', 'title' => ''], + 'ServerId' => ['description' => 'ID of the protected server.', 'type' => 'string', 'example' => 'sr-000c2rz7q8tkc0g4xgao', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', - 'example' => 't-000bzkmmlwh6tpzhitdz', + 'title' => '', + 'example' => '', ], - 'Success' => [ + 'SecondarySiteServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'server' => [ + 'description' => 'List of protected servers on the secondary site.', + 'type' => 'array', + 'items' => [ + 'description' => 'Protected server on the secondary site.', + 'type' => 'object', + 'properties' => [ + 'AgentVersion' => ['description' => 'Client version number.', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status of the protected server.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + 'IpAddress' => ['description' => 'IP address of the protected server.', 'type' => 'string', 'example' => '192.168.1.4', 'title' => ''], + 'ServerId' => ['description' => 'ID of the protected server.', 'type' => 'string', 'example' => 'sr-000ikcyl8ucxtxl5f7pi', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'boolean', - 'example' => 'True', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"531E3DB9-3ED6-5F06-A09A-721F279CB64B\\",\\n \\"TaskId\\": \\"t-000bzkmmlwh6tpzhitdz\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DescribeRecoveryPoints' => [ - 'summary' => '查询恢复点列表', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"C0D9AAEE-8A21-5693-BCBD-8548914E4F3B\\",\\n \\"Success\\": true,\\n \\"PrimarySiteGatewayInfo\\": {\\n \\"Status\\": \\"connected\\",\\n \\"GatewayId\\": \\"gw-000bzkmmlwgzptnzsdnh\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"HeartbeatedTime\\": 1642562996\\n },\\n \\"SecondarySiteGatewayInfo\\": {\\n \\"Status\\": \\"connected\\",\\n \\"GatewayId\\": \\"gw-0005qxusucbigzug9wpe\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"HeartbeatedTime\\": 1642562996\\n },\\n \\"PrimarySiteServers\\": {\\n \\"server\\": [\\n {\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"ServerId\\": \\"sr-000c2rz7q8tkc0g4xgao\\"\\n }\\n ]\\n },\\n \\"SecondarySiteServers\\": {\\n \\"server\\": [\\n {\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"IpAddress\\": \\"192.168.1.4\\",\\n \\"ServerId\\": \\"sr-000ikcyl8ucxtxl5f7pi\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query site pair statistics information', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePairStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePairStatistics'], + ], ], + ], + 'DescribeSitePairs' => [ + 'summary' => 'Query site pair information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2310,34 +1868,23 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'SitePairType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-0008fj9dbe1xzlg6805i', - ], + 'schema' => ['description' => 'Site pair type ', 'type' => 'string', 'required' => false, 'example' => 'cloud2cloud', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1633503912', - ], + 'schema' => ['description' => 'Current page number. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'Number of entries per page for paged query. Default value is 10. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -2345,292 +1892,543 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '8260C928-1A54-545A-A3F2-51E6327D28E6', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'RecoveryPoints' => [ + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '24CFBF97-EAD7-5D53-8D50-7F9E9D20C3A3', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'Status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page for paged query. Default value is 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'Current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'TotalCount' => ['description' => 'Total quantity.', 'type' => 'integer', 'format' => 'int32', 'example' => '28', 'title' => ''], + 'SitePairs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'recoveryPoint' => [ - 'description' => '', + 'sitePair' => [ + 'description' => 'Site pair information', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Site pair information', 'type' => 'object', 'properties' => [ - 'ApplicationConsistent' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'RecoveryPointTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1637118000', - ], - 'Disabled' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', + 'SitePairType' => ['description' => 'Site pair type ', 'type' => 'string', 'example' => 'cloud2cloud', 'title' => ''], + 'LocalSiteName' => ['description' => 'Local site name ', 'type' => 'string', 'example' => 'local-site', 'title' => ''], + 'SecondarySiteId' => ['description' => 'Secondary site ID ', 'type' => 'string', 'example' => 'si-0007nrkb2riv9yalg8s8', 'title' => ''], + 'PrimarySiteId' => ['description' => 'Primary site ID', 'type' => 'string', 'example' => 'si-000as7kbj0cmlp3tt60m', 'title' => ''], + 'Version' => ['description' => 'Gateway version number', 'type' => 'string', 'example' => '3.7.3', 'title' => ''], + 'ServerCount' => ['description' => 'Number of protected servers ', 'type' => 'integer', 'format' => 'int32', 'example' => '14', 'title' => ''], + 'CloudSiteName' => ['description' => 'Cloud site name ', 'type' => 'string', 'example' => 'cloud-site', 'title' => ''], + 'SitePairId' => ['description' => 'Site pair ID', 'type' => 'string', 'example' => 's-0003obqyc8f8lx2pf6m9', 'title' => ''], + 'SecondarySiteName' => ['description' => 'Secondary site name', 'type' => 'string', 'example' => 'SH', 'title' => ''], + 'PrimarySiteName' => ['description' => 'Primary site name', 'type' => 'string', 'example' => 'HZ', 'title' => ''], + 'CreatedTime' => ['description' => 'Creation Time', 'type' => 'integer', 'format' => 'int64', 'example' => '1636092147', 'title' => ''], + 'ReplicationStatistics' => [ + 'description' => 'Replication status statistics', + 'type' => 'object', + 'properties' => [ + 'Healthy' => ['description' => 'The quantity of protected servers in a healthy state (full replication, real-time replication).', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'Warning' => ['description' => 'Quantity of protected servers in warning status (for example, RPO exceeding 20 minutes, temporary disconnection, etc.)', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Critical' => ['description' => 'The quantity of protected servers in a critical state (such as replication failed).', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'NotApplicable' => ['description' => 'The quantity of protected servers in other states.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'RecoveryPointId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'rp-0000syrdl2f8a7te4063', + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"24CFBF97-EAD7-5D53-8D50-7F9E9D20C3A3\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 5,\\n \\"TotalCount\\": 28,\\n \\"SitePairs\\": {\\n \\"sitePair\\": [\\n {\\n \\"SitePairType\\": \\"cloud2cloud\\",\\n \\"LocalSiteName\\": \\"local-site\\",\\n \\"SecondarySiteId\\": \\"si-0007nrkb2riv9yalg8s8\\",\\n \\"PrimarySiteId\\": \\"si-000as7kbj0cmlp3tt60m\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"ServerCount\\": 14,\\n \\"CloudSiteName\\": \\"cloud-site\\",\\n \\"SitePairId\\": \\"s-0003obqyc8f8lx2pf6m9\\",\\n \\"SecondarySiteName\\": \\"SH\\",\\n \\"PrimarySiteName\\": \\"HZ\\",\\n \\"CreatedTime\\": 1636092147,\\n \\"ReplicationStatistics\\": {\\n \\"Healthy\\": 4,\\n \\"Warning\\": 0,\\n \\"Critical\\": 0,\\n \\"NotApplicable\\": 0\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query site pair information ', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2021-11-16T02:41:16.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePairs'], + ], + ], + ], + 'DescribeSummary' => [ + 'summary' => 'Queries overview information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'DE78056B-E82A-52FD-BF5E-F737D8B63845', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'ServerCount' => ['description' => 'Total number of protected servers.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'TotalSize' => ['description' => 'Total number of site pairs.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'Code' => ['description' => 'Status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'DbServerCount' => ['description' => 'Number of database servers.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'SiteCount' => ['description' => 'Number of sites.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'ReplicationDetails' => [ + 'description' => 'Replication status statistics.', + 'type' => 'object', + 'properties' => [ + 'WarningServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'warningServer' => [ + 'description' => 'Information about protected servers in warning status.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a protected server in warning status.', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'Protected server ID.', 'type' => 'string', 'example' => 'sr-000fzufp79icz33l4pak', 'title' => ''], + 'InstanceId' => ['description' => 'Protected server instance ID.', 'type' => 'string', 'example' => 'i-bp1a4374akk4527gbt9x', 'title' => ''], + 'SitePairId' => ['description' => 'Protected server site pair ID.', 'type' => 'string', 'example' => 's-000bzkmmlwh5riquud19', 'title' => ''], + 'Rpo' => ['description' => 'RPO value.', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + 'Status' => ['description' => 'Status.', 'type' => 'string', 'example' => 'replicating', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'Used' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CriticalServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'criticalServer' => [ + 'description' => 'Information about protected servers in critical status.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a protected server in critical status.', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'Protected server ID.', 'type' => 'string', 'example' => 'sr-0005qxusucb0fqqdf4ba', 'title' => ''], + 'InstanceId' => ['description' => 'Protected server instance ID.', 'type' => 'string', 'example' => 'i-bp1a4374akk4527gbt9x', 'title' => ''], + 'SitePairId' => ['description' => 'Protected server site pair ID.', 'type' => 'string', 'example' => 's-0005qxusucbii3ba2uve', 'title' => ''], + 'Rpo' => ['description' => 'Recovery Point Objective (RPO)', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + 'Status' => ['description' => 'Status.', 'type' => 'string', 'example' => 'replicating', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'DisableReason' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'inconsistent', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NotApplicableServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'notApplicableServer' => [ + 'description' => 'Information about protected servers not in replication status.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a protected server not in replication status.', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'Protected server ID.', 'type' => 'string', 'example' => 'sr-000iji78mxxc93yldd2e', 'title' => ''], + 'InstanceId' => ['description' => 'Protected server instance ID.', 'type' => 'string', 'example' => 'i-bp1a4374akk4527gbt9x', 'title' => ''], + 'SitePairId' => ['description' => 'Protected server site pair ID.', 'type' => 'string', 'example' => 's-000bzkmmlwh5riquud19', 'title' => ''], + 'Rpo' => ['description' => 'RPO', 'type' => 'integer', 'format' => 'int64', 'example' => '40', 'title' => ''], + 'Status' => ['description' => 'Status.', 'type' => 'string', 'example' => 'replicating', 'title' => ''], + 'ConnectionStatus' => ['description' => 'Connection status.', 'type' => 'string', 'example' => 'connected', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8260C928-1A54-545A-A3F2-51E6327D28E6\\",\\n \\"TotalCount\\": 15,\\n \\"Success\\": true,\\n \\"RecoveryPoints\\": {\\n \\"recoveryPoint\\": [\\n {\\n \\"ApplicationConsistent\\": false,\\n \\"RecoveryPointTime\\": 1637118000,\\n \\"Disabled\\": false,\\n \\"RecoveryPointId\\": \\"rp-0000syrdl2f8a7te4063\\",\\n \\"Used\\": false,\\n \\"DisableReason\\": \\"inconsistent\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'ChangeRecoveryPoint' => [ - 'summary' => '更换恢复点', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE78056B-E82A-52FD-BF5E-F737D8B63845\\",\\n \\"Success\\": true,\\n \\"ServerCount\\": 2,\\n \\"TotalSize\\": 10,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"DbServerCount\\": 0,\\n \\"SiteCount\\": 4,\\n \\"ReplicationDetails\\": {\\n \\"WarningServers\\": {\\n \\"warningServer\\": [\\n {\\n \\"ServerId\\": \\"sr-000fzufp79icz33l4pak\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-000bzkmmlwh5riquud19\\",\\n \\"Rpo\\": 30,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n },\\n \\"CriticalServers\\": {\\n \\"criticalServer\\": [\\n {\\n \\"ServerId\\": \\"sr-0005qxusucb0fqqdf4ba\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-0005qxusucbii3ba2uve\\",\\n \\"Rpo\\": 30,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n },\\n \\"NotApplicableServers\\": {\\n \\"notApplicableServer\\": [\\n {\\n \\"ServerId\\": \\"sr-000iji78mxxc93yldd2e\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-000bzkmmlwh5riquud19\\",\\n \\"Rpo\\": 40,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Query overview information', + 'changeSet' => [ + ['createdAt' => '2021-11-16T02:41:16.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSummary', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSummary'], + ], ], + ], + 'DescribeTask' => [ + 'summary' => 'Queries the details of a task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'TaskId', 'in' => 'query', + 'schema' => ['description' => 'The task ID.', 'type' => 'string', 'required' => true, 'example' => 't-0005qxusucbnl5efovq9', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Progress' => ['description' => 'The task progress, in percent.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the task is successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8F8A2274-F2A5-5782-89A0-7FA442BFA16B', 'title' => ''], + 'UpdatedTime' => ['description' => 'The time when the task was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1636452195', 'title' => ''], + 'StatusCode' => ['description' => 'The status of the task.', 'type' => 'string', 'example' => 'hdr.task.TestFailoverTask.waitStartFailover', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Name' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'hdr.task.name.TestFailoverTask', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 't-000bzkmmlwh57miq4mwh', 'title' => ''], + 'Content' => ['description' => 'The content of the task.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the task was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1646100927', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000bak4sdet6gv8q0c2j', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Progress\\": 100,\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8F8A2274-F2A5-5782-89A0-7FA442BFA16B\\",\\n \\"UpdatedTime\\": 1636452195,\\n \\"StatusCode\\": \\"hdr.task.TestFailoverTask.waitStartFailover\\",\\n \\"Code\\": \\"200\\",\\n \\"Name\\": \\"hdr.task.name.TestFailoverTask\\",\\n \\"TaskId\\": \\"t-000bzkmmlwh57miq4mwh\\",\\n \\"Content\\": \\"-\\",\\n \\"CreatedTime\\": 1646100927\\n}","type":"json"}]', + 'title' => 'Query Job', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeTask'], + ], + ], + ], + 'DescribeTasks' => [ + 'summary' => 'Lists tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecoveryInstanceName', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrEJMNXE', 'FEATUREhdrF01CKY', 'FEATUREhdrE49XN0'], + ], + 'parameters' => [ + [ + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'HDR_Recovery-sr-000c9550g8gycc8oi4fb-cpr', - ], + 'schema' => ['description' => 'ID of the site pair.', 'type' => 'string', 'required' => false, 'example' => 's-000cm9ax8sh22u8r9gs0', 'title' => ''], ], [ - 'name' => 'RecoveryCpu', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'Page number of the paged query.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'RecoveryMemory', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4294967296', - ], + 'schema' => ['description' => 'Number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'RecoveryInstanceType', + 'name' => 'SortBy', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'Sort by creation time or update time.', + 'enumValueTitles' => ['updatedTime' => 'updatedTime', 'createdTime' => 'createdTime'], 'type' => 'string', 'required' => false, - 'example' => 'ecs.r6.3xlarge', + 'example' => 'createdTime', + 'title' => '', ], ], - [ - 'name' => 'RecoveryUseSsd', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'ID of the request.', 'type' => 'string', 'example' => '86FFBA6E-D087-53E0-8593-4575925CB9DC', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'Page number of the paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '53', 'title' => ''], + 'Tasks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'task' => [ + 'description' => 'List of tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Task list', + 'type' => 'object', + 'properties' => [ + 'Progress' => ['description' => 'Task progress, as a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], + 'UpdatedTime' => ['description' => 'The time when the task was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '1637292645', 'title' => ''], + 'StatusCode' => ['description' => 'Status of the task.', 'type' => 'string', 'example' => 'hdr.task.completed', 'title' => ''], + 'TargetName' => ['description' => 'Target of the task.', 'type' => 'string', 'example' => 'sr-000ftuch27gfuv8wvpyj', 'title' => ''], + 'Name' => ['description' => 'Name of the task.', 'type' => 'string', 'example' => 'CommitFailoverTask', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the task was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1636092147', 'title' => ''], + 'TaskId' => ['description' => 'ID of the task.', 'type' => 'string', 'example' => 't-0007wl5r0hvxrp3c3x8z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecoveryUseEssd', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86FFBA6E-D087-53E0-8593-4575925CB9DC\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 3,\\n \\"TotalCount\\": 53,\\n \\"Tasks\\": {\\n \\"task\\": [\\n {\\n \\"Progress\\": 90,\\n \\"UpdatedTime\\": 1637292645,\\n \\"StatusCode\\": \\"hdr.task.completed\\",\\n \\"TargetName\\": \\"sr-000ftuch27gfuv8wvpyj\\",\\n \\"Name\\": \\"CommitFailoverTask\\",\\n \\"CreatedTime\\": 1636092147,\\n \\"TaskId\\": \\"t-0007wl5r0hvxrp3c3x8z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query Job List ', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeTasks'], + ], + ], + ], + 'DisableReplication' => [ + 'summary' => 'Stop replication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecoveryNetwork', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-uf61v3bg6r790ir22jqv4', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'RecoveryReserveIp', + 'name' => 'ServerId', 'in' => 'query', + 'schema' => ['description' => 'Protected server ID.', 'type' => 'string', 'required' => false, 'example' => 'sr-000cvyfewfi6fzi9zoql', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Interface status or POP error code. Value descriptions are as follows: 2xx: Success. 3xx: Redirection. 4xx: Request error. 5xx: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B7F69F73-51C4-5D3F-B2BE-E1BD99022C15', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + ], 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecoveryUseDhcp', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"B7F69F73-51C4-5D3F-B2BE-E1BD99022C15\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Stop copy', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:DisableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DisableReplication'], + ], + ], + ], + 'EnableReplication' => [ + 'summary' => 'Enables replication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecoveryIpAddress', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.2.2', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], + ], + 'parameters' => [ [ - 'name' => 'RecoveryPostScriptType', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'SHELL', - ], + 'schema' => ['description' => 'The ID of the protected server.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'sr-0005qxusucbo6yomzb9x'], ], [ - 'name' => 'RecoveryPostScriptContent', + 'name' => 'ReplicationUseSsd', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', - ], + 'schema' => ['description' => 'Specifies whether the replication instance uses standard SSDs.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'RecoveryPointId', + 'name' => 'ReplicationUseEssd', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-0001625ljmig7ahibe0y', - ], + 'schema' => ['description' => 'Specifies whether the replication instance uses ESSDs.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'RecoveryPointTime', + 'name' => 'ReplicationNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1637002799', - ], + 'schema' => ['description' => 'The ID of the VSwitch for the replication network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', 'title' => ''], ], [ - 'name' => 'EipAddressId', + 'name' => 'RecoveryNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'eip-2zelae2qye2ztjfj82f9z', - ], + 'schema' => ['description' => 'The ID of the VSwitch for the recovery network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', 'title' => ''], ], [ - 'name' => 'RecoveryEssdPerformanceLevel', + 'name' => 'CrashConsistentPointPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - 'default' => 'PL1', - 'enum' => [ - 'PL0', - 'PL1', - 'PL2', - 'PL3', - ], - ], + 'schema' => ['description' => 'The recovery point policy.', 'type' => 'string', 'required' => false, 'example' => '{"scheduleType":"CRON","expression":"0 0 */1 * * 0,1,2,3,4,5,6","initialDelay":0}', 'title' => ''], ], ], 'responses' => [ @@ -2638,47 +2436,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'BBCC4082-98DF-5804-96C6-0E74C37C5867', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0007wl5r0hvxrj68rrbg', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'The API status or a POP error code. Valid values: 2xx: success. 3xx: redirection. 4xx: client error. 5xx: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message. A value of \'success\' is returned if the request is successful.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => 'E50FE4A6-C876-5D6F-8A09-93442308AA7B', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"BBCC4082-98DF-5804-96C6-0E74C37C5867\\",\\n \\"TaskId\\": \\"t-0007wl5r0hvxrj68rrbg\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CommitFailover' => [ - 'summary' => '确认容灾切换', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"E50FE4A6-C876-5D6F-8A09-93442308AA7B\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Start replication', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:EnableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'EnableReplication'], + ], ], + ], + 'Failback' => [ + 'summary' => 'Failback.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2689,23 +2483,73 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000bzkmmlwghq3soqry2', - ], + 'schema' => ['description' => 'Protected server ID', 'type' => 'string', 'required' => false, 'example' => 'sr-000bzkmmlwghj95tnx15', 'title' => ''], + ], + [ + 'name' => 'RecoveryInfrastructureId', + 'in' => 'query', + 'schema' => ['description' => 'Recovery site infrastructure ID', 'type' => 'string', 'required' => false, 'example' => 'is-0007rvzart0rz2byr2x0', 'title' => ''], + ], + [ + 'name' => 'RecoveryInstanceName', + 'in' => 'query', + 'schema' => ['description' => 'Instance name for disaster recovery', 'type' => 'string', 'required' => false, 'example' => 'HDR_Recovery-sr-0007rvzart0rz2bv9fzm', 'title' => ''], + ], + [ + 'name' => 'RecoveryCpu', + 'in' => 'query', + 'schema' => ['description' => 'Number of CPU cores for the disaster recovery instance', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'RecoveryMemory', + 'in' => 'query', + 'schema' => ['description' => 'Memory size for the disaster recovery instance, in MB', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4294967296', 'title' => ''], + ], + [ + 'name' => 'RecoveryInstanceType', + 'in' => 'query', + 'schema' => ['description' => 'Instance type for disaster recovery. If not specified, the system automatically selects an available instance type based on the number of CPU cores and memory size.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.2xlarge', 'title' => ''], + ], + [ + 'name' => 'RecoveryNetwork', + 'in' => 'query', + 'schema' => ['description' => 'VSwitch ID of the failback instance', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1xmea0mkjtxqoubk7q8', 'title' => ''], + ], + [ + 'name' => 'RecoveryReserveIp', + 'in' => 'query', + 'schema' => ['description' => 'Retain the original IP address for the failback instance', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'RecoveryUseDhcp', + 'in' => 'query', + 'schema' => ['description' => 'Use DHCP to assign an IP address to the failback instance', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RecoveryIpAddress', + 'in' => 'query', + 'schema' => ['description' => 'Manually set the IP address for the failback instance', 'type' => 'string', 'required' => false, 'example' => '192.168.2.2', 'title' => ''], + ], + [ + 'name' => 'RecoveryPostScriptType', + 'in' => 'query', + 'schema' => ['description' => 'Script type to run after the failback instance starts', 'type' => 'string', 'required' => false, 'example' => 'SHELL', 'title' => ''], + ], + [ + 'name' => 'RecoveryPostScriptContent', + 'in' => 'query', + 'schema' => ['description' => 'Script content to run after the failback instance starts', 'type' => 'string', 'required' => false, 'example' => '"echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts"', 'title' => ''], + ], + [ + 'name' => 'RecoveryPointId', + 'in' => 'query', + 'schema' => ['description' => 'Recovery point ID', 'type' => 'string', 'required' => false, 'example' => 'rp-0001625ljmig7ahibe0y', 'title' => ''], ], ], 'responses' => [ @@ -2713,47 +2557,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '18603D03-FEA4-5FA8-878F-B03F11578F5F', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0007wl5r0hvxrj68rrbg', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '56CF7F68-C07B-5BE2-BE82-09D8E9719076', 'title' => ''], + 'TaskId' => ['description' => 'Task ID.', 'type' => 'string', 'example' => 't-0004ka624vrza82g46ne', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"18603D03-FEA4-5FA8-878F-B03F11578F5F\\",\\n \\"TaskId\\": \\"t-0007wl5r0hvxrj68rrbg\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'ForcedFailover' => [ - 'summary' => '容灾切换', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"56CF7F68-C07B-5BE2-BE82-09D8E9719076\\",\\n \\"TaskId\\": \\"t-0004ka624vrza82g46ne\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Fault recovery', + 'changeSet' => [ + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:Failback', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'Failback'], + ], ], + ], + 'ForcedFailover' => [ + 'summary' => 'Performs a forced failover.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2764,192 +2607,100 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000ih1rl47q6hksc910d', - ], + 'schema' => ['description' => 'The ID of the protected server.', 'type' => 'string', 'required' => false, 'example' => 'sr-000ih1rl47q6hksc910d', 'title' => ''], ], [ 'name' => 'RecoveryInstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'HDR_Recovery-sr-000bzkmmlwghq3soqry2', - ], + 'schema' => ['description' => 'The name of the failover instance.', 'type' => 'string', 'required' => false, 'example' => 'HDR_Recovery-sr-000bzkmmlwghq3soqry2', 'title' => ''], ], [ 'name' => 'RecoveryCpu', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The number of vCPUs for the failover instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], [ 'name' => 'RecoveryMemory', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4294967296', - ], + 'schema' => ['description' => 'The memory size of the failover instance.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4294967296', 'title' => ''], ], [ 'name' => 'RecoveryInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.r5.3xlarge', - ], + 'schema' => ['description' => 'The instance type of the failover instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.r5.3xlarge', 'title' => ''], ], [ 'name' => 'RecoveryUseSsd', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Indicates whether the cloud disks of the failover instance are solid-state drives (SSDs).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RecoveryUseEssd', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Indicates whether the cloud disks of the failover instance are Enhanced SSDs (ESSDs).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RecoveryNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1fh05y7ybq9kep6rtwu', - ], + 'schema' => ['description' => 'The ID of the vSwitch where the failover instance is located.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1fh05y7ybq9kep6rtwu', 'title' => ''], ], [ 'name' => 'RecoveryReserveIp', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Indicates whether the failover instance retains the IP address of the source server.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RecoveryUseDhcp', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Indicates whether the failover instance uses Dynamic Host Configuration Protocol (DHCP) to assign an IP address.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RecoveryIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.2.2', - ], + 'schema' => ['description' => 'The IP address that is manually specified for the failover instance.', 'type' => 'string', 'required' => false, 'example' => '192.168.2.2', 'title' => ''], ], [ 'name' => 'RecoveryPostScriptType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'SHELL', - ], + 'schema' => ['description' => 'The type of the script to execute after the failover instance starts.', 'type' => 'string', 'required' => false, 'example' => 'SHELL', 'title' => ''], ], [ 'name' => 'RecoveryPostScriptContent', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', - ], + 'schema' => ['description' => 'The content of the script to execute after the failover instance starts.', 'type' => 'string', 'required' => false, 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts', 'title' => ''], ], [ 'name' => 'RecoveryPointId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-000184qxs690bth6jyqn', - ], + 'schema' => ['description' => 'The recovery point ID.', 'type' => 'string', 'required' => false, 'example' => 'rp-000184qxs690bth6jyqn', 'title' => ''], ], [ 'name' => 'RecoveryPointTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1636526948', - ], + 'schema' => ['description' => 'The time of the recovery point.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1636526948', 'title' => ''], ], [ 'name' => 'EipAddressId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'eip-bp1x7nua6eab8m4vsis9k', - ], + 'schema' => ['description' => 'The ID of the elastic network interface (ENI) that is attached to the instance for failover.', 'type' => 'string', 'required' => false, 'example' => 'eip-bp1x7nua6eab8m4vsis9k', 'title' => ''], ], [ 'name' => 'RecoveryEssdPerformanceLevel', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The performance level (PL) of the ESSD. The supported PL is determined by the minimum cloud disk size.', 'type' => 'string', + 'default' => 'PL1', + 'enum' => ['PL0', 'PL1', 'PL2', 'PL3'], 'required' => false, 'example' => 'PL2', - 'default' => 'PL1', - 'enum' => [ - 'PL0', - 'PL1', - 'PL2', - 'PL3', - ], + 'title' => '', ], ], ], @@ -2958,74 +2709,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '26DF0E81-08E2-5AE3-96AA-05F5F826261C', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-000ios55mggw4ifiy3nc', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '26DF0E81-08E2-5AE3-96AA-05F5F826261C', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 't-000ios55mggw4ifiy3nc', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"26DF0E81-08E2-5AE3-96AA-05F5F826261C\\",\\n \\"TaskId\\": \\"t-000ios55mggw4ifiy3nc\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'TriggerReversedRegister' => [ - 'summary' => '开始反向注册保护实例', - 'methods' => [ - 'post', - 'get', + 'title' => 'Failover', + 'changeSet' => [ + ['createdAt' => '2024-01-09T06:44:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-09T06:59:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T07:59:07.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ForcedFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ForcedFailover'], + ], ], + ], + 'RegisterServers' => [ + 'summary' => 'Add servers to protection.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrE49XN0'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'SitePairId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-0007rvzart0bneyhl4q1', - ], + 'schema' => ['description' => 'Site pair ID', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-000cm9ax8sgzwujrzdwt'], + ], + [ + 'name' => 'ServerInstancesInfo', + 'in' => 'query', + 'schema' => ['description' => 'Server registration information', 'type' => 'string', 'required' => false, 'example' => '"[{\\"instanceId\\":\\"i-uf60ngpe9sseu5gsgu45\\",\\"privateIpAddress\\":\\"192.168.1.198\\",\\"osType\\":\\"linux\\",\\"osName\\":\\"CentOS 7.8 64位\\",\\"cpu\\":2,\\"memory\\":4294967296,\\"hostName\\":\\"hdr-test\\"}]"', 'title' => ''], + ], + [ + 'name' => 'AgentPort', + 'in' => 'query', + 'schema' => ['description' => 'Agent service port. Default is 9080.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '9080', 'default' => '9080', 'title' => ''], ], ], 'responses' => [ @@ -3033,96 +2786,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1D39F0BE-B3F9-5AA9-AD49-BE8CD7B4BF7B', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-000fzufp79idzl6bniso', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Response code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'D76E741C-68B7-5281-8C5B-698AD06B0D89', 'title' => ''], + 'TaskId' => ['description' => 'Task ID', 'type' => 'string', 'example' => 't-0001nlbcl4bynbb67x4w', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"1D39F0BE-B3F9-5AA9-AD49-BE8CD7B4BF7B\\",\\n \\"TaskId\\": \\"t-000fzufp79idzl6bniso\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DescribeInfrastructures' => [ - 'summary' => '查询基础设施列表', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"D76E741C-68B7-5281-8C5B-698AD06B0D89\\",\\n \\"TaskId\\": \\"t-0001nlbcl4bynbb67x4w\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Add a protected server', + 'changeSet' => [ + ['createdAt' => '2022-03-02T02:04:09.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:RegisterServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'RegisterServers'], + ], ], + ], + 'ReversedDisableReplication' => [ + 'summary' => 'Stops reverse replication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - ], + 'abilityTreeNodes' => ['FEATUREhdrKVSJIZ', 'FEATUREhdrF01CKY', 'FEATUREhdrEJMNXE'], ], 'parameters' => [ [ - 'name' => 'SiteId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'si-0005btelnqjwguycypba', - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'ID of the protected server.', 'type' => 'string', 'required' => false, 'example' => 'sr-000cm9ax8sh2i6pc16u9', 'title' => ''], ], ], 'responses' => [ @@ -3130,106 +2850,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '32AC7E7F-5484-548D-8D3F-905238B75080', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Infrastructures' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'infrastructure' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'aliyun', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '172.18.122.66', - ], - 'InfrastructureId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'is-0005qxusucbig0c42dlo', - ], - 'Errno' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cdr.console.plugin.failed_to_connect', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-0006w0mxd3w8jiifu77l-infrastructure1', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'Return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '5904D638-152A-5F1F-8652-E535EABF3ABA', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"32AC7E7F-5484-548D-8D3F-905238B75080\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 2,\\n \\"TotalCount\\": 1,\\n \\"Infrastructures\\": {\\n \\"infrastructure\\": [\\n {\\n \\"Type\\": \\"aliyun\\",\\n \\"Status\\": \\"connected\\",\\n \\"IpAddress\\": \\"172.18.122.66\\",\\n \\"InfrastructureId\\": \\"is-0005qxusucbig0c42dlo\\",\\n \\"Errno\\": \\"cdr.console.plugin.failed_to_connect\\",\\n \\"Name\\": \\"si-0006w0mxd3w8jiifu77l-infrastructure1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'ReversedEnableReplication' => [ - 'summary' => '保护实例启动反向复制', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"5904D638-152A-5F1F-8652-E535EABF3ABA\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Stop reverse replication', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ReversedDisableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ReversedDisableReplication'], + ], ], + ], + 'ReversedEnableReplication' => [ + 'summary' => 'Start reverse replication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3240,174 +2897,117 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - ], + 'abilityTreeNodes' => ['FEATUREhdrE49XN0', 'FEATUREhdrF01CKY', 'FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000cm9ax8sh2381wa7kv', - ], + 'schema' => ['description' => 'Protected server ID.', 'type' => 'string', 'required' => false, 'example' => 'sr-000cm9ax8sh2381wa7kv', 'title' => ''], ], [ 'name' => 'ReplicationUseOriginalInstance', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Use the source instance for reverse replication.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'ReplicationInfrastructureId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'is-000bzkmmlwgibbduuoff', - ], + 'schema' => ['description' => 'Target site infrastructure ID.', 'type' => 'string', 'required' => false, 'example' => 'is-000bzkmmlwgibbduuoff', 'title' => ''], ], [ 'name' => 'ReplicationLocation', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "type": "Datacenter",'."\n" + .' "name": "Datacenter",'."\n" + .' "moId": "datacenter-3",'."\n" + .' "path": "Datacenter",'."\n" + .' "properties": {'."\n" + .' "folderId": "group-v4"'."\n" + .' },'."\n" + .' "__level": 0'."\n" + .'}', 'title' => ''], ], [ 'name' => 'ReplicationComputeResource', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "type": "ComputeResource",'."\n" + .' "name": "*",'."\n" + .' "moId": "*",'."\n" + .' "path": "Datacenter/host/*",'."\n" + .' "properties": {'."\n" + .' "resourcePoolId": "resgroup-33135",'."\n" + .' "hasHost": true'."\n" + .' },'."\n" + .' "__level": 0'."\n" + .'}', 'title' => ''], ], [ 'name' => 'ReplicationDatastore', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "type": "Datastore",'."\n" + .' "name": "NTNX_storage",'."\n" + .' "moId": "datastore-*",'."\n" + .' "path": "*",'."\n" + .' "properties": {'."\n" + .' "freeSpace": "2406020349952",'."\n" + .' "capacity": "14817637171200"'."\n" + .' },'."\n" + .' "__level": 0'."\n" + .'}', 'title' => ''], ], [ 'name' => 'ReplicationNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1ii4x07tey6sisg4blp', - ], + 'schema' => ['description' => 'VSwitch ID of the replication network for reverse replication.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1ii4x07tey6sisg4blp', 'title' => ''], ], [ 'name' => 'ReplicationUseDhcp', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'boolean', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ReplicationIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '192.168.0.12', 'title' => ''], ], [ 'name' => 'ReplicationNetMask', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/16', 'title' => ''], ], [ 'name' => 'ReplicationDns', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '10.11.0.10', 'title' => ''], ], [ 'name' => 'ReplicationGateway', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '10.11.0.1', 'title' => ''], ], [ 'name' => 'RecoveryNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1xmea0mkjtxqoubk7q8', - ], + 'schema' => ['description' => 'VSwitch ID of the recovery network for reverse replication.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1xmea0mkjtxqoubk7q8', 'title' => ''], ], [ 'name' => 'CrashConsistentPointPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '{"scheduleType":"CRON","expression":"0 0 */1 * * 0,1,2,3,4,5,6","initialDelay":0}', 'title' => ''], ], [ 'name' => 'AppConsistentPointPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => '{"scheduleType":"CRON","expression":"0 0 */1 * * 0,1,2,3,4,5,6","initialDelay":0}', 'title' => ''], ], [ 'name' => 'ShadowInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '-', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.xlarge', 'title' => ''], ], ], 'responses' => [ @@ -3415,73 +3015,61 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D5CF3A51-1F39-5B16-AC0C-AD9B632D100D', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0004ka624vrxwublmqw6', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'API return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'D5CF3A51-1F39-5B16-AC0C-AD9B632D100D', 'title' => ''], + 'TaskId' => ['description' => 'Job ID.', 'type' => 'string', 'example' => 't-0004ka624vrxwublmqw6', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"D5CF3A51-1F39-5B16-AC0C-AD9B632D100D\\",\\n \\"TaskId\\": \\"t-0004ka624vrxwublmqw6\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'ReversedDisableReplication' => [ - 'summary' => '保护实例停止反向复制', - 'methods' => [ - 'post', - 'get', + 'title' => 'Start reverse replication', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ReversedEnableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ReversedEnableReplication'], + ], ], + ], + 'TestCleanup' => [ + 'summary' => 'Cleans up the disaster recovery drills environment.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrF01CKY', - 'FEATUREhdrEJMNXE', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000cm9ax8sh2i6pc16u9', - ], + 'schema' => ['description' => 'Protected server ID', 'type' => 'string', 'required' => false, 'example' => 'sr-000cvyfewfi6fzi9zoql', 'title' => ''], ], ], 'responses' => [ @@ -3489,42 +3077,44 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5904D638-152A-5F1F-8652-E535EABF3ABA', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '531E3DB9-3ED6-5F06-A09A-721F279CB64B', 'title' => ''], + 'TaskId' => ['description' => 'Task ID.', 'type' => 'string', 'example' => 't-000bzkmmlwh6tpzhitdz', 'title' => ''], + 'Success' => ['description' => 'Is the operation successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"5904D638-152A-5F1F-8652-E535EABF3ABA\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'Failback' => [ - 'summary' => '容灾恢复', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"531E3DB9-3ED6-5F06-A09A-721F279CB64B\\",\\n \\"TaskId\\": \\"t-000bzkmmlwh6tpzhitdz\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Clean up the disaster recovery drills environment', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TestCleanup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TestCleanup'], + ], ], + ], + 'TestFailover' => [ + 'summary' => 'Performs a disaster recovery drill.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3535,304 +3125,101 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sr-000bzkmmlwghj95tnx15', - ], - ], - [ - 'name' => 'RecoveryInfrastructureId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'is-0007rvzart0rz2byr2x0', - ], + 'schema' => ['description' => 'Protected server ID', 'type' => 'string', 'required' => false, 'example' => 'sr-000cvyfewfi7eudxml1a', 'title' => ''], ], [ 'name' => 'RecoveryInstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'HDR_Recovery-sr-0007rvzart0rz2bv9fzm', - ], + 'schema' => ['description' => 'Instance name for the drill', 'type' => 'string', 'required' => false, 'example' => 'test-failover-instance', 'title' => ''], ], [ 'name' => 'RecoveryCpu', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'Number of CPU cores for the drill instance', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '2', 'title' => '', 'example' => '2'], ], [ 'name' => 'RecoveryMemory', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4294967296', - ], + 'schema' => ['description' => 'Memory size of the drill instance, in MB', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4294967296', 'title' => ''], ], [ 'name' => 'RecoveryInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.2xlarge', - ], + 'schema' => ['description' => 'Instance type for the drill. If not specified, the system automatically finds an available instance type based on the specified number of CPU cores and memory size.', 'type' => 'string', 'required' => false, 'default' => 'null', 'title' => '', 'example' => 'ecs.c5.large '], + ], + [ + 'name' => 'RecoveryUseSsd', + 'in' => 'query', + 'schema' => ['description' => 'Whether the drill instance uses SSD cloud disks', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'], + ], + [ + 'name' => 'RecoveryUseEssd', + 'in' => 'query', + 'schema' => ['description' => 'Whether the drill instance uses ESSD cloud disks', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'], ], [ 'name' => 'RecoveryNetwork', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1xmea0mkjtxqoubk7q8', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'VSwitch ID where the drill instance resides', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1g0s2u3b2kbn46kiy53', 'title' => ''], ], [ 'name' => 'RecoveryReserveIp', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Whether the drill instance retains the source machine\'s IP address (requires the VSwitch where the drill runs to include the corresponding CIDR block)', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'], ], [ 'name' => 'RecoveryUseDhcp', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Whether the drill instance uses DHCP to assign an IP address', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'], ], [ 'name' => 'RecoveryIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.2.2', - ], + 'schema' => ['description' => 'IP address of the drill instance', 'type' => 'string', 'required' => false, 'example' => '10.10.10.10', 'title' => ''], ], [ 'name' => 'RecoveryPostScriptType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'SHELL', - ], + 'schema' => ['description' => 'Script type to execute after the drill instance starts. Options: SHELL', 'type' => 'string', 'required' => false, 'example' => 'SHELL', 'title' => ''], ], [ 'name' => 'RecoveryPostScriptContent', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '"echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts"', - ], + 'schema' => ['description' => 'Script to execute after the drill instance starts', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'echo \\"127.0.0.1 kubernetes.docker.internal\\" >> /etc/hosts'], ], [ 'name' => 'RecoveryPointId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-0001625ljmig7ahibe0y', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '56CF7F68-C07B-5BE2-BE82-09D8E9719076', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0004ka624vrza82g46ne', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], + 'schema' => ['description' => 'Recovery point ID used by the drill instance', 'type' => 'string', 'required' => false, 'example' => 'rp-0001cgurtbrvrkj2p2pp', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"56CF7F68-C07B-5BE2-BE82-09D8E9719076\\",\\n \\"TaskId\\": \\"t-0004ka624vrza82g46ne\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CreateRecoveryPlan' => [ - 'summary' => '创建恢复计划', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], - ], - 'parameters' => [ - [ - 'name' => 'SitePairId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-xxxxxxxxxxxxxxxxxx', - ], - ], - [ - 'name' => 'Name', + 'name' => 'RecoveryPointTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test1', - ], + 'schema' => ['description' => 'Recovery point time. If the recovery point ID is not specified, query available recovery points based on the recovery point time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1646046000', 'title' => ''], ], [ - 'name' => 'Direction', + 'name' => 'EipAddressId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'forward', - ], + 'schema' => ['description' => 'Elastic IP Address ID bound to the drill instance', 'type' => 'string', 'required' => false, 'example' => 'eip-bp1nf283u9p060q4gim7m', 'title' => ''], ], [ - 'name' => 'Content', + 'name' => 'RecoveryEssdPerformanceLevel', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'PL level of the ESSD disk. Supported PL levels are determined by the minimum cloud disk size.', 'type' => 'string', + 'default' => 'PL1', + 'enum' => ['PL0', 'PL1', 'PL2', 'PL3'], 'required' => false, - 'example' => '{'."\n" - .' "groups": ['."\n" - .' {'."\n" - .' "name": "Group-1",'."\n" - .' "id": "Group-1",'."\n" - .' "servers": ['."\n" - .' {'."\n" - .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "testFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "testCleanupAction": {},'."\n" - .' "changeRecoveryPointAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "forcedFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' }'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .'}', + 'example' => 'PL3', + 'title' => '', ], ], ], @@ -3841,47 +3228,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'FEC3D491-15BB-5C8F-902E-773794FF1B29', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-00055g8sxr0ys0g99n83', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Unique request ID.', 'type' => 'string', 'example' => '6758891B-CF5A-5CA6-BF59-633573B91140', 'title' => ''], + 'TaskId' => ['description' => 'Task ID.', 'type' => 'string', 'example' => 't-000h3k00ckeknbukn5a5', 'title' => ''], + 'Success' => ['description' => 'Whether the call was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"FEC3D491-15BB-5C8F-902E-773794FF1B29\\",\\n \\"TaskId\\": \\"t-00055g8sxr0ys0g99n83\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DeleteRecoveryPlan' => [ - 'summary' => '删除恢复计划', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"6758891B-CF5A-5CA6-BF59-633573B91140\\",\\n \\"TaskId\\": \\"t-000h3k00ckeknbukn5a5\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Disaster recovery drills', + 'changeSet' => [ + ['createdAt' => '2024-01-09T07:12:48.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-09T06:59:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-28T11:04:29.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TestFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TestFailover'], + ], ], + ], + 'TriggerReversedRegister' => [ + 'summary' => 'Reverse register the instance that completed failover. This operation registers the instance from the destination site back to the source site to prepare the system for reverse replication and failback.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3889,26 +3277,16 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'RecoveryPlanId', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-xxxxxxxxxxxxxxxx', - ], + 'schema' => ['description' => 'ID of the protected server', 'type' => 'string', 'required' => false, 'example' => 'sr-0007rvzart0bneyhl4q1', 'title' => ''], ], ], 'responses' => [ @@ -3916,74 +3294,61 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '36C9E5CF-D575-5074-9A3E-79251448D708', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0006ezqwy1swxqgcrfvx', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'Error code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Error message', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '1D39F0BE-B3F9-5AA9-AD49-BE8CD7B4BF7B', 'title' => ''], + 'TaskId' => ['description' => 'Task ID', 'type' => 'string', 'example' => 't-000fzufp79idzl6bniso', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation succeeded', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"36C9E5CF-D575-5074-9A3E-79251448D708\\",\\n \\"TaskId\\": \\"t-0006ezqwy1swxqgcrfvx\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DescribeRecoveryPlan' => [ - 'summary' => '查询恢复计划信息', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"1D39F0BE-B3F9-5AA9-AD49-BE8CD7B4BF7B\\",\\n \\"TaskId\\": \\"t-000fzufp79idzl6bniso\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Reverse Registration ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TriggerReversedRegister', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TriggerReversedRegister'], + ], ], + ], + 'UnregisterServer' => [ + 'summary' => 'Removes a protected server from the backup service.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrEJMNXE', 'FEATUREhdrKVSJIZ', 'FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ - 'name' => 'RecoveryPlanId', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-xxxxxxxxxxxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the protected server.', 'type' => 'string', 'required' => true, 'example' => 'sr-000jf20efavec47ucq5g', 'title' => ''], ], ], 'responses' => [ @@ -3991,269 +3356,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'init', - ], - 'Direction' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'forward', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '6F3884EC-AECB-52EF-AFE3-BC13A9688DEB', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'Content' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{'."\n" - .' "groups": ['."\n" - .' {'."\n" - .' "name": "Group-1",'."\n" - .' "id": "Group-1",'."\n" - .' "servers": ['."\n" - .' {'."\n" - .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "testFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "testCleanupAction": {},'."\n" - .' "changeRecoveryPointAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "forcedFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' }'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], - 'RecoveryPlanId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'rp-xxxxxxxxxxxxxxxxxx', - ], + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D2E81EC9-B206-54EA-BBCF-9D4D6AFE7AA8', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"init\\",\\n \\"Direction\\": \\"forward\\",\\n \\"RequestId\\": \\"6F3884EC-AECB-52EF-AFE3-BC13A9688DEB\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Name\\": \\"test\\",\\n \\"Content\\": \\"{\\\\n \\\\\\"groups\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"Group-1\\\\\\",\\\\n \\\\\\"id\\\\\\": \\\\\\"Group-1\\\\\\",\\\\n \\\\\\"servers\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"sr-xxxxxxxxxxxxxxxxxx\\\\\\",\\\\n \\\\\\"serverId\\\\\\": \\\\\\"sr-xxxxxxxxxxxxxxxxxx\\\\\\",\\\\n \\\\\\"testFailoverAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n },\\\\n \\\\\\"testCleanupAction\\\\\\": {},\\\\n \\\\\\"changeRecoveryPointAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n },\\\\n \\\\\\"forcedFailoverAction\\\\\\": {\\\\n \\\\\\"eipAddressId\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptContent\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryPostScriptType\\\\\\": \\\\\\"POWERSHELL\\\\\\",\\\\n \\\\\\"recoveryInstanceName\\\\\\": \\\\\\"HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo\\\\\\",\\\\n \\\\\\"recoveryCpu\\\\\\": 2,\\\\n \\\\\\"recoveryMemory\\\\\\": 4294967296,\\\\n \\\\\\"recoveryUseEssd\\\\\\": false,\\\\n \\\\\\"recoveryUseSsd\\\\\\": false,\\\\n \\\\\\"recoveryReserveIp\\\\\\": false,\\\\n \\\\\\"recoveryUseDhcp\\\\\\": true,\\\\n \\\\\\"recoveryIpAddress\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"recoveryNetwork\\\\\\": \\\\\\"vsw-xxxxxxxxxxxxxxxxxx\\\\\\"\\\\n }\\\\n }\\\\n ]\\\\n }\\\\n ]\\\\n}\\",\\n \\"RecoveryPlanId\\": \\"rp-xxxxxxxxxxxxxxxxxx\\"\\n}","type":"json"}]', - ], - 'DescribeRecoveryPlans' => [ - 'summary' => '查询恢复计划列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], - ], - 'parameters' => [ - [ - 'name' => 'SitePairId', - 'in' => 'query', - 'schema' => [ 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-0005qxusucbii5ab6wuj', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + 'title' => '', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'F2812CD7-03E7-5774-9EE5-827D8398A670', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RecoveryPlans' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'recoveryPlan' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'init', - ], - 'Direction' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'forward', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test-1', - ], - 'RecoveryPlanId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'rp-xxxxxxxxxxxxxxxxxx', - ], - ], - ], - ], - ], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"D2E81EC9-B206-54EA-BBCF-9D4D6AFE7AA8\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Log off a protected server', + 'changeSet' => [ + ['createdAt' => '2022-03-02T02:04:10.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:UnregisterServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F2812CD7-03E7-5774-9EE5-827D8398A670\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RecoveryPlans\\": {\\n \\"recoveryPlan\\": [\\n {\\n \\"Status\\": \\"init\\",\\n \\"Direction\\": \\"forward\\",\\n \\"Name\\": \\"test-1\\",\\n \\"RecoveryPlanId\\": \\"rp-xxxxxxxxxxxxxxxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'UnregisterServer'], + ], + ], ], 'UpdateRecoveryPlan' => [ - 'summary' => '更新恢复计划', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Modifies the content of a recovery plan.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4264,97 +3405,79 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', - ], + 'abilityTreeNodes' => ['FEATUREhdrE49XN0', 'FEATUREhdrF01CKY'], ], 'parameters' => [ [ 'name' => 'RecoveryPlanId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rp-xxxxxxxxxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the recovery plan.', 'type' => 'string', 'required' => false, 'example' => 'rp-xxxxxxxxxxxxxxxx', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test-1', - ], + 'schema' => ['description' => 'The name of the recovery plan.', 'type' => 'string', 'required' => false, 'example' => 'test-1', 'title' => ''], ], [ 'name' => 'Content', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "groups": ['."\n" - .' {'."\n" - .' "name": "Group-1",'."\n" - .' "id": "Group-1",'."\n" - .' "servers": ['."\n" - .' {'."\n" - .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" - .' "testFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "testCleanupAction": {},'."\n" - .' "changeRecoveryPointAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' },'."\n" - .' "forcedFailoverAction": {'."\n" - .' "eipAddressId": "",'."\n" - .' "recoveryPostScriptContent": "",'."\n" - .' "recoveryPostScriptType": "POWERSHELL",'."\n" - .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" - .' "recoveryCpu": 2,'."\n" - .' "recoveryMemory": 4294967296,'."\n" - .' "recoveryUseEssd": false,'."\n" - .' "recoveryUseSsd": false,'."\n" - .' "recoveryReserveIp": false,'."\n" - .' "recoveryUseDhcp": true,'."\n" - .' "recoveryIpAddress": "",'."\n" - .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" - .' }'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], + 'schema' => ['description' => 'The details of the recovery plan.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "groups": ['."\n" + .' {'."\n" + .' "name": "Group-1",'."\n" + .' "id": "Group-1",'."\n" + .' "servers": ['."\n" + .' {'."\n" + .' "name": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "serverId": "sr-xxxxxxxxxxxxxxxxxx",'."\n" + .' "testFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-tfo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "testCleanupAction": {},'."\n" + .' "changeRecoveryPointAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-cpr",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' },'."\n" + .' "forcedFailoverAction": {'."\n" + .' "eipAddressId": "",'."\n" + .' "recoveryPostScriptContent": "",'."\n" + .' "recoveryPostScriptType": "POWERSHELL",'."\n" + .' "recoveryInstanceName": "HDR_Recovery-sr-xxxxxxxxxxxxxxxxxx-ffo",'."\n" + .' "recoveryCpu": 2,'."\n" + .' "recoveryMemory": 4294967296,'."\n" + .' "recoveryUseEssd": false,'."\n" + .' "recoveryUseSsd": false,'."\n" + .' "recoveryReserveIp": false,'."\n" + .' "recoveryUseDhcp": true,'."\n" + .' "recoveryIpAddress": "",'."\n" + .' "recoveryNetwork": "vsw-xxxxxxxxxxxxxxxxxx"'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .'}', 'title' => ''], ], ], 'responses' => [ @@ -4362,1010 +3485,650 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'F1B86896-AB3E-5861-9E33-10486F056BB3', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-000ir69ra7neqp2p4qdv', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F1B86896-AB3E-5861-9E33-10486F056BB3', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 't-000ir69ra7neqp2p4qdv', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"F1B86896-AB3E-5861-9E33-10486F056BB3\\",\\n \\"TaskId\\": \\"t-000ir69ra7neqp2p4qdv\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Edit Recovery Plan', + 'changeSet' => [ + ['createdAt' => '2024-01-09T07:12:48.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:UpdateRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'UpdateRecoveryPlan'], + ], + ], ], - 'DescribeAvailableInstanceTypes' => [ - 'summary' => '查询可用实例规格列表', - 'methods' => [ - 'post', - 'get', + ], + 'endpoints' => [ + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hdr.cn-shanghai.aliyuncs.com', 'endpoint' => 'hdr.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hdr.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'hdr.cn-zhangjiakou.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'DrillVpcInUse', 'message' => 'The VPC for drill is used for drill groups.', 'http_code' => 400, 'description' => 'The VPC for drill is used for drill groups.'], + ['code' => 'Forbidden.NoPermission', 'message' => 'You are not authorized to do this operation.', 'http_code' => 403, 'description' => 'You do not have permission to operate.'], + ['code' => 'InvalidImageSize', 'message' => 'The image size exceeds the system disk capacity.', 'http_code' => 400, 'description' => 'The image size exceeds the system disk capacity.'], + ['code' => 'InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], + ['code' => 'ORDER.OPEND', 'message' => 'You have already enabled, please go to the console to use it.', 'http_code' => 400, 'description' => 'You have already opened it, please go directly to the console to start using it.'], + ['code' => 'ORDER.OPENED', 'message' => 'You have already enabled, please go to the console to use it.', 'http_code' => 400, 'description' => 'You have already enabled, please go to the console to use it.'], + ['code' => 'PERMISSION_DENIED', 'message' => 'No permission.', 'http_code' => 403, 'description' => 'Call without permission'], + ['code' => 'ServiceReadOnly', 'message' => 'The service is read-only right now, check the service endpoint please.', 'http_code' => 400, 'description' => 'The service is currently read-only. Please use the correct service Endpoint.'], + ['code' => 'ServiceReadyOnly', 'message' => 'The service is read only right now, check the service endpoint please.', 'http_code' => 500, 'description' => 'The service is currently read-only. Check whether the service Endpoint is correct.'], + ['code' => 'SitePairIsNotEmpty', 'message' => 'The site pair may contains protection group, network mapping or security group mapping.', 'http_code' => 400, 'description' => 'The site pair may contains protection group, network mapping or security group mapping.'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'TestFailover'], + ['description' => 'Response parameters changed', 'api' => 'UpdateRecoveryPlan'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2024-01-09T07:12:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ForcedFailover'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2024-01-09T06:44:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeRecoveryPlans'], + ['description' => 'Error codes changed', 'api' => 'DescribeRecoveryPoints'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServer'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServers'], + ], + 'createdAt' => '2024-01-09T06:27:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DeleteRecoveryPlan'], + ['description' => 'Response parameters changed', 'api' => 'DescribeRecoveryPlan'], ], - 'operationType' => 'read', - 'systemTags' => [ + 'createdAt' => '2024-01-09T06:12:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ChangeRecoveryPoint'], + ['description' => 'Error codes changed', 'api' => 'CommitFailover'], + ['description' => 'Response parameters changed', 'api' => 'CreateRecoveryPlan'], + ], + 'createdAt' => '2024-01-09T05:42:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeServer'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServers'], + ], + 'createdAt' => '2023-01-09T07:06:00.000Z', + 'description' => 'DescribeServer和DescribeServers返回RecoveryHostName', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ChangeRecoveryPoint'], + ['description' => 'Response parameters changed', 'api' => 'ForcedFailover'], + ['description' => 'Response parameters changed', 'api' => 'TestFailover'], + ], + 'createdAt' => '2023-01-09T07:01:14.000Z', + 'description' => 'ForcedFailover、TestFailover、ChangeRecoveryPoint支持指定HostName', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeServer'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServers'], + ], + 'createdAt' => '2022-04-20T06:14:02.000Z', + 'description' => 'DescribeServer与DescribeServers接口出参新增最近恢复点时间', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'ChangeRecoveryPoint'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateSitePair'], + ['description' => 'Request parameters changed', 'api' => 'DescribeAvailableInstanceTypes'], + ['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DescribeServer'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServers'], + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'DescribeSite'], + ['description' => 'Response parameters changed', 'api' => 'DescribeSitePair'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeSitePairs'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeTask'], + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeTasks'], + ], + 'createdAt' => '2022-03-08T02:42:53.000Z', + 'description' => '文档更新', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateSitePair'], + ['description' => 'Error codes changed', 'api' => 'DeleteSitePair'], + ['description' => 'Request parameters changed', 'api' => 'RegisterServers'], + ['description' => 'Error codes changed', 'api' => 'UnregisterServer'], + ], + 'createdAt' => '2022-03-02T03:19:29.000Z', + 'description' => '更新部分接口的可见性', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'TestFailover'], + ], + 'createdAt' => '2022-03-01T16:05:29.000Z', + 'description' => '更新TestFailover描述与示例值', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeployGateway'], + ], + 'createdAt' => '2022-02-28T08:27:22.000Z', + 'description' => '将内部使用的API转为私有,为发布文档和SDK做准备', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeSitePair'], + ], + 'createdAt' => '2022-02-28T08:00:43.000Z', + 'description' => '将非必要公开的API转为私有,为发布文档和SDK做准备', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeServerInstances'], + ], + 'createdAt' => '2022-02-26T06:35:05.000Z', + 'description' => 'DescribeServerInstance接口增加主机名HostName参数', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeSitePairs'], + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeSummary'], + ], + 'createdAt' => '2021-11-18T05:34:38.000Z', + 'description' => 'DescribeSummary和DescribeSitePairs接口返回服务器复制状态', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeServer'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CreateRecoveryPlan'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeTasks'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TestCleanup'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ChangeRecoveryPoint'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DeleteSitePair'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ReversedDisableReplication'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'UnregisterServer'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CommitFailover'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DisableReplication'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPlan'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPlans'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ForcedFailover'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeTask'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePairStatistics'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSite'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'EnableReplication'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TriggerReversedRegister'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeAvailableInstanceTypes'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'UpdateRecoveryPlan'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'TestFailover'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeInfrastructures'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'ReversedEnableReplication'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSummary'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePairs'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'RegisterServers'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeServers'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DeleteRecoveryPlan'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeSitePair'], + ['threshold' => '200', 'countWindow' => 10, 'regionId' => '*', 'api' => 'DescribeRecoveryPoints'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'CreateSitePair'], + ['threshold' => '100', 'countWindow' => 10, 'regionId' => '*', 'api' => 'Failback'], + ], + ], + 'ram' => [ + 'productCode' => 'HDR', + 'productName' => 'Hybrid Disaster Recovery', + 'ramCodes' => ['hdr'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribeRecoveryPoints', + 'description' => '', 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrF01CKY', - 'FEATUREhdrE49XN0', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPoints', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', + [ + 'apiName' => 'DeleteSitePair', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'hdr:DeleteSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-g', + ], + [ + 'apiName' => 'DescribeSitePairStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePairStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DiskType', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'cloud_efficiency,cloud_essd,cloud_ssd' => 'cloud_efficiency,cloud_essd,cloud_ssd', - ], - 'example' => 'cloud_efficiency', + ], + [ + 'apiName' => 'RegisterServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:RegisterServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PostPaid' => 'PostPaid', - 'PrePaid' => 'PrePaid', - ], - 'example' => 'PostPaid', - 'default' => 'PostPaid', - 'enum' => [ - 'PostPaid', - 'PrePaid', - ], + ], + [ + 'apiName' => 'DescribeSite', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSite', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Network', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'classic' => 'classic', - 'vpc' => 'vpc', - ], - 'example' => 'vpc', - 'default' => 'vpc', + ], + [ + 'apiName' => 'DescribeSitePair', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IoOptimized', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', + ], + [ + 'apiName' => 'TestCleanup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TestCleanup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'memory' => 'memory', - 'vcpu' => 'vcpu', - ], - 'example' => 'vcpu', - 'default' => 'network', + ], + [ + 'apiName' => 'DescribeTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Order', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'asc' => 'asc', - 'desc' => 'desc', - ], - 'example' => 'asc', - 'default' => 'desc', - 'enum' => [ - 'asc', - 'desc', - ], + ], + [ + 'apiName' => 'DescribeTasks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Filter', - 'in' => 'query', - 'schema' => [ - 'description' => '-', - 'type' => 'string', - 'required' => false, - 'example' => '-', + ], + [ + 'apiName' => 'DescribeAvailableInstanceTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeAvailableInstanceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'DisableReplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:DisableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'CreateRecoveryPlan', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'hdr:CreateRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'UserClient', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + [ + 'apiName' => 'UpdateRecoveryPlan', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:UpdateRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1A7577E8-755A-5BF5-A6BA-B87286D0743F', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], - 'InstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'instanceType' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.g5ne.xlarge', - ], - ], - ], - ], - ], + [ + 'apiName' => 'TestFailover', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TestFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A7577E8-755A-5BF5-A6BA-B87286D0743F\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 11,\\n \\"InstanceTypes\\": {\\n \\"instanceType\\": [\\n \\"ecs.g5ne.xlarge\\"\\n ]\\n }\\n}","type":"json"}]', - ], - 'DescribeTasks' => [ - 'summary' => '查询任务列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ForcedFailover', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ForcedFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrF01CKY', - 'FEATUREhdrE49XN0', + [ + 'apiName' => 'TriggerReversedRegister', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:TriggerReversedRegister', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SitePairId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-000cm9ax8sh22u8r9gs0', + [ + 'apiName' => 'UnregisterServer', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:UnregisterServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'ReversedEnableReplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ReversedEnableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'CommitFailover', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:CommitFailover', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'updatedTime' => 'updatedTime', - 'createdTime' => 'createdTime', - ], - 'example' => 'createdTime', + ], + [ + 'apiName' => 'DescribeSummary', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeSummary', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '86FFBA6E-D087-53E0-8593-4575925CB9DC', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '53', - ], - 'Tasks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'task' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Progress' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'UpdatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1637292645', - ], - 'StatusCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'hdr.task.completed', - ], - 'TargetName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000ftuch27gfuv8wvpyj', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CommitFailoverTask', - ], - 'CreatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1636092147', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-0007wl5r0hvxrp3c3x8z', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeRecoveryPlans', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPlans', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86FFBA6E-D087-53E0-8593-4575925CB9DC\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 3,\\n \\"TotalCount\\": 53,\\n \\"Tasks\\": {\\n \\"task\\": [\\n {\\n \\"Progress\\": 90,\\n \\"UpdatedTime\\": 1637292645,\\n \\"StatusCode\\": \\"hdr.task.completed\\",\\n \\"TargetName\\": \\"sr-000ftuch27gfuv8wvpyj\\",\\n \\"Name\\": \\"CommitFailoverTask\\",\\n \\"CreatedTime\\": 1636092147,\\n \\"TaskId\\": \\"t-0007wl5r0hvxrp3c3x8z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'DescribeTask' => [ - 'summary' => '查询任务详情', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'EnableReplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:EnableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', + [ + 'apiName' => 'DescribeInfrastructures', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeInfrastructures', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'TaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 't-0005qxusucbnl5efovq9', + [ + 'apiName' => 'CreateSitePair', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'hdr:CreateSitePair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Progress' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '8F8A2274-F2A5-5782-89A0-7FA442BFA16B', - ], - 'UpdatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1636452195', - ], - 'StatusCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'hdr.task.TestFailoverTask.waitStartFailover', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'hdr.task.name.TestFailoverTask', - ], - 'TaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 't-000bzkmmlwh57miq4mwh', - ], - 'Content' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'CreatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1646100927', - ], - ], + [ + 'apiName' => 'DeleteRecoveryPlan', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'hdr:DeleteRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Progress\\": 100,\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8F8A2274-F2A5-5782-89A0-7FA442BFA16B\\",\\n \\"UpdatedTime\\": 1636452195,\\n \\"StatusCode\\": \\"hdr.task.TestFailoverTask.waitStartFailover\\",\\n \\"Code\\": \\"200\\",\\n \\"Name\\": \\"hdr.task.name.TestFailoverTask\\",\\n \\"TaskId\\": \\"t-000bzkmmlwh57miq4mwh\\",\\n \\"Content\\": \\"-\\",\\n \\"CreatedTime\\": 1646100927\\n}","type":"json"}]', - ], - 'DescribeSitePairStatistics' => [ - 'summary' => '查询站点对统计信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeSitePairs', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeSitePairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrEJMNXE', - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', + [ + 'apiName' => 'Failback', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:Failback', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SitePairId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 's-0005qxusucbp8acutbrv', + [ + 'apiName' => 'DescribeServers', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'hdr:DescribeServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C0D9AAEE-8A21-5693-BCBD-8548914E4F3B', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'PrimarySiteGatewayInfo' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'GatewayId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'gw-000bzkmmlwgzptnzsdnh', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'HeartbeatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1642562996', - ], - ], - ], - 'SecondarySiteGatewayInfo' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'GatewayId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'gw-0005qxusucbigzug9wpe', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'HeartbeatedTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1642562996', - ], - ], - ], - 'PrimarySiteServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'server' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AgentVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '30.42.105.6', - ], - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000c2rz7q8tkc0g4xgao', - ], - ], - ], - ], - ], - ], - 'SecondarySiteServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'server' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AgentVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3.7.3', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '192.168.1.4', - ], - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000ikcyl8ucxtxl5f7pi', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeServer', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'hdr:DescribeServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"C0D9AAEE-8A21-5693-BCBD-8548914E4F3B\\",\\n \\"Success\\": true,\\n \\"PrimarySiteGatewayInfo\\": {\\n \\"Status\\": \\"connected\\",\\n \\"GatewayId\\": \\"gw-000bzkmmlwgzptnzsdnh\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"HeartbeatedTime\\": 1642562996\\n },\\n \\"SecondarySiteGatewayInfo\\": {\\n \\"Status\\": \\"connected\\",\\n \\"GatewayId\\": \\"gw-0005qxusucbigzug9wpe\\",\\n \\"Version\\": \\"3.7.3\\",\\n \\"HeartbeatedTime\\": 1642562996\\n },\\n \\"PrimarySiteServers\\": {\\n \\"server\\": [\\n {\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"IpAddress\\": \\"30.42.105.6\\",\\n \\"ServerId\\": \\"sr-000c2rz7q8tkc0g4xgao\\"\\n }\\n ]\\n },\\n \\"SecondarySiteServers\\": {\\n \\"server\\": [\\n {\\n \\"AgentVersion\\": \\"3.7.3\\",\\n \\"ConnectionStatus\\": \\"connected\\",\\n \\"IpAddress\\": \\"192.168.1.4\\",\\n \\"ServerId\\": \\"sr-000ikcyl8ucxtxl5f7pi\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'DescribeSummary' => [ - 'summary' => '查询概览', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ReversedDisableReplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ReversedDisableReplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeRecoveryPlan', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhdrKVSJIZ', - 'FEATUREhdrEJMNXE', - 'FEATUREhdrE49XN0', - 'FEATUREhdrF01CKY', + 'ramAction' => [ + 'action' => 'hdr:DescribeRecoveryPlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'DE78056B-E82A-52FD-BF5E-F737D8B63845', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - 'ServerCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'TotalSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'successful', - ], - 'DbServerCount' => [ - 'description' => '-', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '-', - ], - 'SiteCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'ReplicationDetails' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'WarningServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'warningServer' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000fzufp79icz33l4pak', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp1a4374akk4527gbt9x', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-000bzkmmlwh5riquud19', - ], - 'Rpo' => [ - 'description' => 'RPO', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'replicating', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - ], - ], - ], - ], - ], - 'CriticalServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'criticalServer' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-0005qxusucb0fqqdf4ba', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp1a4374akk4527gbt9x', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-0005qxusucbii3ba2uve', - ], - 'Rpo' => [ - 'description' => 'RPO', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'replicating', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - ], - ], - ], - ], - ], - 'NotApplicableServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'notApplicableServer' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sr-000iji78mxxc93yldd2e', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-bp1a4374akk4527gbt9x', - ], - 'SitePairId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-000bzkmmlwh5riquud19', - ], - 'Rpo' => [ - 'description' => 'RPO', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '40', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'replicating', - ], - 'ConnectionStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'connected', - ], - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'ChangeRecoveryPoint', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'hdr:ChangeRecoveryPoint', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'HDR', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE78056B-E82A-52FD-BF5E-F737D8B63845\\",\\n \\"Success\\": true,\\n \\"ServerCount\\": 2,\\n \\"TotalSize\\": 10,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"DbServerCount\\": 0,\\n \\"SiteCount\\": 4,\\n \\"ReplicationDetails\\": {\\n \\"WarningServers\\": {\\n \\"warningServer\\": [\\n {\\n \\"ServerId\\": \\"sr-000fzufp79icz33l4pak\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-000bzkmmlwh5riquud19\\",\\n \\"Rpo\\": 30,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n },\\n \\"CriticalServers\\": {\\n \\"criticalServer\\": [\\n {\\n \\"ServerId\\": \\"sr-0005qxusucb0fqqdf4ba\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-0005qxusucbii3ba2uve\\",\\n \\"Rpo\\": 30,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n },\\n \\"NotApplicableServers\\": {\\n \\"notApplicableServer\\": [\\n {\\n \\"ServerId\\": \\"sr-000iji78mxxc93yldd2e\\",\\n \\"InstanceId\\": \\"i-bp1a4374akk4527gbt9x\\",\\n \\"SitePairId\\": \\"s-000bzkmmlwh5riquud19\\",\\n \\"Rpo\\": 40,\\n \\"Status\\": \\"replicating\\",\\n \\"ConnectionStatus\\": \\"connected\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'hdr.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'hdr.cn-zhangjiakou.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; |
